diff options
Diffstat (limited to 'npc/re')
191 files changed, 63893 insertions, 0 deletions
diff --git a/npc/re/airports/izlude.txt b/npc/re/airports/izlude.txt new file mode 100644 index 000000000..f7a16147b --- /dev/null +++ b/npc/re/airports/izlude.txt @@ -0,0 +1,14 @@ +//===== rAthena Script ======================================= +//= Izlude Airport NPCs +//===== By: ================================================== +//= rAthena Dev Team +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Izlude Airport NPCs +//===== Additional Comments: ================================= +//= Official NPCs. +//= Updated to match the new Izlude Map. [Masao] +//============================================================ + +izlude,204,75,3 duplicate(Airship_Staff_izlude) Airship Staff#izlude 90 diff --git a/npc/re/cities/alberta.txt b/npc/re/cities/alberta.txt new file mode 100644 index 000000000..a0a417510 --- /dev/null +++ b/npc/re/cities/alberta.txt @@ -0,0 +1,42 @@ +//===== rAthena Script ======================================= +//= Alberta Town Renewal +//===== By: ================================================== +//= Euphy +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Alberta town NPCs. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//============================================================ + +// cities/amatsu.txt +//============================================================ +alberta,246,74,3 duplicate(Sea_Captain_amatsu) Sea Captain#ama1 709 + +// cities/ayothaya.txt +//============================================================ +alberta,246,29,3 duplicate(Aibakthing_ayothaya) Aibakthing#ayo 843 + +// cities/gonryun.txt +//============================================================ +alberta,246,62,3 duplicate(Kunlun_Envoy_gonryun) Kunlun Envoy#gon 776 + +// cities/louyang.txt +//============================================================ +alberta,246,40,3 duplicate(Girl_louyang) Girl#0lou 815 + +// cities/moscovia.txt +//============================================================ +alberta,246,51,4 duplicate(PR_Officer_moscovia) Moscovia P.R. Officer#1 960 + +// quests/quests_alberta.txt +//============================================================ +alberta,244,118,4 duplicate(Sailor_alberta) Sailor#tur 709 +alberta,246,114,4 duplicate(Turtle_Scholar_alberta) Turtle Island Scholar 121 + +// quests/skills/merchant_skills.txt +//============================================================ +alberta,232,103,6 duplicate(Gershaun_alberta) Gershaun 57 diff --git a/npc/re/cities/brasilis.txt b/npc/re/cities/brasilis.txt new file mode 100644 index 000000000..389c5863f --- /dev/null +++ b/npc/re/cities/brasilis.txt @@ -0,0 +1,166 @@ +//===== rAthena Script ======================================= +//= Brasilis Town +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Brasilis Town Script +//===== Additional Comments: ================================= +//= 1.0 First version. Transportation and Basic NPCs. +//= 1.1 Fixed Zeny not being removed for payment. [Kisuka] +//= 1.2 Updated dialog, added Ice Cream Maker. [L0ne_W0lf] +//= 1.3 Moved Alberta NPC to pre-re/re paths. [Euphy] +//============================================================ + +/* Pre-Renewal coordinates: alberta,247,115,3 */ +alberta,246,82,3 script Crewman#bra2 100,{ + mes "[Crewman]"; + mes "Hey, have you heard of a place called Brasilis?"; + mes "It's a tropical city that's hot like the desert but also rainy. It is a very mysterious place."; + next; + mes "[Crewman]"; + mes "We recently found a new ocean route to get there easily."; + mes "It's just 10,000 zeny for a round trip! So do you want to go?"; + next; + switch(select("Take me to Brasilis!:I'll stay here.")) { + case 1: + if (Zeny > 9999) { + mes "[Crewman]"; + mes "Cool~!! Let's go~!"; + set zeny,zeny-10000; + close2; + warp "brasilis",314,60; + end; + } + else { + mes "[Crewman]"; + mes "I said 10,000 zeny."; + close; + } + case 2: + mes "[Crewman]"; + mes "Well if you're ever interested, let me know and I can take you there."; + close; + } +} + +brasilis,316,57,3 script Crewman#bra1 100,{ + mes "[Crewman]"; + mes "My ship is going to back to Alberta, do you want to join us?"; + next; + switch(select("Go back to Alberta.:Not yet~.")) { + case 1: + mes "[Crewman]"; + mes "I sure do miss home."; + close2; + if (checkre(0)) + warp "alberta",243,82; + else + warp "alberta",244,115; + end; + case 2: + mes "[Crewman]"; + mes "Ok, suit yourself. We'll see you when we get back then."; + close; + } +} + +brasilis,155,165,3 script Signpost#bra1 858,{ + mes ":: Art Museum ::"; + close; +} + +brasilis,195,231,3 script Signpost#bra2 858,{ + mes ":: Verass Monument ::"; + close; +} + +brasilis,240,247,3 script Signpost#bra3 858,{ + mes ":: Market ::"; + mes " "; + mes "- For your Potions and Weaponry -"; + close; +} + +brasilis,303,309,3 script Signpost#bra4 858,{ + mes ":: Jungle Cable ::"; + mes ""; + mes "- Not for the faint of heart -"; + close; +} + +brasilis,278,137,3 script Signpost#bra5 858,{ + mes ":: Brasilis Hotel ::"; + close; +} + +brasilis,137,77,5 script Ice-Cream Maker 85,{ + mes "[Ice Cream Maker]"; + mes "Come~come~"; + mes "Ice cream is the perfect snack for a hot day~"; + mes "It's just ^3355FF100 Zeny^000000~"; + mes "Ice Cream~"; + mes "Get 'yer Ice Cream!"; + next; + switch(select("Give me one!:Ice Cream?:Cancel.")) { + case 1: + mes "[Ice Cream Maker]"; + mes "Since there are so many people want to get a cool ice cream you can order only 5 at a time."; + mes "So how many d'ya want?"; + next; + while(1) { + input .@input; //,1,5; + if (.@input == 0) { + mes "[Ice Cream Maker]"; + mes "None?"; + mes "Fine get outta the way, I have customers to serve."; + close; + } + else if ((.@input < 0) || (.@input > 5)) { + mes "[Ice Cream Maker]"; + mes "Wow."; + mes "You ordered too much."; + mes "If you eat over 5 you might need to fight with a monster in your stomach. Calm down buddy."; + next; + } + else + break; + } + set .@icecream_hap,.@input*100; + if (Zeny < .@icecream_hap) { + mes "[Ice Cream Maker]"; + mes "Dood~! You don't have enough money."; + mes "It's only ^3355FF100 Zeny^000000~ Seriously!"; + close; + } + if (!checkweight(536,.@input)) { + mes "[Ice Cream Maker]"; + mes "You seem to have too much stuff."; + mes "Lighten your pack before buying this."; + close; + } + set zeny,zeny-.@icecream_hap; + getitem 536,.@input; //Ice_Cream + close; + case 2: + mes "[Ice Cream Maker]"; + mes "'Ice cream is..."; + mes "Wait, don't you know"; + mes "what Ice Cream is?"; + mes "What rock have you"; + mes "been living under?"; + next; + mes "[Ice Cream Maker]"; + mes "I'm not going to even start with how weird that sounds."; + mes "Anyway, get 'yer Ice Cream right here while it's nice and cold."; + close; + case 3: + mes "[Ice Cream Maker]"; + mes "Don't miss your chance to eat the greatest Ice Cream in all the land~!"; + close; + } +} diff --git a/npc/re/cities/dewata.txt b/npc/re/cities/dewata.txt new file mode 100644 index 000000000..245de2d80 --- /dev/null +++ b/npc/re/cities/dewata.txt @@ -0,0 +1,1160 @@ +//===== rAthena Script ======================================= +//= Dewata Town +//===== By: ================================================== +//= Gennosuke Kouga +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Dewata Town Script +//===== Additional Comments: ================================= +//= 1.0 First version. +//= 1.1 Standardized. [Euphy] +//= 1.2 Fixed Zeny check. [Joseph] +//============================================================ + +dewata,181,88,6 script Young Man#dewata 536,{ + mes "[Young Man]"; + mes "Isn't ^C35817Dewata^000000 beach"; + mes "really beautiful?"; + mes "The children always play"; + mes "at this beach; it really"; + mes "reminds me of my youth."; + next; + mes "[Young Man]"; + mes "In the evening, you can see"; + mes "fireworks from this beach."; + mes "With the ocean breeze, the crashing waves, and fireworks lighting"; + mes "the sky, the night is a time of beauty here!"; + close; +} + +dewata,159,81,4 script Tourist#dewata 881,{ + mes "[Nasolo]"; + mes "Wow~ Pure ocean, a warm beach..."; + mes "Perfect for a date with a girlfriend.."; + next; + emotion e_sob; + mes "[Nasolo]"; + mes "If only I had one..."; + next; + emotion e_ohnoes; + mes "[Nasolo]"; + mes "I wonder when my princess will come.."; + close; +} + +dewata,154,107,4, script Sightseer#dewata 86,{ + mes "[Tourist]"; + mes "Wow..."; + mes "How many has he already eaten?"; + close; +} + +dewata,147,107,5 script Gourmet#dewata 85,{ + emotion e_sob; + mes "[Gourmet]"; + mes "Oh.. it's like a party in my"; + mes "mouth... and everyone's invited!"; + next; + emotion e_no1; + emotion e_sob,0,"Restauranteur#dewata"; + mes "[Gourmet]"; + mes "Master~ One more please~"; + next; + mes "[Gourmet]"; + mes "You must try this! The Food here is succulent~"; + close; +} + +dewata,146,109,5 script Restauranteur#dewata 886,{ + set .@n$, "[Restauranteur]"; + mes .@n$; + mes "Welcome to the island of Dewata."; + mes "I hope you behave like a noble"; + mes "traveler, unlike some of these"; + mes "teenage punks.."; + next; + switch(select("About Dewata dishes:Today's menu?:I'm okay.")) { + case 1: + mes .@n$; + mes "Need info about our foods? Well..."; + mes "I don't have much to talk about,"; + mes "but feel free to listen if you want."; + next; + mes .@n$; + mes "So much to cover, let me begin."; + next; + mes .@n$; + mes "First, Dewata dishes have special"; + mes "names based on each cooking recipe."; + next; + mes .@n$; + mes "If dish name has 'Goreng' in it,"; + mes "then it is either stir or deep"; + mes "fried food."; + next; + mes .@n$; + mes "If it is a type of 'Bakar', then"; + mes "it is a grilled food."; + next; + mes .@n$; + mes "And if it's 'Satay', then you are"; + mes "eating a skewered dish."; + next; + mes .@n$; + mes "Second, we have dishes named after"; + mes "basic ingredients."; + next; + mes .@n$; + mes "In Dewata island, we refer to rice"; + mes "as Nasi, noodle as Mie, bread as"; + mes "Roti, chicken as Ayam, fish as"; + mes "Ikan, and corn as Jagung."; + next; + mes .@n$; + mes "So, if rice is fried we call it"; + mes "'Nasi Goreng', and fried noodle is"; + mes "'Mie Goreng'."; + next; + mes .@n$; + mes "Well.. This is enough to enjoy our"; + mes "foods in Dewata! If you are"; + mes "hungry, we have our special set"; + mes "menu for only ^0000FF5000^000000 Zeny."; + close; + case 2: + mes .@n$; + mes "We have 2 items, 'Nasi Goreng' and"; + mes "'Satay'. Which one do you want?"; + next; + if(select("Nasi Goreng:Satay")==2) { + mes .@n$; + mes "This is the Satay, a slice of meat"; + mes "skewered and grilled over Palm"; + mes "fruit charcoal. It costs only ^0000FF5000^000000 Zeny."; + next; + if(select("Taste:Walk away")==2) { + mes .@n$; + mes "It's a shame you won't taste this great dish.."; + close; } + if (Zeny < 5000) { + mes .@n$; + mes "Where's the money, kid? Sheesh!"; + mes "No free food here! Ok?"; + close; } + mes .@n$; + mes "Here's your Satay, you won't"; + mes "regret it!"; + getitem 11533,1; + set Zeny, Zeny-5000; + close; } + mes .@n$; + mes "This is Nasi Goreng fried with my"; + mes "special sauce and egg fry on the"; + mes "top. It only costs ^0000FF5000^000000 Zeny."; + next; + if(select("Taste:Walk away")==2) { + mes .@n$; + mes "It's a shame you won't taste this great dish.."; + close; } + if (Zeny < 5000) { + mes .@n$; + mes "Where's the money, kid? Sheesh!"; + mes "No free food here! Ok?"; + close; } + mes .@n$; + mes "Here's your Nasi Goreng. You won't"; + mes "regret it!"; + getitem 11532,1; + set Zeny, Zeny-5000; + close; + case 3: + mes .@n$; + mes "Are you serious? This is not even funny."; + close; + } +} + +dewata,165,103,5 script Adventurer Semangat 534,{ + mes "[Adventurer Semangat]"; + mes "I also traveled around the world"; + mes "when I was young like you."; + mes "^FF0000Moneky, Cuttlefish"; + mes "Eagle, and Snake^000000,"; + mes "All were good friends I met"; + mes "during my travels."; + next; + mes "[Adventurer Semangat]"; + mes "I still have passion for adventure"; + mes "and traveling."; + mes "But, I can't just leave"; + mes "my beloved wife and"; + mes "grandchildren behind..."; + next; + mes "[Adventurer Semangat]"; + mes "You will also have something"; + mes "or someone that is as precious"; + mes "in your heart someday."; + close; +} + +dewata,139,114,5 script Old Wife#dewata 535,{ + mes "[Semangat's Wife]"; + mes "Where's that old man"; + mes "gone off to again?"; + mes "Have you seen my husband around?"; + next; + if(select("I think I saw him there!:No, I haven't...")==2) { + mes "[Semangat's Wife]"; + mes "Oh. Please let me know"; + mes "if you ever see him around."; + close; } + mes "[Semangat's Wife]"; + mes "He ran away when I was"; + mes "looking for him. He should"; + mes "be somewhere, telling tall tales"; + mes "to some travelers, like always."; + next; + mes "[Semangat's Wife]"; + mes "I apologize on behalf of"; + mes "my husband. Please don't"; + mes "believe his foolish stories,"; + mes "saying he met with ^FF0000Monkey and"; + mes "Snakes^000000, or that he fought alongside a ^FF0000Cuttlerfish^000000."; + next; + mes "[Semangat's Wife]"; + mes "He has been living here"; + mes "for entire life."; + mes "Yet, he always finds some"; + mes "travelers who will listen to his made-up tales."; + close; +} + +dewata,249,87,4 script Mum#dewata 101,{ + mes "[Mum]"; + mes "Ukki~ Ukki~ Where did she go?"; + close; +} + +dewata,251,85,5 script Poppa#dewata 97,{ + mes "[Poppa]"; + mes "Honey, is Ukki lost again?"; + close; +} + +dewata,227,129,4 script Sarr#dewata 538,{ + mes "[Sarr]"; + mes "They're hiding so I should seek."; + mes "I'll find them for sure!~"; + next; + mes "[Sarr]"; + mes "One~"; + next; + mes "[Sarr]"; + mes "Two~ Three~"; + next; + mes "[Sarr]"; + mes "Four~ Five~ Six~"; + next; + mes "[Sarr]"; + mes "... ... ... ..."; + next; + mes "[Sarr]"; + mes "Ninty nine~ One hundred!!! Now I'm coming~"; + close; +} + +dewata,193,145,4 script Sipo#dewata 538,{ + mes "[Sipo]"; + mes "Sarr won't find me here, right?"; + next; + emotion e_omg,1; + emotion e_gg; + mes "[Sipo]"; + mes "I found Siyak!! Come out, come out!!"; + next; + mes "[Sipo]"; + mes "Hehe~ Now Siyak is IT~ I'll just keep hiding in here."; + close; +} + +dewata,228,177,4 script Majya#dewata 538,{ + mes "[Majya]"; + mes "I was playing hide-and-seek with my friends..."; + next; + emotion e_hmm; + mes "[Majya]"; + mes "I've been just standing here, and"; + mes "they haven't found me for 3 hours..."; + next; + mes "[Majya]"; + mes "What should I do? Come out? I"; + mes "don't want to be IT!"; + close; +} + +dewata,269,208,5 script Little Kid in Town 538,{ + mes "[Kid]"; + mes "Hey bro, look at that man!"; + next; + mes "[Kid]"; + mes "He's been lying there for a week doin' nothin'..."; + next; + mes "[Kid]"; + mes "Who IS that man?"; + next; + mes "[Kid]"; + mes "I sure don't want to be a lazybones like him when I grown up."; + close; +} + +dewata,279,213,4 script Tourist#dewata-1 887,{ + mes "[Reclining Tourist]"; + mes "Wow~ This is really comfy~"; + next; + mes "[Reclining Tourist]"; + mes "I'm having a great time just relaxing."; + next; + mes "[Reclining Tourist]"; + mes "You should lie down here, too."; + mes "Once you do, you'll never want to get up."; + next; + emotion e_heh; + mes "[Reclining Tourist]"; + mes "That's why I haven't moved in a"; + mes "whole week! Hahahaha~"; + close; +} + +dewata,280,236,5 script Settler#dewata 726,{ + mes "[Settler]"; + mes "I'm not really from ^C35817Dewata^000000."; + mes "But while traveling,"; + mes "I found this place..."; + mes "and made my decision"; + mes "to live in this beautiful town."; + next; + mes "[Settler]"; + mes "I've been happy to live here,"; + mes "to find and experience"; + mes "all these beautiful sights."; + mes "It's a dream come true!"; + next; + mes "[Settler]"; + mes "Would you ever think of settling here too?"; + close; +} + +dewata,221,237,5 script Young Man#dewata-2 536,{ + set .@n$, "[Fruit Fancier]"; + mes .@n$; + mes "What's wrong with your faaaaaace?"; + mes "You must really be clueless!"; + next; + mes .@n$; + mes "Let me drop some knowledge on ya."; + next; + mes .@n$; + mes "I may be a youngling, but no one"; + mes "knows more than I do about ^C7A317Palm"; + mes "Fruit^000000. All right! What do you want to know?"; + next; + switch(select("About the shell...:About the pulp...:About the palm kernel...:No thanks.")) { + case 1: + mes .@n$; + mes "So you want to know about Palm"; + mes "Fruit's pulp? Let me explain."; + next; + mes .@n$; + mes "Normally Palm Fruit's shell is"; + mes "used for making oil. Palm Oil is a"; + mes "useful ingredient for many dishes."; + next; + mes .@n$; + mes "If you want to know how to use"; + mes "Palm Oil, go and find Memo on the"; + mes "north side of Dewata island. Every"; + mes "day he makes traditional drinks with Palm Oil."; + next; + mes .@n$; + mes "Anyway, we refer to the oil that"; + mes "comes from the Palm Fruit as Palm"; + mes "Oil or Coconut Oil, which is well"; + mes "known for its quality."; + next; + mes .@n$; + mes "The leftovers from oil production"; + mes "get dried, and are used for fuel"; + mes "in cooking or heating."; + next; + mes .@n$; + mes "It burns well and has a good smell. It can't get better than that."; + next; + mes .@n$; + mes "Ok!! That is all about pulp!"; + mes "It takes too long to explain all"; + mes "the useful effects of Palm Fruit shells."; + next; + mes .@n$; + mes "It's not like this is extent of"; + mes "my knowledge. Don't get me wrong!"; + close; + case 2: + mes .@n$; + mes "So, you want to know about the"; + mes "Palm interior? Let me explain."; + next; + mes .@n$; + mes "Palm tree fruit has 2 layers of"; + mes "pulp. The outside is very rough,"; + mes "and the inside is smooth."; + next; + mes .@n$; + mes "Hmm... Yes! The pulp of the Palm"; + mes "tree fruit is a little harder than"; + mes "a walnut shell. It must be the"; + mes "water that it contains inside."; + next; + mes .@n$; + mes "Inside of the shell, there's about"; + mes "300cc water, which is useful in"; + mes "quenching people's thirst since"; + mes "Dewata island has very hot weather."; + next; + mes .@n$; + mes "And it's not like we just throw it"; + mes "away one we drink the water inside!!"; + next; + mes .@n$; + mes "We can also make a quality canteen"; + mes "out of it! Like i said, it has a"; + mes "really thick outer shell, enough"; + mes "to act as water bottle."; + next; + mes .@n$; + mes "It is also great to make charcoal."; + mes "Charcoal made out of palm fruit is"; + mes "well known for long-lasting and"; + mes "quality fire."; + next; + mes .@n$; + mes "People love to cook seafood and"; + mes "chicken with Palm Fruit charcoal."; + next; + mes .@n$; + mes "It has the extra bonus of"; + mes "burning with a pleasant palm smell."; + next; + mes .@n$; + mes "Ok!! That is all for pulp"; + mes "information. It takes too long to"; + mes "explain all the useful effects."; + next; + mes .@n$; + mes "It's not like this is all I know."; + mes "Don't get me wrong!"; + close; + case 3: + mes .@n$; + mes "So, you want to know about tender"; + mes "kernel inside? Let me explain."; + next; + mes .@n$; + mes "Ther kernel inside of the hard pulp is used as a natural digestive."; + next; + mes .@n$; + mes "Not much to say about the kernel inside..."; + next; + mes .@n$; + mes "But we do make sure to use every"; + mes "part of the palm fruit."; + next; + mes .@n$; + mes "Wouldn't you argee?"; + close; + case 4: + mes .@n$; + mes "Argh! You have no interest in the world!"; + close; + } +} + +dewata,245,244,4 script Lodge Employee 536,{ + mes "[Lodge Employee]"; + mes "Argg~ This is really ticking me off!"; + close; +} + +dewata,204,230,5 script Dieting Lady 537,{ + + if (!countitem(11533)) { + mes "[Dieting Lady]"; + mes "Ah~ I'm starving!!"; + mes "I should be on a diet now."; + mes "Why am I hungry?"; + next; + mes "[Dieting Lady]"; + mes "Don't talk to me too much!!"; + mes "I want to try that grilled ^348017Satay^000000"; + mes "so much~!!!!!"; + close; } + mes "[Dieting Lady]"; + mes "Is that mouth-watering"; + mes "^348017Satay^000000 for me?"; + next; + if(select("Yes, want a taste?:No, it's for me!")==2) { + emotion e_pif; + mes "[Dieting Lady]"; + mes "Argh... You are so greedy!"; + mes "Since you don't want to share..."; + mes "I shouldn't cheat on my diet"; + mes "even for something that looks and"; + mes "smells so good..."; + close; } + mes "[Dieting Lady]"; + mes "Thank you so much!!"; + mes "I've been so hungry~!!"; + mes "The smell of this ^348017Satay^000000"; + mes "is so good~!"; + delitem 11533,1; + next; + getitem 11533,1; + mes "[Dieting Lady]"; + mes "Ah... gotta come back to my senses."; + mes "Too much of a good thing is bad..."; + mes "I should stick with my diet."; + mes "Sorry, I'll give it back to you."; + close; +} + +dewata,179,204,4 script Young Lady#dewata 537,{ + mes "[Young Lady]"; + mes "When you are outside of the town"; + mes "and meet ^FF0000Tiger, Monkey, or Pig^000000,"; + mes "make sure avoid them."; + next; + select("What do you mean?"); + mes "[Young Lady]"; + mes "I haven't seen yet,"; + mes "but legend says there's a"; + mes "cruel monster named ^FF0000Leak^000000"; + mes "which can transform into an animal"; + mes "and hypnotize people into killing."; + next; + mes "[Young Lady]"; + mes "You know the dangers of this world."; + mes "It never hurts to be careful,"; + mes "even if it's just an urban legend."; + close; +} + +dewata,144,216,4 script Energetic Kid 538,{ + mes "[Energetic Kid]"; + mes "My parents used to tell me..."; + next; + mes "[Energetic Kid]"; + mes "^348017- Son, -"; + mes "- You should study hard. -"; + mes "- Be happy. -"; + mes "- Live a slow -"; + mes "- and safe life. -"; + mes "- The moutain over yonder -"; + mes "- will always be there for you. -^000000"; + next; + mes "[Energetic Kid]"; + mes "Isn't it a great philosophy?"; + mes "I want to live that way"; + mes "and become a great person,"; + mes "and help all of the people in our"; + mes "town live happily ever after!"; + close; +} + +dewata,117,156,5 script Dreaming Kid 538,{ + mes "[Dreaming Kid]"; + mes "My granny says"; + mes "there was once a bird named ^FF0000Garuda^000000"; + mes "who flew above this town."; + mes "Afterwards we had some great harvests"; + mes "and were able to live happily."; + next; + mes "[Dreaming Kid]"; + mes "I want to see that bird"; + mes "flying above our town again!"; + mes "Then my mom, dad"; + mes "granny, and grandpa"; + mes "can be happy like the old times."; + mes "What do you think?"; + close; +} + +dewata,211,272,4 script Lodge Owner 534,{ + mes "[Lodge Owner]"; + mes "These days we have many"; + mes "honeymooners visiting us."; + next; + mes "[Lodge Owner]"; + mes "It must be the beautiful scenery, right?"; + next; + mes "[Lodge Owner]"; + mes "I'm happy with my business. I hope"; + mes "we have a lot more visitors like that."; + next; + mes "[Lodge Owner]"; + mes "Ah! You should bring your lover to"; + mes "Dewata on your honeymoon."; + mes "I'll give you a good price~"; + close; +} + +dewata,233,263,7 script Sweet Married Couple#1 828,{ + emotion e_kis; + mes "[Sweet Husband]"; + mes "You are the most beautiful thing in"; + mes "the world, baby~"; + next; + emotion e_kis2; + mes "[Sweet Wife]"; + mes "Really? I'm that beautiful? I love"; + mes "you, honey~"; + next; + emotion e_heh; + emotion e_heh,1,"Sweet Married Couple#2"; + mes "[Sweet Married Couple]"; + mes "Hahahahahahahahahahahahahahahahahah"; + mes "ahahahahahahahahahahahahahahahahahaha"; + mes "Hohohohohohohohohohohohohohohohohoh"; + mes "ohohohohohohohohohohohohohohohohohoho"; + next; + mes "[Sweet Husband]"; + mes "Come on now, I'm growing tired of this. Let's go."; + close; +} + +dewata,234,263,7 script Sweet Married Couple#2 727,{ + emotion e_what; + mes "[Sweet Wife]"; + mes "Baby~ You know what flower that is~?"; + next; + mes "[Sweet Husband]"; + mes "Hmm? I don't know. But it's really pretty."; + next; + emotion e_what; + mes "[Sweet Wife]"; + mes "Baby~ Who's prettier, me or the flower?"; + next; + emotion e_kis; + mes "[Sweet Husband]"; + mes "No matter how pretty the flower is,"; + mes "you are always more beautiful~"; + next; + emotion e_kis2; + mes "[Sweet Wife]"; + mes "Really? I'm that pretty? I love you, sweetie~"; + next; + emotion e_heh; + emotion e_heh,1,"Sweet Married Couple#1"; + mes "[Sweet Married Couple]"; + mes "Hahahahahahahahahahahahahahahahahah"; + mes "ahahahahahahahahahahahahahahahahahaha"; + mes "Hohohohohohohohohohohohohohohohohoh"; + mes "ohohohohohohohohohohohohohohohohohoho"; + next; + mes "[Sweet Wife]"; + mes "Come on now, this bores me. Let's move on."; + close; +} + +dewata,278,281,4 script Happily Married Grandpa 534,{ + mes "[Happily Married Grandpa]"; + mes "Today, I should ask my lady to"; + mes "cook me some ^348017fried rice^000000."; + next; + mes "[Happily Married Grandpa]"; + mes "My wife's ^348017fried rice^000000 is"; + mes "always very special!"; + next; + emotion e_lv; + mes "[Happily Married Grandpa]"; + mes "It makes me love her even more."; + mes "You can't imagine the wonderful flavor!"; + close; +} + +dewata,280,277,4 script Happily Married Grandma 535,{ + emotion e_swt2; + mes "[Happily Married Grandma]"; + mes "In my younger days,"; + mes "there were many gentleman"; + mes "who wanted to court me."; + next; + mes "[Happily Married Grandma]"; + mes "Yet, I met just the right guy,"; + mes "and got married."; + mes "I asked what he likes best"; + mes "about me, he said it was"; + mes "my homemade ^348017fried rice^000000."; + next; + mes "[Happily Married Grandma]"; + mes "And since then, he only asks me"; + mes "to make ^348017fried rice^000000 for dinner."; + mes "Over 40 years of marriage and"; + mes "he still doesn't get tired of it."; + next; + emotion e_lv; + mes "[Happily Married Grandma]"; + mes "I always think it was lucky"; + mes "to be growing old with a guy"; + mes "who loves what I cook."; + close; +} + +dewata,114,243,5 script Lazy Young Man 536,1,1,{ + if (countitem(11534)) { + mes "[Lazy Young Man]"; + mes "Wewt~!! Isn't that Palm Juice?"; + mes "Can you give me that? I just woke"; + mes "up, and my throat is parched!"; + next; + if(select("Give:Don't give")==2) { + mes "[Lazy Young Man]"; + mes "So be it~ Ok..."; + close; } + mes "[Lazy Young Man]"; + mes "Really? For me?? I'll give you this in return... Thanks!"; + delitem 11534,1; + // Need more information + if (rand(1,2)==1) getitem 7034,1; // Red Stocking + else getitem 735,1; // Chung Jah + close; } + mes "[Lazy Young Man]"; + mes "Ah~ Thristy~ Anyone have some Palm"; + mes "juice for me?~"; + close; +OnTouch: + if (countitem(11534)) end; + for(set .@i,0; .@i<4; set .@i,.@i+1) { + emotion e_an; + mes "[Lazy Young Man]"; + mes "Arrgg~ I'm thirsty~~ so thirsty~~"; + mes "Give me Palm juice... Palm Juuiice~~"; + if (.@i==3) close; + next; + } +} + +dewata,127,248,5 script Wishing Kid 539,{ + mes "[Wishing Kid]"; + mes "My family has been brewing"; + mes "traditional Dewata Wine for ages."; + mes "I want to drink it myself,"; + mes "but my dad says I'm too young."; + mes "He said I can drink it"; + mes "only after I sleep for over"; + mes "^FF0000100 days^000000."; + next; + mes "[Wishing Kid]"; + mes "All grown-ups love to drink"; + mes "my dad's wine."; + mes "I want to try some so bad."; + mes "But, what should I do...?"; + mes "I've forgotten how many ^FF0000nights^000000"; + mes "I've already slept... boo hoo!"; + close; +} + +dewata,75,122,5 script Monk#dewata-1 834,{ + mes "[Monk]"; + mes "You are stranger here. What"; + mes "brings here to this quiet place?"; + next; + if(select("I'm sightseeing:No reason")==2) { + mes "[Monk]"; + mes "Good day to you..."; + close; } + mes "[Monk]"; + mes "Oh, you are a tourist. This is the"; + mes "'^0000FFPadoga^000000' worshiping the great"; + mes "Buddha. Please be respectful of"; + mes "the monks praying here."; + close; +} + +dewata,71,79,0 script Monk#dewata-2 834,{ + mes "[Monk]"; + mes "This tower is built on the edge of a"; + mes "coastal cliff. You can pray with the"; + mes "cool ocean breeze in your hair."; + next; + mes "[Monk]"; + mes "Come, you should feel the"; + mes "compassion of our Buddha in this"; + mes "pleasant weather."; + close; +} + +dewata,69,101,5 script Monk#dewata-3 834,{ + mes "[Monk]"; + mes "We have the pagoda for the worship of"; + mes "Buddhas. Each temple has one of"; + mes "these towers, though not many"; + mes "people come here besides other monks."; + next; + switch(select("I see...:Explain about Buddhas:Ah, okay.")) { + case 1: + mes "[Monk]"; + mes "You must feel the compassion of our Buddha!"; + close; + case 2: + mes "[Monk]"; + mes "Buddha is our God from Dewata myth,"; + mes "the king of souls and also"; + mes "the leader of good gods."; + next; + mes "[Monk]"; + mes "Buddha is the guardian of souls,"; + mes "often described in traditional"; + mes "Dance fighting against the"; + mes "Magician Rangda."; + next; + mes "[Monk]"; + mes "In Dewata we believe there are many"; + mes "deities protecting each island and"; + mes "tribal locale."; + next; + mes "[Monk]"; + mes "So we do have different"; + mes "manifestations of the Buddha,"; + mes "usually described as a bear, tiger,"; + mes "dragon, snake, or lion."; + next; + mes "[Monk]"; + mes "Great Lion is one of the famous Buddhas"; + mes "worshipped in Dewata."; + next; + mes "[Monk]"; + mes "I hope this was a good explanation"; + mes "for you. Let me know if there is"; + mes "anything else you want to know."; + close; + case 3: + mes "[Monk]"; + mes "Good day to you..."; + close; + } +} + +dewata,67,186,7 script Monk#dewata-4 834,{ + mes "[Monk]"; + mes "I am a monk, content to spend my days in religious study."; + next; + mes "[Monk]"; + mes "I've just returned from a"; + mes "pilgrimage to Borobudur temple with"; + mes "my fellow monks..."; + next; + mes "[Monk]"; + mes "Borobudur temple has many pilgrims"; + mes "visiting, since it is one of few"; + mes "temples left worshipping the"; + mes "Great Buddha."; + close; +} + +dewata,65,188,7 script Monk#dewata-5 834,{ + mes "[Monk]"; + mes "Borobudur temple is one of few"; + mes "temples left worshipping the"; + mes "Great Buddha."; + next; + mes "[Monk]"; + mes "I' don't understand why there are"; + mes "only a few temples left that follow"; + mes "our ways..."; + close; +} + +dewata,63,190,7 script Monk#dewata-6 834,{ + mes "[Monk]"; + mes "Are you a Tourist? You can make an"; + mes "offering and a wish to one of the shrines."; + next; + mes "[Monk]"; + mes "Our Great Buddha may grant your wish..."; + close; +} + +dewata,61,192,7 script Monk#dewata-7 834,{ + mes "[Monk]"; + mes "Our Great Buddha is the king of"; + mes "souls and the leader of all good gods."; + next; + mes "[Monk]"; + mes "The Dewata tribes believe in"; + mes "Buddha, but the strange thing is how they"; + mes "all describe Buddha as different creatures."; + next; + mes "[Monk]"; + mes "I'm not really sure about the"; + mes "reason for that. Maybe because"; + mes "there are many different tribes in"; + mes "Dewata with different characteristics."; + close; +} + +dewata,89,191,0 script Small Shrine#A::DewShrine 111,{ + mes "- There is a small shrine here. -"; + mes "There are many people making wishes."; + next; + switch(select("Make a donation:Make a wish:Walk away.")) { + case 1: + mes "Donation case says:"; + mes "^FF00001,000 ~ 100,000 Zeny^000000"; + mes "How much you want to donate?"; + next; + input .@donate,0,100000; + if (.@donate < 1000) { + mes "- Cancelled. -"; + close; } + if (.@donate > Zeny) { + mes "- Not enough Zeny. -"; + close; } + mes "- What do you wish for? -"; + next; + input .@wish$; + mes "You have donated to the small shrine and made the wish ^0000FF"+.@wish$+"^000000."; + next; + set Zeny, Zeny-.@donate; + specialeffect EF_FLASHER; + mes "- Mysterious energy comes out from the shrine. -"; + next; + skilleffect 34,0; sc_start SC_BLESSING,360000,10; + mes "- You have received the shrine's blessing. -"; + next; + mes "- It feels like this wish could come true. -"; + close; + case 2: + mes "- What is your wish? -"; + next; + input .@wish$; + mes "- You have made your wish for ^0000FF"+.@wish$+"^000000 at this small shrine. -"; + next; + specialeffect EF_FLASHER; + mes "- Mysterious energy comes out from the shrine. -"; + next; + skilleffect 34,0; sc_start SC_BLESSING,60000,1; + mes "- You have received the shrine's blessing. -"; + next; + mes "- It feels like this wish could come true. -"; + close; + case 3: + close; + } +} + +dewata,89,212,0 duplicate(DewShrine) Small Shrine#B 111 +dewata,68,212,0 duplicate(DewShrine) Small Shrine#C 111 +dewata,68,191,0 duplicate(DewShrine) Small Shrine#D 111 + +dewata,78,192,5 script Borobudur Temple Manager 536,{ + mes "[Borobudur Temple Manager]"; + mes "The weather today is so beautiful."; + if (checkquest(9164)>=0 && countitem(11533)) { + next; + mes "[Borobudur Temple Manager]"; + mes "By the way, do you have"; + mes "something to tell me...?"; + next; + select("^0000FFTribal Chief Paiko^000000"); + mes "[Borobudur Temple Manager]"; + mes "I never knew such a thing had"; + mes "happened. If you had told me in"; + mes "advance, I could have helped at"; + mes "least a little bit."; + mes "Still, things have gone well with your help."; + next; + mes "[Borobudur Temple Manager]"; + mes "Ah, it is the ^4AA02CSatay^000000 that I"; + mes "sampled when the tribe invited me some time ago."; + next; + mes "[Borobudur Temple Manager]"; + mes "Good~ This is the same taste I"; + mes "remember. To give my thanks"; + mes "I will pass along story"; + mes "that may interest you."; + next; + mes "[Borobudur Temple Manager]"; + mes "Legend tells of a strange bird"; + mes "called ^FF0000Garuda^000000."; + mes "It has the torso, arms and legs of"; + mes "a human but has the head and beak"; + mes "of an eagle."; + next; + mes "[Borobudur Temple Manager]"; + mes "The Story of this bird describes"; + mes "it helping the gods exterminate"; + mes "wicked demons and snakes."; + next; + mes "[Borobudur Temple Manager]"; + mes "The tale has been passed down from"; + mes "generation to generation."; + mes "Quite interesting, isn't it?"; + next; + mes "[Borobudur Temple Manager]"; + mes "I am sure in the village of the"; + mes "^C35817Jaty Tribe^000000 there are many"; + mes "legendary stories."; + mes "When I get to meet the Chief, I"; + mes "will hear many such stories for sure."; + next; + mes "[Borobudur Temple Manager]"; + mes "I am not certain when we will"; + mes "cross paths again, but I hope we"; + mes "will meet again someday."; + mes "I wish you a pleasant journey,"; + mes "young traveler."; + delitem 11533,1; + changequest 9164,9165; } + close; +} + +dewata,95,203,5 script Travel Guide#dewata 536,{ + emotion e_swt2; + mes "[Travel Guide]"; + mes "This temple behind me is called"; + mes "Borobudur."; + mes "Borobudur temple was built in the"; + mes "9th century"; + mes "to venerate the Great Buddha, an"; + mes "ancient religious figure."; + next; + emotion e_swt2; + mes "[Travel Guide]"; + mes "This temple is made with 6 square"; + mes "platforms and 3 round platforms,"; + mes "and 2672 hand carved relief panels"; + mes "as well as 504 statues of various"; + mes "Buddhas."; + next; + emotion e_swt2; + mes "[Travel Guide]"; + mes "The central stupa, or shrine, is"; + mes "located at the center of the high"; + mes "platform, surrounded by 72"; + mes "more statues."; + next; + emotion e_swt2; + mes "[Travel Guide]"; + mes "Even in modern times Borobudur"; + mes "temple is the pilgrimage site for many"; + mes "monks worshipping the Buddha. It's"; + mes "also a major tourist attraction, as"; + mes "you can imagine."; + next; + mes "[Travel Guide]"; + mes "That is all I have on Borobudur"; + mes "temple, are there any questions?"; + mes "If not, we can move to the next spot."; + close; +} + +dewata,97,207,4 script Tourist#dewata-2 803,{ + mes "[Tourist]"; + mes "Oh, dag-nabbit... I've gone and"; + mes "picked the wrong tour guide..."; + next; + emotion e_turn; + mes "[Tourist]"; + mes "This hombre is a real snooze..."; + mes "Why make it longer.."; + next; + emotion e_sigh; + mes "[Tourist]"; + mes "I need to change my travel agent..."; + close; +} + +dewata,99,203,4 script Tourist#dewata-3 755,{ + emotion e_ok; + mes "[Tourist]"; + mes "Oh~ This is very interesting. A"; + mes "temple that worships the Buddha.."; + next; + mes "[Tourist]"; + mes "But I don't really get all the"; + mes "symbology here."; + next; + mes "[Tourist]"; + mes "So beautiful... I wonder who built"; + mes "this place?"; + close; +} + +dewata,101,206,4 script Tourist#dewata-4 90,{ + mes "[Tourist]"; + mes "Aren't we going to get lost without"; + mes "the guide?"; + next; + mes "[Tourist]"; + mes "We get lost already last time.."; + close; +} + +dewata,100,206,4 script Tourist#dewata-5 59,{ + mes "[Tourist]"; + mes "Hey, let's go there! Hurry up,"; + mes "while the tour guide is explaining~"; + next; + mes "[Tourist]"; + mes "Come on... It doesn't sound like"; + mes "he's going to stop talking anytime soon."; + close; +} + +dewata,278,100,4 script Missing Child#dewata 703,{ + mes "[Ukki]"; + mes "WaaWaaWaaWaaWaaWaaWaaWaaWaaWaa"; + mes "WaaWaaWaaWaaWaaWaa~"; + next; + select("Hey, kid..."); + emotion e_sob; + mes "[Ukki]"; + mes "WaaWaaWaaWaaWaaWaaWaaWaaWaaWaa"; + mes "WaaWaaWaaWaaWaaWaa~"; + next; + emotion e_sob; + emotion e_swt2; + mes "[Ukki]"; + mes "Mama~ Papa~ Where are youuu~ Waa~"; + next; + emotion e_dots,0; + select("... ... ..."); + close; +} + +dew_fild01,101,259,5 script Jaty Tribe Gatekeeper 541,{ + mes "[Jaty Tribe Gatekeeper]"; + mes "Welcome to ^FF0000Jaty^000000 town,"; + mes "which reveres strength and bravery."; + mes "I wish you a safe and restful time here."; + close; +} + +dew_fild01,106,306,4 script R. Jaty Tribe Warrior 541,{ + mes "[Reserved Jaty Warrior]"; + mes "I want to be the very best"; + mes "like no one ever was."; + next; + mes "[Reserved Jaty Warrior]"; + mes "I'm learning hunting skills"; + mes "these days. And I'm getting"; + mes "better and better"; + mes "every day!"; + next; + mes "[Reserved Jaty Warrior]"; + mes "I won't stop until"; + mes "I become a true warrior!"; + close; +} diff --git a/npc/re/cities/dicastes.txt b/npc/re/cities/dicastes.txt new file mode 100644 index 000000000..425fbb510 --- /dev/null +++ b/npc/re/cities/dicastes.txt @@ -0,0 +1,768 @@ +//===== rAthena Script ======================================= +//= El Dicastes Town +//===== By: ================================================== +//= Gennosuke Kouga, Muad_Dib +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= El Dicastes Town Script +//===== Additional Comments: ================================= +//= 1.0 First version. +//= 1.1 Standardized. [Euphy] +//= 1.2 Updated to match the official script. [Joseph] +//============================================================ + +dicastes01,194,159,5 script Excited Galten#a 492,{ + mes "[Excited Galten]"; + if (isequipped(2782)) { + mes "I can't get beautiful"; + mes "Ahat's image out of my head."; + emotion e_lv; + mes "As long as we have him,"; + mes "it will only be a matter of time before Sapha"; + mes "will rule this land."; + close; + } + mes "¡ø¢²¢£ ¡Ð ¡ò¡ð¡ð"; + mes "¡÷¡ø¡ñ ¡ü ¡ü"; + mes "¡ù¢²¢³ ¢²"; + mes "¡ó¡õ¡ô ¢£ ¡Ð¡û¡ü ¡ò ¡ð¡ö¢£"; + mes "¢¤¡õ¡þ ¡÷ ¡ñ"; + close; +} + +dicastes01,202,86,3 script Sentinel#a 492,{ + mes "[Sentinel]"; + if (isequipped(2782)) { + mes "El Dicastes, the"; + mes "capital city of Sapha."; + mes "The land is pretty"; + mes "rough so many outsiders can't get in. Ha ha"; + next; + mes "[Sentinel]"; + mes "..."; + next; + mes "[Sentinel]"; + mes "Hey, you are an outsider!"; + close; + } + mes "¡ô¢±¢± ¡û ¡ó¡Ð¡ñ ¢£ ¢¤¡ú"; + mes "¡ø¡ó¢² ¢¤ "; + mes "¡õ¡ó¡Ð ¢³ ¡Ð¡õ¢£ ¡û ¡ú¡ï"; + next; + mes "[Sentinel]"; + mes "¡ù"; + next; + mes "[Sentinel]"; + mes "¡ñ¡ö¡ï ¡ú ¡ó¢³¡ô"; + close; +} + +dicastes01,194,95,5 script Sentinel#b 450,{ + mes "[Sentinel]"; + if (isequipped(2782)) { + mes "I permit your entry."; + mes "But if you dare to cause trouble"; + mes "you won't know what hit you. Beware!"; + close; + } + mes "¡ø¡ô¡ü ¡ø ¡ó"; + mes "¡ø¡ï¡û ¡ó ¡û¢¤¢² ¡÷ ¢£"; + mes "¢¤¡ô¡ø ¢³ ¡÷¡û¡ö ¡õ ¡ø"; + close; +} + +dicastes01,234,158,0 script Training Galten#a 450,{ + if (isequipped(2782)) { + mes "[Training Galten]"; + mes "I'll be ready for anything"; + mes "if I keep up with my training every day."; + close; + } + mes "ø¡ô¡ü ¡¡ø¡ô¡ü ¡ø"; + mes "ô ¡ø"; + next; + mes "Don't know what it means."; + close; +} + +dicastes01,244,166,0 script Training Galten#b 450,{ + if (isequipped(2782)) { + mes "[Training Galten]"; + mes "I wonder if Ahat knows how"; + mes "hard I am training."; + close; + } + mes "¡ø¡ô¡ü ¡ø"; + mes "¡ø¡ô¡ü ¡ø ¡ø¡ô¡ü ¡ø ¡ø¡ô¡ü ¡ø"; + next; + mes "Don't know what it means."; + close; +} + +dicastes01,272,166,0 script Training Galten#c 450,{ + mes "[Training Galten]"; + if (isequipped(2782)) { + mes "[Training Galten]"; + mes "I am a Sapha warrior."; + mes "I am never lazy with my training."; + close; + } + mes "¡ø¡ô¡ü ¡ø ¡ø¡ô¡ü ¡ø"; + mes "¡ø¡ô¡ü ¡ø"; + next; + mes "Don't know what it means."; + close; +} + +dicastes01,248,129,0 script Training Galten#d 450,{ + mes "[Training Galten]"; + if (isequipped(2782)) { + mes "[Training Galten]"; + mes "I heard this isn't training"; + mes "equipment but a massager"; + mes "for trainees like me."; + close; + } + mes "¡ø¡ô¡ü ¡ø ¡ø¡ô¡ü"; + mes "¡ø¡ô¡ü ¡ø¡ ø¡ô¡ü ¡ø"; + next; + mes "Don't know what it means."; + close; +} + +dic_in01,349,282,4 script Waiting Galten#in_1 492,{ + if (isequipped(2782)) { + mes "[Waiting Galten]"; + mes "Here is the Battle Station."; + mes "We are all tensed up to be ready for action."; + close; + } + mes "[¢²¡Ð¡û ¡ù ¡Ð]"; + mes "¡ñ¡õ¡ü ¢£ ¡ó"; + mes "¢¤¡ó¡õ ¢£ ¢£¡ò¡ô ¡ö ¡ú¢¤¡ú ¢¤ ¡ò¡ö¡õ ¢¤ "; + close; +} + +dic_in01,370,261,1 script Waiting Galten#in_2 492,{ + if (isequipped(2782)) { + mes "[Waiting Galten]"; + mes "Boring."; + close; + } + mes "[¢²¡Ð¡û ¡ù ¡Ð]"; + mes "¡ù¢¤¢±"; + close; +} + +dic_in01,381,261,1 script Waiting Galten#in_3 492,{ + if (isequipped(2782)) { + mes "[Waiting Galten]"; + mes "Zzzzz..."; + close; + } + mes "[¢²¡Ð¡û ¡ù ¡Ð]"; + mes "¡ú¡ô"; + close; +} + +dic_in01,370,282,4 script Waiting Galten#in_4 492,{ + if (isequipped(2782)) { + mes "[Waiting Galten]"; + mes "El Dicastes is the most peaceful place in this world as long as I am here."; + close; + } + mes "[¢²¡Ð¡û ¡ù ¡Ð]"; + mes "¡ï¡ï¢³ ¡þ ¡ö¢³¢£ ¢± ¢³¡û¡õ ¡ø ¡þ¡ï¡ï ¡ø ¡û"; + close; +} + +dic_in01,354,219,4 script Resting Galten#in_5 492,{ + if (isequipped(2782)) { + mes "[Resting Galten]"; + mes "Resting is always so sweet."; + close; + } + mes "[¡õ¡ø¡ò ¡ü ¢¤]"; + mes "¡ï¡õ¡ù ¡ö ¡ò¡ð¢² ¢³ ¡ö"; + close; +} + +dic_in01,365,197,1 script Resting Galten#in_6 492,{ + if (isequipped(2782)) { + mes "[Resting Galten]"; + mes "Galten can also rest while standing up like this."; + next; + mes "[Resting Galten]"; + mes "You say I don't look like I'm resting? But I'm already used to this."; + close; + } + mes "[¡õ¡ø¡ò ¡ü ¢¤]"; + mes "¡ô¡ï¢¤ ¡ö ¡ù¡ð¡ñ ¡ü ¡ó¡û¡û"; + mes "¡ï¢£¡ó ¡ù ¢³¡ô¡ð ¢£ ¡Ð¡û¡ô ¡ô ¡Ð¡ú¡ù ¡ô ¡ó"; + close; +} + +dic_in01,87,102,5 script Resting Piom#01 454,{ + end; +} + +dic_in01,29,119,4 script Resting Piom#04 489,{ + if (isequipped(2782)) { + mes "[Resting Piom]"; + mes "Why is it so noisy when I'm trying to get rest?"; + close; + } + mes "[¢£¡ù¡ò ¢¤ ¡ù]"; + mes "¡ü¢²¡ð ¡Ð ¡ò¡ø¢² ¡ô ¢²¡õ"; + close; +} + +dic_in01,91,113,5 script Suspicious Piom#a 489,{ + mes "[Suspicious Piom]"; + if (isequipped(2782)) { + mes "Have you heard of the"; + mes "rumor about Ahat?"; + next; + if(select("Nope!:You first.") == 1) { + mes "[Suspicious Piom]"; + mes "Never mind."; + close; + } + mes "[Suspicious Piom]"; + mes "Oh, you do seem to know?"; + mes "I need to collect information."; + mes "You first."; + mes "You heard of the rumor, right?"; + next; + if(select("Something is fishy?:If you're not going to spill it, me neither!") == 1) { + mes "[Suspicious Piom]"; + mes "I'm only a very curious"; + mes "ordinary Piom."; + close; + } + mes "[Suspicious Piom]"; + mes "I am not going to say anything, either!"; + close; + } + mes "¡ó¢³¡ó ¡ó ¡ó¡þ¡ö"; + mes "¡õ ¢³¢²¡÷ ¡ó¡ó"; + next; + if(select("Can't tell what it means:Is it a curse??") == 2) { + mes "[Suspicious Piom]"; + mes "Too bad."; + close; + } + mes "[Suspicious Piom]"; + mes "Be on your"; + mes "way, shoo"; + close; +} + +dic_in01,168,116,5 script Tired Piom#c 491,{ + mes "[Tired Piom]"; + if (isequipped(2782)) { + mes "If you need any"; + mes "information, you'd should try your"; + mes "luck with the Cat Merchant rather than wander around here."; + mes "But of course you'll have to pay the price."; + close; + } + mes "¡þ¡õ¡ð ¢³ ¢³¡þ"; + mes "¡þ¡ø¡ð ¡ö ¡ñ¡ú¡ð ¡ò"; + mes "¡ï¡ñ¡ú ¡ô ¡ö¡ö¡ò ¡û ¡ó¢¤¡ø ¡ø ¢² ¡ø"; + mes "¢¤¢²¡ø ¡ò ¡ú¡ó¢±"; + close; +} + +dic_in01,149,104,5 script Tired Piom#b 455,{ + mes "[Tired Piom]"; + if (isequipped(2782)) { + mes "I feel so stiff..."; + mes "I will need another dose of Bradium."; + mes "I think the effects are weaker than before,"; + mes "or is it just me?"; + emotion e_what; + close; + } + mes "¡ð¡Ð¡ú ¡ø ¢²"; + mes "¡ö¡õ¡ó ¢¤ ¡ò¡ò¢³ ¡ô ¡ô¡ó¡ñ"; + mes "¢£¡ñ¡þ ¡ü ¢²¡û¡ó ¡ò ¡ð¡þ"; + mes "¡ö¡ú¡ñ ¢³"; + emotion e_what; + close; +} + +dic_in01,341,113,3 script Tired Piom#a 491,{ + mes "[Tired Piom]"; + if (isequipped(2782)) { + mes "Ahat is the one"; + mes "and only Sapha pride."; + mes "We have plenty of Bradium"; + mes "because of him!"; + next; + mes "[Thrilled Piom]"; + mes "..."; + next; + mes "[Thrilled Piom]"; + mes "You don't feel his"; + mes "blessing?"; + close; + } + mes "¡÷¡ò¡û ¡ó ¡ó¡Ð¢±"; + mes "¡ó¡õ¡ù ¡þ ¡ò¢±¡ñ ¡õ ¢£"; + mes "¡ü¡ð¢¤ ¡ù ¡ò¡ô¡õ ¡ò ¡ñ"; + mes "¢³¡ú¢³ ¡Ð ¡ñ¡õ¡ù ¡÷ ¡÷¢±"; + next; + mes "[Tired Piom]"; + mes "¡þ"; + next; + mes "[Tired Piom]"; + mes "¡ø¡ú¡ø ¢± ¡ö¡ò"; + close; +} + +dic_in01,252,103,3 script Eating Adventurer#tre 711,{ + mes "[Eating Adventurer]"; + mes "Hey, do you have any emergency rations on you from Midgard?"; + next; + mes "[Eating Adventurer]"; + mes "I came all the way here with a hungry stomach because I heard there was a Midgard pub but I've never tasted this food anywhere in Midgard."; + next; + mes "[Eating Adventurer]"; + mes "No, I'm sure nobody in Midgard would want to try this."; + next; + mes "[Eating Adventurer]"; + mes "I really would like a nice hot meal."; + mes "I go to this great little restaurant in Geffen often, and I really miss that place now."; + close; +} + +dic_in01,32,54,5 script Venknick#el_01 449,{ + if (isequipped(2782)) { + mes "[Venknick]"; + mes "Oh feels so refreshed."; + mes "The refined Bradium was the best ever. Do you want to try some?"; + close; + } + mes "[¡ó¡ò¡ð]"; + mes "¡ù¡ó¢¤ ¢± ¢£"; + mes "¡õ¡þ¡ï ¢£ ¡÷¡÷¢¤ ¡ú ¡ó¡ñ¡ö ¢² ¡þ¢²¢¤ ¢² ¢£?"; + close; +} + +dic_in01,372,116,3 script Thrilled Piom#a 490,{ + mes "[Thrilled Piom]"; + if (isequipped(2782)) { + mes "Ahat is the one"; + mes "and only Sapha pride."; + mes "We have plenty of Bradium"; + mes "because of him!"; + next; + mes "[Thrilled Piom]"; + mes "..."; + next; + mes "[Thrilled Piom]"; + mes "You don't feel his"; + mes "blessing?"; + close; } + mes "¡ò¡õ¢³ ¡õ ¡ô"; + mes "¢£¡ó¡ø ¢² ¡ô¡÷"; + mes "¡ò¡ô¢³ ¡ù ¢±¡ó¢± ¡õ"; + mes "¡ó¡ü¡Ð ¡ø ¢²¡ü¡Ð ¡õ ¡ï"; + next; + mes "[Thrilled Piom]"; + mes "¢£"; + next; + mes "[Thrilled Piom]"; + mes "¡Ð¢¤¡ù ¢£ ¡ó¡ó"; + mes "¡ù¡ó¡÷ ¡û ¡þ¡ô"; + close; +} + +dic_in01,360,125,5 script Serious Venknicka 449,{ + mes "[Serious Venknick]"; + if (isequipped(2782)) { + mes "A sudden increase in Bradium production."; + mes "Why?"; + mes "I will have to get more factory lines running."; + close; + } + mes "¡û¡õ¡ñ ¢² ¢²¢¤¡Ð ¢² ¡ü¡ñ¡õ"; + mes "¡þ¡ó¡ö ¢²"; + mes "¡ö¡÷¡û ¡ú ¡÷¡Ð¢³ ¢³"; + close; +} + +dic_in01,42,250,5 script Guide#diel_1 489,{ + if (isequipped(2782)) { + if (ep13_3_invite > 5) { + mes "[Guide]"; + mes "I'm Dior, your kind guide for El Dicastes."; + mes "How can I help you?"; + next; + mes "[Guide]"; + mes "You may submit your civil complaints here."; + mes "Civil services and El Dicastes zones are managed in the Situation Room upstairs."; + next; + mes "[Guide]"; + mes "The Administrative Office is located on the top floor and handles very important matters."; + mes "The Archive Room is in the lower level where you can obtain a vast amount of information."; + next; + mes "[Guide]"; + mes "By the way, you may use the elevator in the back to go to the other floors."; + next; + mes "[Guide]"; + mes "Oh, you didn't ask?"; + mes "But since I'm Dior, the kind guide. He he."; + close; + } + mes "- The guide looks at you with an alert expression. -"; + close; + } + mes "[¢³¡ñ]"; + mes "¡õ¢£¡ó ¡Ð ¡õ¡ñ¡ò ¢¤ ¡ø¡ø¢£ ¢± ¢²¢³¡÷ ¢±"; + mes "¡ö¡ò¡ð ¡ó ¡ô¡ô?"; + next; + mes "[¢³¡ñ]"; + mes "¡Ð¡ù¡ó ¡ù ¡ü¢²¡Ð ¢± ¡÷¡ö¡þ"; + mes "¡ñ¡þ¢² ¡ø ¡ó¡ï¡ï ¡ù ¡ð¡ñ¡Ð ¡ù ¢³¡ò¡þ ¡ù ¡ø¡ð¡õ ¡õ ¢¤"; + next; + mes "[¢³¡ñ]"; + mes "¡û¡ù¡ô ¡ø ¡ð¡þ¡÷ ¢³ ¡þ¡ù¡ñ ¡ú ¡ü¢¤¡ò ¡ú ¡ô¢£"; + mes "¡÷¡ò¢¤ ¡ø ¡û¢³"; + next; + mes "[¢³¡ñ]"; + mes "¡ô¡ð¡ñ ¢¤ ¡ó¡÷¢³ ¡þ ¡ó¡õ¡÷ ¡ö ¡ó ¡ö"; + next; + mes "[¢³¡ñ]"; + mes "¡ò¡ô¡ø ¡÷ ¡õ¡ø¡ð ¡ó ¢¤¡Ð¡ô ¡ø ¡ñ¡ñ¡ñ ¡ø ¡ú¡ö¡ø ¡ü"; + mes "¡ï¢³¡ð ¢¤ ¡ð¡ö¢£ ¢± ¡ô¡ø"; + close; +} + +dic_in01,335,34,0 script Talkative Piom#a 490,{ + mes "[Talkative Piom]"; + if (isequipped(2782)) { + mes "At my factory"; + mes "we not only refine Bradium,"; + mes "but we also produce various"; + mes "tools for daily use."; + mes "We manufacture war supplies"; + mes "here too."; + close; + } + mes "¡ü¡ù¢± ¢³"; + mes "¡÷¡ø¡ï ¡þ ¡ó¡ó"; + mes "¡ñ¡õ¡ò ¡ó ¡÷¡ü¡ù ¡ö"; + mes "¡ñ¡ø¡ü ¡ú ¡ô"; + mes "¡þ¡ú¡ò ¢± ¡û¡ò¡ò ¡ù ¡÷"; + mes "¢³¡ò¡ò ¡ù ¢±¢£¡ò"; + close; +} + +dic_in01,387,30,1 script Manuk Piom#a 454,{ + mes "[Manuk Piom]"; + if (isequipped(2782)) { + mes "You! We met in Manuk, didn't we?"; + mes "I've come to pick up the weapon I ordered."; + close; + } + mes "¡ü¡ó¡þ ¡ó ¡ï¡ð¢¤ ¡ü ¡ð¢±"; + mes "¡ù¡ô¡ï ¡ú ¡ñ¡ù¢³ ¡ó ¡ò¡ö¡ó ¡ô¡ô"; + close; +} + +dicastes01,282,210,4 script Free Knit#a 453,{ + mes "[Free Knit]"; + if (isequipped(2782)) { + mes "As long as we have a steady"; + mes "supply of Bradium,"; + mes "Saphas can live forever."; + mes "Our childhood lasts 10 years,"; + mes "which is short."; + close; + } + mes "¡ñ¡þ¡ð ¡ó ¡ü¡ò¡ö ¡÷"; + mes "¢³¡ð¡ï ¢£ ¡ù¡ô¡ò ¡ô ¡ó¡þ¡ñ ¢² ¡ñ¡û¢£ ¢²"; + mes "¡ô¡ó¡ð ¡þ ¢£¡ð¢¤ ¡õ ¡û¢³¡ü"; + mes "¡ó¢³¡ò ¢± ¡ô¢£¢² ¡÷ ¡÷¡ñ"; + mes "¡ò¢²¡ï ¢£ ¡ö¡ö"; + close; +} + +dicastes01,246,210,4 script Free Venknick#a 449,{ + mes "[Free Venknick]"; + if (isequipped(2782)) { + mes "At least we have plenty of Bradium."; + mes "Look,"; + mes "You can see Bradium"; + mes "everywhere you go."; + next; + mes "[Free Venknick]"; + mes "?"; + next; + mes "[Free Venknick]"; + mes "The thing rolling around is a gem,"; + mes "but why are you interested in it?"; + close; + } + mes "¡ô¡ï¢£ ¢¤ ¡÷¡õ¢± ¡ü ¡ñ¡õ"; + mes "¡ü¢³"; + mes "¡ö¡ù¢¤ ¢² ¡ù¡ó¡ô"; + mes "¡ü¢£¢³ ¡ø ¡û¡ð¡ü ¡õ"; + next; + mes "[Free Venknick]"; + mes "¡ù"; + next; + mes "[Free Venknick]"; + mes "¡þ¢¤¢£ ¢± ¡ó¡ò¢³ ¡ü ¡ñ¡ð"; + mes "¢±¡û¢£ ¡ö ¡ü¡ò¡÷ ¡û ¡õ¡ò¡÷ ¢²¢²"; + close; +} + +dicastes01,235,245,4 script Excited Piom#a 490,{ + if (isequipped(2782)) { + mes "[Excited Piom]"; + mes "Have you seen Ahat?"; + emotion e_ho; + mes "His popularity here in El Discastes is phenomenal!"; + close; + } + mes "[Excited Piom]"; + mes "¡ú¡þ¡ó ¢³ ¡ü¢²¡ñ ¢±"; + emotion e_ho; + mes "¢³¡ó¡ñ ¡õ ¡ð¡ô¡þ ¡÷ ¡ú¡ò¡õ ¡ø ¢² ¡ø"; + close; +} + +dicastes01,284,262,4 script Favorable Knit#a 453,{ + mes "[Favorable Knit]"; + if (isequipped(2782)) { + mes "Unlike the Laphine, we Saphas"; + mes "are a very close community."; + mes "We start by living together in common facilities after we are born."; + next; + mes "[Favorable Knit]"; + mes "That is why all Saphas are like family."; + mes "We never have any quarrels between classes."; + close; + } + mes "¡ô¢±¡ó ¡õ ¡ú¡÷¡Ð ¡õ"; + mes "¡ü¡ï¡Ð ¡õ ¡ô¡ó¡ü ¡ó ¢³"; + mes "¡ñ¡ô¡ü ¡þ ¢¤¡ñ¢¤ ¡ô ¡û¡ï¡ù"; + mes "¡ú¡ö¡ô ¡ó ¢£¡ú¡þ ¡ø ¡ø¡ò"; + mes "¢²¢³¡û ¢¤ ¡ú¡ñ¡ù ¡û ¢³¡ò¡ø ¡õ¡õ"; + close; +} + +dicastes01,164,180,4 script Limpy Piom#a 489,{ + if (isequipped(2782)) { + mes "[Limpy Piom]"; + mes "They say there is a"; + mes "war going on with the Splendide in Manuk."; + mes "I hope everything goes well."; + mes "I hope it doesn't come all"; + mes "the way to the capital city here."; + emotion e_dots; + close; + } + mes "¢²¡ô¡þ ¡ù ¡õ¡Ð"; + mes "¢³¡ô¡û ¡ú ¡ø"; + mes "¢³¡þ¢¤ ¡ó ¡õ¡÷¡Ð"; + mes "¡ñ¡ò¡ü ¡ü ¡ù¡þ¢±"; + mes "¢¤¡ò¡þ ¢¤ ¢£¡ñ ¢¤ ¢£¡ñ"; + emotion e_dots; + close; +} + +dicastes01,191,202,4 script Complaining Galten#fihs 450,{ + if (isequipped(2782)) { + mes "[Complaining Galten]"; + mes "That crazy Vanknick always"; + mes "talks about the legend of that statue."; + next; + mes "[Complaining Galten]"; + mes "Have you ever talked"; + mes "to him?"; + next; + if(select("No:Yes") == 1) { + mes "[Complaining Galten]"; + mes "You don't know about the legend behind the statue?"; + mes "Then I don't know what to talk about it with you."; + close; + } + emotion e_gg,0,"Crazy Venknick#fihsing1"; + mes "[Complaining Galten]"; + mes "You also fell for that crazy man."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Yes"; + emotion e_sob,1; + next; + mes "[Complaining Galten]"; + mes "Just forget about it quickly for your own good."; + close; + } + mes "[¡õ¢£¡ö ¡ú ]"; + mes "¡õ¡ò¡û ¡ò ¢£¡û¡÷ ¡÷ "; + mes "¡û¡ù¡û ¡÷ ¡ü¡þ¡û ¢³ ¡ó"; + next; + mes "[¡õ¢£¡ö ¡ú ]"; + mes "¡ð¢±¡ü ¡û ¡õ¡÷¢¤"; + mes "¢¤¡þ¡ø ¢² ¡÷"; + next; + mes "Don't know what it means."; + close; +} + +dicastes01,181,191,5 script Traveler Ichack#info 481,2,2,{ + mes "[Traveler Ichack]"; + mes "Oh!! You are a stranger!"; + mes "I'm Ichack the first adventurer that arrived here in El Dicastes!"; + next; + mes "[Traveler Ichack]"; + mes "There was someone in the expedition team claiming that he was the first, but it WAS me. That's right."; + next; + mes "[Traveler Ichack]"; + mes "That's why I will provide a service to guide adventurers from Rune-Midgard."; + mes "What would you like to know?"; + next; + switch (select("Dicastes Diel:Residential Area:Training Room:Factory:Pub:Cat Hand Caravan")) { + case 1: + mes "[Traveler Ichack]"; + mes "Ah~ That's a beautiful building."; + mes "It's said they discuss important things..."; + next; + mes "[Traveler Ichack]"; + mes "Please make sure you signed in at the dior, otherwise you'll get in trouble."; + mes "Go directly north from here and you can't miss it."; + viewpoint 351,198,1,1,0x00FF00; + close; + case 2: + mes "[Traveler Ichack]"; + mes "The Sapha tribe is so weird. How can they sleep in there?"; + next; + mes "[Traveler Ichack]"; + mes "You don't understand?"; + mes "You won't believe me until you see it! Go see it for yourself!"; + next; + mes "[Traveler Ichack]"; + mes "The residential area is divided into 2 area's."; + mes "The lower residential area is around 7 o'clock and, the upper area is around 1 o'clock."; + viewpoint 283,280,2,1,0x01FF01; + viewpoint 106,136,3,1,0x0066FF; + close; + case 3: + mes "[Traveler Ichack]"; + mes "Because of the dangers here, we need better security.."; + mes "Have you ever been to the training room? The training guards seem to never sleep!"; + viewpoint 172,255,4,1,0xFFCCCC; + close; + case 4: + mes "[Traveler Ichack]"; + mes "This is one of the most important reasons why they live here."; + mes "If you go to factory, you can see the recently refined Bradium."; + viewpoint 256,97,5,1,0x0066FF; + close; + case 5: + mes "[Traveler Ichack]"; + mes "Although I arrived here as the first adventurer, the owner of the pub was the first person here."; + mes "Bumen Florine's pub is located underground in the lower residential area."; + mes "He might have some valuable information for you."; + viewpoint 106,136,6,1,0xFF3300; + close; + case 6: + mes "[Traveler Ichack]"; + mes "The cats seems that don't have good relationship with sapha same as us."; + mes "Perhaps it's because trading is involved."; + mes "Poor cats. They must be shivering from the cold out there."; + next; + mes "[Traveler Ichack]"; + mes "You can find their caravan just outside the gates."; + viewpoint 39,199,7,1,0x9933FF; + close; + } +OnTouch: + if (ep13_3_invite == 6) + emotion e_gasp,0; + end; +} + +dicastes01,202,197,4 script Crazy Venknick#fihsing1 449,{ + if (isequipped(2782)) { + mes "[Crazy Venknick]"; + mes "At only 5000 Zeny"; + mes "I will tell you the sad legend behind that statue."; + next; + if(select("Give 5000 Zeny.:Don't give 5000 Zeny.") == 2) { + mes "[Crazy Venknick]"; + mes "Don't come back with regrets."; + close; + } + if (Zeny < 5000) { + mes "[Crazy Venknick]"; + mes "I have"; + mes "no legend to share with"; + mes "the poor."; + close; + close; + } + set Zeny, Zeny-5000; + mes "[Crazy Venknick]"; + mes "Thanks."; + emotion e_gg,0,"Complaining Galten#fihs"; + next; + select("What is the sad legend?"); + emotion e_dots; + select("I asked what the sad legend is about!"); + next; + mes "[Crazy Venknick]"; + mes "I don't believe in legends."; + next; + emotion e_dots,1; + select("Was I tricked?"); + sc_start SC_Blind,20000,0; + next; + mes "You feel outraged at being tricked."; + close; + } + mes "[???¨²?¨´ ¡é3 ]"; + mes "¢²¡û¡ó ¡ó ¡ù¢¤¡ø"; + mes "¢¤¡ð¢² ¢± ¡ñ¡ö¢² ¡ø ¡ï¡ö¡ü"; + next; + mes "Don't know what it means."; + close; +} + +dic_in01,98,110,5 script Worried Piom#a 489,{ + if (isequipped(2782)) { + mes "[Worried Piom]"; + mes "I haven't seen my friends for the last few hours."; + mes "It's about time for them to have"; + mes "their Bradium. Hmm.."; + close; + } + mes "[Worried Piom]"; + mes "¡û¢±¡÷ ¢² ¡ï¡þ¡ò ¡ü ¡ï¡û¢²"; + mes "¡ï¡÷¢¤ ¡Ð ¡ï¡ï¡Ð ¢¤ ¢£"; + mes "¡÷¡þ¡ð ¡ó ¡ñ"; + close; +} + +dic_in01,98,96,3 script Lost Galten#a 492,{ + if (isequipped(2782)) { + mes "[Lost Galten]"; + mes "I've been living as a Piom for too long"; + mes "now it's like a bad habit."; + mes "and I find myself here all the time."; + close; + } + mes "[Lost Galten]"; + mes "¡ó¡ô¡ï ¡û ¢³¡ú"; + mes "¡ü¡ø¡ñ ¢£ "; + mes "¡ö¡ï¢² ¡û ¡ö¡ó"; + close; +}
\ No newline at end of file diff --git a/npc/re/cities/izlude.txt b/npc/re/cities/izlude.txt new file mode 100644 index 000000000..e5b3d1df0 --- /dev/null +++ b/npc/re/cities/izlude.txt @@ -0,0 +1,36 @@ +//===== rAthena Script ======================================= +//= Izlude Town Renewal +//===== By: ================================================== +//= Masao +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Izlude town NPCs. +//===== Additional Comments: ================================= +//= 1.0 First Version. Still missing many new NPCs and their dialogues. [Masao] +//= 1.1 Added bullet NPC duplicates. [Euphy] +//============================================================ + +izlude,197,205,1 duplicate(Sailor_izlude) Sailor#izlude 100 +izlude,71,92,2 duplicate(Bonne_izlude) Bonne#izlude 90 +izlude,172,215,4 duplicate(Charfri_izlude) Charfri#izlude 91 +izlude,127,175,4 duplicate(Cuskoal_izlude) Cuskoal#izlude 124 +izlude,85,103,4 duplicate(Dega_izlude) Dega#izlude 84 +izlude,141,185,4 duplicate(Kylick_izlude) Kylick#izlude 97 +izlude,56,156,2 duplicate(Red_izlude) Red#izlude 85 +izlude,58,156,2 duplicate(Cebalis_izlude) Cebalis#izlude 98 +izlude,165,156,2 duplicate(Soldier_izlude) Soldier#izlude 105 +izlude,158,130,3 duplicate(bdt) Bullet Dealer Tony#iz 86 +izlude,155,132,3 duplicate(mdk) Magazine Dealer Kenny 83 + +izlude,147,131,6 script Blacksmith#izlude 726,{ + end; +} + +prt_fild08,350,219,4 script Guard#izlude 105,{ + mes "[Izlude Guard]"; + mes "Welcome to Izlude."; + close; +} diff --git a/npc/re/cities/jawaii.txt b/npc/re/cities/jawaii.txt new file mode 100644 index 000000000..49263d22d --- /dev/null +++ b/npc/re/cities/jawaii.txt @@ -0,0 +1,15 @@ +//===== rAthena Script ======================================= +//= Jawaii Town Renewal +//===== By: ================================================== +//= Daegaladh, Masao +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Jawaii town NPCs. +//===== Additional Comments: ================================= +//= 1.0 First Version. Renewal coordinates by Masao. +//============================================================ + +izlude,102,150,6 duplicate(Honeymoon_Helper_Izlude) Honeymoon Helper#Izlude 71 diff --git a/npc/re/cities/malangdo.txt b/npc/re/cities/malangdo.txt new file mode 100644 index 000000000..8eb84ad55 --- /dev/null +++ b/npc/re/cities/malangdo.txt @@ -0,0 +1,388 @@ +//===== rAthena Script ======================================= +//= Malangdo Town +//===== By: ================================================== +//= Muad_Dib +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Malangdo Town Script +//===== Additional Comments: ================================= +//= 1.0 First version. [Euphy] +//= 1.1 Added entrance scripts. +//============================================================ + +// Entrance :: malangdo_go +//============================================================ +- script Dolangmal -1,{ + if (checkquest(5091) == -1) { + mes "[Dolangmal]"; + mes "Hey~! Hi human~ This is Mr. Dolangmal. kakaka~"; + next; + mes "[Dolangmal]"; + mes "We are sent to here to take you to the heaven of cat, ^A2314BMeow Meow Island^000000."; + next; + mes "[Dolangmal]"; + set .@s$,"Why don't you go to ^A2314BMeow Meow Island^000000? "; + switch(atoi(strnpcinfo(2))) { + case 1: mes "How is that? Crowd people in Prontera is good, but why don't you go our heaven of the cat, ^A2314BMeow Meow Island^000000?"; break; + case 2: mes "Why don't you go to ^A2314BMeow Meow Island^000000? That place is better than geffen where only simple honest wizards are crowded."; break; + case 3: mes "Fresh air Payon is not bad, but why don't you go better palce the heaven of the cat, ^A2314BMeow Meow Island^000000?"; break; + case 4: mes .@s$+"The beautiful and quiet place is better than Aldebaran where is so noisy with ticktock sound of clock."; break; + case 5: mes .@s$+"The beautiful and quiet place is better than Morroc where is so hot and sandstorm?"; break; + case 6: mes .@s$+"The beautiful place is better than Yuno where are full of headache books."; break; + case 7: mes .@s$+"The complex place is better than Rachel where is too queit horribly?"; break; + case 8: mes .@s$+"The safety place is better than Lighthanlzen where is too dangerous."; break; + case 9: mes .@s$+"The smell of sea place is better than Mora where is full of grass smell."; break; + } + next; + if(select("No:^A2314BMeow Meow Island^000000~ Go~ Go~") == 1) { + mes "[Dolangmal]"; + mes "What!? You don't want to go ^A2314BMeow Meow Island^000000? Chet!"; + next; + mes "[Dolangmal]"; + mes "You such an annoying guy. If you don't go, why did you talk to me... but..."; + next; + mes "[Dolangmal]"; + mes "^9E1837Admiral Thomas^000000 said kidnapping human.. No.. Bring them politely?"; + next; + mes "[Dolangmal]"; + mes "Anyway I got you. Whenever you want to go, just tell me."; + close; + } + mes "[Dolangmal]"; + mes "Ok! I like your attitude with full of passion."; + next; + mes "[Dolangmal]"; + mes "Now, before you go ^A2314BMeow Meow Island^000000, let me tell you some detail of caution."; + next; + mes "[Dolangmal]"; + mes "First!! It is natural thing. When you arrive on the ^A2314BMeow Meow Island^000000, should notify that you are here to ^9E1837Admiral Thomas^000000.."; + next; + mes "[Dolangmal]"; + mes "If you don't do that, you might be attacked by scary and wild cats when you walk on dark street."; + next; + mes "[Dolangmal]"; + mes "Secondly!! This ^A2314BMeow Meow Island^000000 is absolutely our island of cat even though we open to the human."; + next; + mes "[Dolangmal]"; + mes "We have a personality... no... no... respect us like one catality because we are cats."; + next; + mes "[Dolangmal]"; + mes "And the next one is..."; + next; + mes "Dolangmal must say that just say some cautions, but he said 100 kinds of cautions."; + next; + mes "[Dolangmal]"; + mes "Ok! That is all for cautions!! It's easy and simple cautions... how is that? Can you keep this all?"; + next; + if(select("Keep this cautions:Can't keep this cautions") == 2) { + mes "[Dolangmal]"; + mes "What!? Can't you keep this easy rule? Chet!"; + next; + mes "[Dolangmal]"; + mes "You such an annoying guy. If you can't keep this, why did not tell me during the conversation. I told you everything..tierd.. but.."; + next; + mes "[Dolangmal]"; + mes "^9E1837Admiral Thomas^000000 said kidnapping human.. No.. Bring them politely?"; + next; + mes "[Dolangmal]"; + mes "Anyway I got you. Just tell me whenever you want to go."; + close; + } + mes "[Dolangmal]"; + mes "Ok! Do not bite two mice with one mouth. ^9E1837Admiral Thomas^000000 is located at the ^A2314Bcenter of ship in Meow Meow Island^000000."; + next; + mes "[Dolangmal]"; + mes "Don't forget give notice of arrival."; + next; + mes "[Dolangmal]"; + mes "Alright. Let's go to the heaven of the cat, ^A2314BMeow Meow Island^000000~"; + setquest 5091; + completequest 5091; + warp "malangdo",217,85; + close; + } + mes "[Dolangmal]"; + mes "Uh? You must be last time...? Alright. Did you visit ^A2314BMeow Meow Island^000000?"; + next; + if(select("Take me to ^A2314BMeow Meow Island^000000 again:I have visited") == 1) { + mes "[Dolangmal]"; + mes "I really want to send you there, but I can't because of the policy. It is difficult to send people who visit ^A2314BMeow Meow Island^000000 at first."; + next; + mes "[Dolangmal]"; + mes "And you just heard roughly what I said... It is supposed to be rule 53..."; + next; + mes "[Dolangmal]"; + mes "Specially, let me tell you rule 53. I am an indulgent cat."; + next; + mes "[Dolangmal]"; + mes "If you want to go back to ^A2314BMeow Meow Island^000000, just take ship at Izlude or Alberata."; + next; + mes "[Dolangmal]"; + mes "If you enjoy pleasant sea trip, you will arrive the heaven of cat ^A2314BMeow Meow Island^000000."; + next; + mes "[Dolangmal]"; + mes "So easy! Isn't it? Well, good bye~"; + close; + } + mes "[Dolangmal]"; + mes "How is that? You like it? I knew it. Kakaka"; + next; + mes "[Dolangmal]"; + mes "Ah! I just want to make sure.."; + next; + mes "[Dolangmal]"; + mes "Again, if you want to go back to ^A2314BMeow Meow Island^000000, do you know that take a ship at Izlude or Alberta?"; + next; + mes "[Dolangmal]"; + mes "Hm~ You might know that because you are smart person. Well, see you again~"; + close; +} +prontera,114,77,6 duplicate(Dolangmal) Dolangmal#1 553 +geffen,109,61,6 duplicate(Dolangmal) Dolangmal#2 553 +payon,200,106,4 duplicate(Dolangmal) Dolangmal#3 553 +aldebaran,170,104,4 duplicate(Dolangmal) Dolangmal#4 553 +morocc,168,275,4 duplicate(Dolangmal) Dolangmal#5 553 +yuno,165,122,4 duplicate(Dolangmal) Dolangmal#6 553 +rachel,121,126,4 duplicate(Dolangmal) Dolangmal#7 553 +lighthalzen,254,83,5 duplicate(Dolangmal) Dolangmal#8 553 +mora,57,150,4 duplicate(Dolangmal) Dolangmal#9 553 + +// Unofficial coordinates. +// Original pre-re: izlude,182,192,4 +izlude,197,213,4 script Odgnalam#iz 554,{ + if (strnpcinfo(4) == "izlude") + mes "Receiving the warm sun of Izlude, the cat is sleeping."; + else if (strnpcinfo(4) == "alberta") + mes "Receiving the warm sun of Alberta, the cat is sleeping."; + next; + if(select("Let him sleep:Talk to him") == 1) close; + mes "[Odgnalam]"; + mes "Meow? Uh?"; + next; + if (ep13_yong1 == 0) { + set .@price,1000; + set .@s1$,"Huh!! You are such an annoying person. Let me send you to the heaven of the cat, ^A2314BMeow Meow Island^000000 with ^0000FF1000 Zeny^000000."; + set .@s2$,"Money? Where is the money? You can't go anywhere without the money. Shame on you."; + } else if (ep13_yong1 < 60) { + set .@price,999; + set .@s1$,"You have a little relationship with fleet of cat. I'll give you special discount price ^0000FF999 Zeny^000000 to the heaven of the cat, ^A2314BMeow Meow Island^000000, because you have relationship with fleet."; + set .@s2$,"Where is the money? You don't have a sense of honor."; + } else if (ep13_yong1 > 59 && ep13_yong1 < 80) { + set .@price,500; + set .@s1$,"You gave several help to our cat's fleet so let me give you special that with 50% discount price ^0000FF500 Zeny^000000. I'll send you to the heaven of the cat, ^A2314BMeow Meow Island^000000."; + set .@s2$,"You don't have any money for paying 50% discount price? I can't believe it."; + } else { + mes "[Odgnalam]"; + mes "You are a hero of cat's fleet. Your activity is the legend between us."; + next; + mes "[Odgnalam]"; + mes "As you are hero of fleet so let me send you to the heaven of the cat, ^A2314BMeow Meow Island^000000 for free."; + next; + if(select("Let's go Meow Meow Island!!:Do not go") == 1) { + mes "[Odgnalam]"; + mes "Have a comfortable trip... Alright let's go~"; + warp "malangdo",217,85; + } + close; + } + mes "[Odgnalam]"; + mes .@s1$; + next; + if(select("Let's go Meow Meow Island!!:Do not go") == 2) close; + if (Zeny < .@price) { + mes "[Odgnalam]"; + mes "Money? Where is the money? You can't go anywhere without the money. Shame on you."; + close; + } + set Zeny, Zeny - .@price; + mes "[Odgnalam]"; + mes "Let me send you right away. Let's go~"; + warp "malangdo",217,85; + close; +} +alberta,200,151,4 duplicate(Odgnalam#iz) Odgnalam#albe 554 + +malangdo,219,86,4 script Kong#malang 545,{ + mes "[Kong]"; + mes "Did you have fun in Malangdo?"; + mes "The fleet has a service to Izlude and Alberta."; + next; + if (ep13_yong1 == 0) { + set .@price,1000; + set .@s1$, "1000 zeny"; + set .@s2$, "Have a nice day in Meow Meow Island."; + set .@no_money$, "It is difficult for free."; + set .@yes_money$, "Have a nice trip."; + mes "[Kong]"; + mes "The fee of ship is only 1000 zeny, where you want to go?"; + next; + } else if (ep13_yong1 < 60) { + set .@price,999; + set .@s1$,"999 zeny"; + set .@s2$, "Have a full of fortune day in Meow Meow Island..."; + set .@no_money$, "It is difficult even though you have a relationship with fleet."; + set .@yes_money$, "Thanks, have a wonderful trip."; + mes "[Kong]"; + mes "You have a connection with our fleet. Apply special price 999 zeny. Where do you want to go?"; + next; + } else if (ep13_yong1 > 59 && ep13_yong1 < 80) { + set .@price,500; + set .@s1$,"500 zeny"; + set .@s2$, "There are full of fortune and jackpot in Meow Meow Island."; + set .@no_money$, "Oh my god. You don't have 500 zeny? It is difficult for free."; + set .@yes_money$, "Have nice trip and come again."; + mes "[Kong]"; + mes "Wow~ You contributed our fleet a lot. Alright!! Special discount price 500 zeny. Where do you want to go?"; + next; + } else { + set .@price,0; + set .@s1$,"Free for hero of fleet!!"; + set .@s2$, "No one objects the hero of fleet to stay in Meow Meow Island..."; + mes "[Kong]"; + mes "Ah... You are the hero of cat's fleet and it is the legend."; + next; + mes "[Kong]"; + mes "We can't charge from hero of fleet. Where is your destination?"; + next; + } + set .@i, select("- Izlude destination --- "+.@s1$+":- Alberta destination --- "+.@s1$+":- Stay on Malangdo"); + mes "[Kong]"; + if (.@i == 3) { + mes .@s2$; + close; + } + if (ep13_yong1 > 80) { + mes "Have a comfortable trip."; + if (.@i == 1) + warp "izlude",195,212; + else + warp "alberta",192,150; + close; + } + if (Zeny < .@price) { + mes .@no_money$; + close; + } + set Zeny, Zeny - .@price; + mes .@yes_money$; + if (.@i == 1) + warp "izlude",195,212; + else + warp "alberta",192,150; + close; +} + +// Town NPCs :: malang_tre +//============================================================ +malangdo,147,117,3 script Innkeeper#malang 554,{ + mes "Can see a lazy cat standing on a chair."; + mes "Thought it is an Innkeeper, but do not looks like that having a business."; + next; + switch(select("Can I rest in hammock?:Want to store in inn.:Looks free at the moment.")) { + case 1: + mes "[Innkeeper]"; + mes "You can use hammock as you want but give me ^FF00005 pieces of Malang Sp Can^000000, then will make you stress out."; + next; + switch(select("Give the can.:No need.")) { + case 1: + if (countitem(12636) > 4) { + delitem 12636,5; //Malang_Sp_Can + percentheal 100,100; + specialeffect2 EF_HEALSP; + mes "[Innkeeper]"; + mes "Take a relaxation."; + emotion e_kis; + next; + warp "malangdo",140,121; + close; + } + mes "[Innkeeper]"; + mes "It looks like lack of cans."; + close; + case 2: + mes "[Innkeeper]"; + mes "You are strong man than appearance."; + close; + } + case 2: + mes "[Innkeeper]"; + mes "Storation is done. We should keep company haha."; + savepoint "malangdo",142,118; + close; + case 3: + mes "[Innkeeper]"; + mes "A busy moment make you hurry and laziness makes you lazy."; + next; + mes "- Wonder if there is work time. -"; + close; + } + close; +} + +malangdo,151,120,3 script Wandering Minstrel#mal 479,{ + mes "[Wandering Minstrel]"; + mes "I have a sleepy momnet whenever seeing that innkeeper. So comfortable..."; + close; +} + +malangdo,149,120,5 script Wandering Wanderer#mal 485,5,1,{ + mes "[Wandering Wanderer]"; + mes "Cats living in here is so energetic."; + mes "And it makes me dance~"; + close; +OnTouch: + switch(rand(5)) { + case 0: + soundeffect "ring_of_nibelungen.wav",0; + break; + case 1: + soundeffect "dont_forget_me_not.wav",0; + break; + case 2: + soundeffect "humming.wav",0; + break; + case 3: + soundeffect "assassin_of_sunset.wav",0; + break; + case 4: + emotion e_ho; + emotion e_ho,0,"Wandering Minstrel#mal"; + break; + } + end; +} + +malangdo,216,168,3 script Cat Trainer#mal1 558,0,8,{ + emotion e_awsm; + mes "[Cat Trainer]"; + mes "Phh there is a tail and butt with soft and tender!"; + mes "Can't stand, this is heaven~~!!"; + next; + emotion e_gg; + mes "[Cat Trainer]"; + mes "My hidden card ^FF0000<Silvervine Fruit>^000000 can make all cats in Meow Meow Island as my slaves~ haha!"; + next; + select("^FF0000<Silvervine Fruit>^000000?"); + mes "[Cat Trainer]"; + mes "Silvervine Fruit is a rare item!"; + mes "I can barely get it."; + mes "But every cat must love this one with no complaint."; + next; + select("Where can I get ^FF0000<Silvervine Fruit>^000000?"); + mes "[Cat Trainer]"; + mes "How do you get it that I could have it barely?"; + mes "This can't be taken even with ^3131FFall the zeny in this world^000000!"; + next; + emotion e_gg; + mes "[Cat Trainer]"; + mes "Cats in Meow Meow Island is mine...! And it should be done haha~"; + mes "^FF0000<Silvervine Fruit>^000000! I can be a king in Meow Meow Island~ ohhhh!!!"; + close; +OnTouch: + emotion e_flash; + end; +} +malangdo,164,203,3 duplicate(Cat Trainer#mal1) Cat Trainer#mal2 853,5,8
\ No newline at end of file diff --git a/npc/re/cities/mora.txt b/npc/re/cities/mora.txt new file mode 100644 index 000000000..5c2a93aee --- /dev/null +++ b/npc/re/cities/mora.txt @@ -0,0 +1,321 @@ +//===== rAthena Script ======================================= +//= Mora Village +//===== By: ================================================== +//= SuperHulk +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Mora Town Script +//===== Additional Comments: ================================= +//= 1.0 First version. [SuperHulk] +//= 1.1 Translations to English. [Flaid] +//= 1.1a Standardized. [Euphy] +//= 1.2 Added new NPCs. [Flaid] +//============================================================ + +mora,185,163,5 script Mora Citizen#1 516,{ + mes "[Scholar Gary]"; + mes "Hello, traveler!"; + mes "I'm Gary, the expert about enchantments in this area."; + mes "What do you want to know?"; + next; + switch(select("Fundamentals of enchantment.:Nothing.")) { + case 1: + mes "[Scholar Gary]"; + mes "Ah, I see that you are interested"; + mes "in enchantments!"; + mes "Alright, here are the basics!!"; + mes "After this you should understand"; + mes "the mysteries of our enchantments!"; + next; + mes "[Scholar Gary]"; + mes "First of all, you must know"; + mes "that this is magic, not an"; + mes "exact science."; + next; + mes "[Scholar Gary]"; + mes "You don't really know what will"; + mes "happen. You can be lucky or"; + mes "unlucky, and get a more or"; + mes "less powerful enchantment."; + next; + mes "[Scholar Gary]"; + mes "You can miss the magic, too!"; + mes "If this happens while your equip"; + mes "is being enchanted, you'll lose it"; + mes "all previous enchantments, cards, and the refine!"; + next; + mes "[Scholar Gary]"; + mes "There is also a risk of"; + mes "breaking your equipment"; + mes "while trying to enchant"; + mes "your equip with a second enchantment!"; + next; + mes "[Scholar Gary]"; + mes "Each attempt to enchant will cost"; + mes "you 1 Mora coin and 100,000 zeny."; + mes "If you don't know yet, the money"; + mes "made with this service goes"; + mes "straight to the people of Mora!"; + next; + mes "[Scholar Gary]"; + mes "Those were the basics."; + mes "Take them to your heart."; + mes "For more details, you can"; + mes "always visit my master,"; + mes "Gougueulé Tonami!"; + close; + case 2: + mes "[Scholar Gary]"; + mes "Goodbye, and good luck!"; + close; + } +} + +mora,52,138,8 script Mora Citizen#2 516,{ + mes "[Valere]"; + mes "Hello, adventurer!"; + mes "You look like you're"; + mes "lost, aren't you!?"; + next; + mes "[Valere]"; + mes "..."; + mes "Ah, okay."; + mes "But you look like you want to"; + mes "enchant your equipment!"; + next; + mes "[Valere]"; + mes "I only need to know one thing"; + mes "before telling you more about"; + mes "the Mora equipment enchants!"; + mes "So tell me, what is your class?"; + next; + switch(select("Warlock.:Arch Bishop.:Ranger.:Guillotine Cross.:Rune Knight.:Other.:Goodbye.")) { + case 1: + mes "[Valere]"; + mes "Hmm, you should visit the"; + mes "Artifact Crafter."; + mes "That is our enchantment specialist"; + mes "for Warlock equipment!"; + close; + case 2: + mes "[Valere]"; + mes "Hmm, you should visit the"; + mes "Master of Relics."; + mes "That is our enchantment specialist"; + mes "for Arch Bishop equipment!"; + close; + case 3: + case 4: + case 5: + mes "[Valere]"; + mes "Hmm, you should visit the"; + mes "Artifact Researcher."; + mes "That is our enchantment specialist"; + mes "for Ranger, Guillotine Cross,"; + mes "and Rune Knight equipment!"; + close; + case 6: + mes "[Valere]"; + mes "Hmm, there is the Master Tailor"; + mes "who sells and enchants the 'Army Padding'."; + next; + mes "[Valere]"; + mes "There's also the Pendant Crafter"; + mes "who enchants 'Pendant of Guardian'."; + next; + mes "[Valere]"; + mes "And finally the Bulberry Westhood"; + mes "who enchants 'Loki's muffler'."; + close; + case 7: + mes "[Valere]"; + mes "Goodbye, and good luck!"; + close; + } +} + +mora,160,123,5 script Mora Citizen#3 517,{ + mes "[Boudril]"; + mes "Hey, you seem to be"; + mes "so far from home!"; + mes "Mora is a remote town."; + mes "That's why we have"; + mes "own currency here!"; + next; + mes "[Boudril]"; + mes "Beyond that, our community"; + mes "developed this craft."; + mes "Items found here cannot"; + mes "be found anywhere else!"; + close; +} + +mora,105,100,3 script Mora Citizen#4 518,{ + mes "[Buisso]"; + mes "Hello, my friend."; + mes "What brings you to this"; + mes "place, so far from home?"; + mes "Are you looking for a challange?"; + mes "You won't be disappointed here!"; + next; + mes "[Buisso]"; + mes "We are surrounded by the"; + mes "Bifrost, an area with powerful"; + mes "and deceitful monsters..."; + mes "So cute, but still dangerous."; + close; +} + +mora,98,104,4 script Mora Citizen#5 516,{ + mes "[Malavida]"; + mes "..."; + mes "What!? I look depressed!?"; + mes "It's normal living here!"; + mes "My dream was to be like you!"; + next; + mes "[Malavida]"; + mes "Traveling around the world,"; + mes "chasing monsters,"; + mes "hunting treasure..."; + mes "You have the chance. Use it!"; + close; +} + +mora,102,107,6 script Mora Citizen#6 517,{ + mes "[Skape]"; + mes "Have you tasted our dish?"; + mes "The beef toast!?"; + mes "This delicious beef only"; + mes "exists in the Bifrost!"; + next; + mes "[Skape]"; + mes "If you want to taste this"; + mes "dish, visit our chef."; + mes "He makes the best"; + mes "Mora beef toast!"; + close; +} + +mora,101,107,4 script Mora Citizen#7 518,{ + mes "[Wouadel Kami]"; + mes "*Dances*"; + mes "I'm a choreographer, but"; + mes "nobody understands me."; + mes "*doridori*"; + mes "*bingbing*"; + mes "*bangbang*"; + close; +} + +mora,103,100,6 script Mora Citizen#8 518,{ + mes "[Didier Lans]"; + mes "Yooo gaba gaba!"; + mes "Hello, my dear. You've heard"; + mes "about my teachings, have you?"; + mes "Do not hit your friends!"; + mes "*makes small steps backwards*"; + next; + mes "[Didier Lans]"; + mes "Yooo gaba gaba!"; + mes "Eat your vegetables."; + mes "*is the fool*"; + mes "Be smart, be polite!"; + mes "Yooo gaba gaba!"; + close; +} + +mora,184,169,3 script Mora Citizen#9 516,{ + mes "[Moussa Wi]"; + mes "Bleh, I've been"; + mes "here for too long."; + mes "Living with these dogs..."; + mes "Having nothing to do..."; + mes "Hmm, how about you"; + mes "take care of them?"; + close; +} + +mora,108,182,3 script Mora Citizen#10 516,{ + mes "[Yosou Keh]"; + mes "Hello!"; + mes "I am Yosou Keh,"; + mes "a resident of Mora."; + mes "The Bifrost is populated"; + mes "with many strong monsters..."; + close; +} + +mora,113,185,5 script Mora Citizen#11 516,{ + mes "[Ninkasi]"; + mes "Hey, dude."; + mes "How are you today, dude?"; + mes "What can I do for you, dude?"; + next; + switch(select("Why do you call me 'dude'?:Goodbye.")) { + case 1: + mes "[Ninkasi]"; + mes "Why not?"; + mes "Calling others 'dude'"; + mes "is my brand mark."; + mes "Be cool, dude, relax!"; + mes "Enjoy your life, dude!"; + close; + case 2: + mes "[Ninkasi]"; + mes "See you again, dude!"; + close; + } +} + +mora,43,127,4 script Mora Citizen#12 522,{ + mes "[Glouti Vori]"; + mes "Mm, I love this beef toast!"; + mes "That's the only reason I'm"; + mes "still here! There's nothing"; + mes "better than Mora beef toast!"; + close; +} + +mora,35,119,7 script South World Dealer 513,{ + mes "[South World Dealer]"; + mes "..."; + close; +} + +mora,139,102,4 script Milvida 515,{ + mes "[Milvida]"; + mes "Welcome to Mora~"; + mes "In the center of the city"; + mes "you can find all the shops"; + mes "and some enchanters."; + next; + mes "[Milvida]"; + mes "Northeast of the city is"; + mes "where the food is located."; + close; +} + +mora,55,124,2 script Cat Traveler 495,{ + mes "[Cat Traveler]"; + mes "This city is like Malangdo"; + mes "in several aspects,"; + mes "don't you think?"; + close; +} + +mora,131,165,4 script Bifrost Resident#1 520,{ + mes "[Bifrost Resident]"; + mes "Welcome to the workshop"; + mes "of the west clan. If you"; + mes "want your Loki Muffler"; + mes "enchanted, please contact"; + mes "my boss. He makes miracles!"; + next; + mes "[Bifrost Resident]"; + mes "On a side note... I think I'm"; + mes "really cute, don't you agree?"; + close; +}
\ No newline at end of file diff --git a/npc/re/guides/guides_alberta.txt b/npc/re/guides/guides_alberta.txt new file mode 100644 index 000000000..6c773c535 --- /dev/null +++ b/npc/re/guides/guides_alberta.txt @@ -0,0 +1,261 @@ +//===== rAthena Script ======================================= +//= Alberta Guides +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guides for the city of Alberta +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guides. +//============================================================ + +alberta,23,238,4 script Guide#01alberta::AlbertaGuide 105,{ + cutin "prt_soldier",2; + mes "[Alberta Guide]"; + mes "Welcome to ^8B4513Alberta^000000,"; + mes "the Port City."; + mes "Do you need help navigating the city?"; + next; + while (1) { + switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:[ Destination Ports ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + set .@loop,1; + while (.@loop) { + switch(select("[ Tool Shop ]:[ Forge ]:[ Weapon & Armor Shop ]:[ Inn ]:[ Beauty Salon ]:[ Merchant Guild ]:Previous Menu")) { + case 1: + mes "[Alberta Guide]"; + mes "Let me mark the location of the"; + mes "the ^0000FFTool Shop^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,98,154,0,0x0A82FF; + next; + break; + case 2: + mes "[Alberta Guide]"; + mes "The ^B9062FForge^000000 is currently"; + mes "located inside the Merchant Guild building."; + mes "Would you like to check any other locations?"; + viewpoint 1,35,41,1,0xFF0000; + next; + break; + case 3: + mes "[Alberta Guide]"; + mes "Let me mark the location of the"; + mes "the ^FF5400Weapon & Armor Shop^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,117,37,2,0xFFB400; + next; + break; + case 4: + mes "[Alberta Guide]"; + mes "Let me mark the location of the"; + mes "the ^006400Inn^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,65,233,3,0xAAFF00; + next; + break; + case 5: + mes "[Alberta Guide]"; + mes "Let me mark the location of the"; + mes "the ^7F3300Beauty Salon^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,48,145,4,0xD2691E; + next; + break; + case 6: + mes "[Alberta Guide]"; + mes "The Merchant Guild is where"; + mes "you can change your job to ^800080Merchant."; + mes "Let me mark its location"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,33,41,5,0xDA70D6; + next; + break; + case 7: + set .@loop,0; + break; + } + } + break; + case 2: + set .@loop,1; + while (.@loop) { + switch(select("[ Eden Teleport Officer ]:[ Kafra Employee ]:[ Cool Event Employee ]:[ Bullet Merchant ]:[ Cooking Ingredient Merchant ]:Previous Menu")) { + case 1: + mes "[Alberta Guide]"; + mes "^B9062FEden Teleport Officers^000000 are located in south Alberta"; + mes "and inside the Merchant Guild building."; + mes "Let me mark their locations on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,33,41,6,0xFF0000; + viewpoint 1,121,68,7,0xFF0000; + next; + break; + case 2: + mes "[Alberta Guide]"; + mes "Let me mark the location of the"; + mes "^0000FFKafra Employees^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,33,41,8,0x0A82FF; + viewpoint 1,113,60,9,0x0A82FF; + next; + break; + case 3: + mes "[Alberta Guide]"; + mes "When you win event items,"; + mes "you can claim them through the ^FF5400Cool Event Employee^000000."; + mes "Would you like to check any other locations?"; + viewpoint 1,148,57,10,0xFFB400; + next; + break; + case 4: + mes "[Alberta Guide]"; + mes "The ^7F3300Bullet Merchants^000000 for ^7F3300Gunslingers^000000"; + mes "are located"; + mes "near the center of the city."; + mes "Would you like to check any other locations?"; + viewpoint 1,117,158,11,0xD2691E; + next; + break; + case 5: + mes "[Alberta Guide]"; + mes "The ^006400Chef Assistant^000000 in Alberta"; + mes "has many regular customers,"; + mes "especially for his ^006400Delicious Fishes^000000."; + mes "Would you like to check any other locations?"; + viewpoint 1,167,135,12,0xAAFF00; + next; + break; + case 6: + set .@loop,0; + break; + } + } + break; + case 3: + set .@loop,1; + while (.@loop) { + switch(select("[ Port - Northern Dock ]:[ Port - Brasilis ]:[ Port - Amatsu ]:[ Port - Kunlun ]:[ Port - Moscovia ]:[ Port - Louyang ]:[ Port - Ayothaya ]:Previous Menu")) { + case 1: + mes "[Alberta Guide]"; + mes "You can use"; + mes "the ^B9062FNorthern Dock^000000"; + mes "to go to the ^B9062FSunken Ship^000000 or ^B9062FIzlude Marina^000000."; + mes "Would you like to check any other locations?"; + viewpoint 1,192,151,13,0xFF0000; + next; + break; + case 2: + mes "[Alberta Guide]"; + mes "Please talk to the ^800080Crewman^000000 at the Alberta Port"; + mes "if you'd like to visit ^800080Brasilis^000000,"; + mes "the City of Passion."; + mes "Would you like to check any other locations?"; + viewpoint 1,246,82,14,0xDA70D6; + next; + break; + case 3: + mes "[Alberta Guide]"; + mes "Please talk to the"; + mes "the ^0000FFSea Captain^000000 at the Alberta Port"; + mes "if you'd like to enjoy viewing cherry blossoms"; + mes "in ^0000FFAmatsu^000000."; + mes "Would you like to check any other locations?"; + viewpoint 1,246,74,15,0x0A82FF; + next; + break; + case 4: + mes "[Alberta Guide]"; + mes "Please talk to the"; + mes "^B9062FKunlun Envoy^000000 at the Alberta Port"; + mes "if you'd like to experience the exotic atmosphere of ^B9062FKunlun^000000."; + mes "Would you like to check any other locations?"; + viewpoint 1,246,62,16,0xFF0000; + next; + break; + case 5: + mes "[Alberta Guide]"; + mes "Please talk to the"; + mes "^FF5400Moscovia P.R. Officer^000000 at the Alberta Port"; + mes "if you'd like to move to"; + mes "^FF5400Moscovia^000000,"; + mes "the Eden on the ocean."; + mes "Would you like to check any other locations?"; + viewpoint 1,246,51,17,0xFFB400; + next; + break; + case 6: + mes "[Alberta Guide]"; + mes "Please talk to the"; + mes "^7F3300Girl^000000 at the Alberta Port"; + mes "if you'd like to move to the historical city,"; + mes "^7F3300Louyang^000000."; + mes "Would you like to check any other locations?"; + viewpoint 1,246,40,18,0xD2691E; + next; + break; + case 7: + mes "[Alberta Guide]"; + mes "Please talk to"; + mes "^800080Aibakthing^000000 at the Alberta Port"; + mes "if you'd like to move to"; + mes "^800080Ayothaya^000000,"; + mes "the religious city."; + mes "Would you like to check any other locations?"; + viewpoint 1,246,29,19,0xDA70D6; + next; + break; + case 8: + set .@loop,0; + break; + } + } + break; + case 4: + mes "[Alberta Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,1,1,0,0xFFFF00; + viewpoint 2,1,1,1,0x000000; + viewpoint 2,1,1,2,0xFF0000; + viewpoint 2,1,1,3,0xFFFF00; + viewpoint 2,1,1,4,0xFFFF00; + viewpoint 2,1,1,5,0xFFFF00; + viewpoint 2,1,1,6,0xFFFF00; + viewpoint 2,1,1,7,0xFFFF00; + viewpoint 2,1,1,8,0xFFFF00; + viewpoint 2,1,1,9,0xFFFF00; + viewpoint 2,1,1,10,0xFFFF00; + viewpoint 2,1,1,11,0xFFFF00; + viewpoint 2,1,1,12,0x000000; + viewpoint 2,1,1,13,0xFFFF00; + viewpoint 2,1,1,14,0xFFFF00; + viewpoint 2,1,1,15,0xFFFF00; + viewpoint 2,1,1,16,0xFFFF00; + viewpoint 2,1,1,17,0xFFFF00; + viewpoint 2,1,1,18,0xFFFF00; + viewpoint 2,1,1,19,0xFFFF00; + next; + break; + case 5: + mes "[Alberta Guide]"; + mes "Enjoy your stay."; + close2; + cutin "prt_soldier",255; + end; + } + } +} + +alberta,120,60,3 duplicate(AlbertaGuide) Guide#02alberta 105 +alberta,184,143,4 duplicate(AlbertaGuide) Guide#03alberta 105 diff --git a/npc/re/guides/guides_aldebaran.txt b/npc/re/guides/guides_aldebaran.txt new file mode 100644 index 000000000..f74714fd5 --- /dev/null +++ b/npc/re/guides/guides_aldebaran.txt @@ -0,0 +1,163 @@ +//===== rAthena Script ======================================= +//= Al De Baran Guides +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guides for the city of Al De baran +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//============================================================ + +aldebaran,139,63,4 script Guide#01aldebaran::GuideAldearan 105,{ + cutin "prt_soldier",2; + mes "[Al De Baran Guide]"; + mes "Welcome to ^8B4513Al De Baran^000000,"; + mes "the Border City."; + mes "Do you need help navigating the city?"; + next; + while (1) { + switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + set .@loop,1; + while (.@loop) { + switch(select("[ Kafra Headquarters ]:[ Alchemist Guild ]:[ Clock Tower ]:[ Inn & Tool Shop ]:[ Repair & Buy Equipment ]:[ Tavern ]:Previous Menu")) { + case 1: + mes "[Al De Baran Guide]"; + mes "Let me mark the location of the"; + mes "^B9062FKafra Headquarters^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,61,229,0,0xFF0000; + next; + break; + case 2: + mes "[Al De Baran Guide]"; + mes "Let me mark the location of the"; + mes "the ^0000FFAlchemist Guild^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,60,60,1,0x0A82FF; + next; + break; + case 3: + mes "[Al De Baran Guide]"; + mes "Let me mark the location of the"; + mes "the ^FF5400Clock Tower^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,139,133,2,0xFFB400; + next; + break; + case 4: + mes "[Al De Baran Guide]"; + mes "Let me mark the location of the"; + mes "the ^006400Inn^000000 and"; + mes "the ^006400Tool Shop^000000 building"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,197,70,3,0xAAFF00; + next; + break; + case 5: + mes "[Al De Baran Guide]"; + mes "If you'd like to ^7F3300Buy or Repair Equipment^000000,"; + mes "then this is the place you'll want to visit."; + mes "Would you like to check any other locations?"; + viewpoint 1,72,197,4,0xD2691E; + next; + break; + case 6: + mes "[Al De Baran Guide]"; + mes "Let me mark the location of the"; + mes "the ^800080Tavern^000000"; + mes "on your mini-map."; + viewpoint 1,231,106,5,0xDA70D6; + next; + break; + case 7: + set .@loop,0; + break; + } + } + break; + case 2: + set .@loop,1; + while (.@loop) { + switch(select("[ Eden Teleport Officer ]:[ Kafra Employee ]:[ Mr. Claus ]:[ Chef Assistant ]:Previous Menu")) { + case 1: + mes "[Al De Baran Guide]"; + mes "Let me mark the location of the"; + mes "^B9062FEden Teleport Officer^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,133,119,6,0xFF0000; + next; + break; + case 2: + mes "[Al De Baran Guide]"; + mes "Let me mark the location of the"; + mes "^0000FFKafra Employee^000000"; + mes "on your mini-map."; + viewpoint 1,143,119,7,0x0A82FF; + next; + break; + case 3: + mes "[Al De Baran Guide]"; + mes "Mr. Claus can teleport"; + mes "you to ^006400Lutie^000000."; + mes "Let me mark his location"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,168,168,8,0xAAFF00; + next; + break; + case 4: + mes "[Al De Baran Guide]"; + mes "Let me mark the location of the"; + mes "^7F3300Chef Assistant^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,165,107,9,0xD2691E; + next; + break; + case 5: + set .@loop,0; + break; + } + } + break; + case 3: + mes "[Al De Baran Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,1,1,0,0xFFFF00; + viewpoint 2,1,1,1,0x000000; + viewpoint 2,1,1,2,0xFF0000; + viewpoint 2,1,1,3,0xFFFF00; + viewpoint 2,1,1,4,0xFFFF00; + viewpoint 2,1,1,5,0xFFFF00; + viewpoint 2,1,1,6,0xFFFF00; + viewpoint 2,1,1,7,0xFFFF00; + viewpoint 2,1,1,8,0xFFFF00; + viewpoint 2,1,1,9,0xFFFF00; + next; + break; + case 4: + mes "[Al De Baran Guide]"; + mes "Alright then,"; + mes "enjoy your stay!"; + close2; + cutin "prt_soldier",255; + end; + } + } +} + +aldebaran,243,143,2 duplicate(GuideAldearan) Guide#02aldebaran 105 +aldebaran,135,243,4 duplicate(GuideAldearan) Guide#03aldebaran 105 +aldebaran,36,135,6 duplicate(GuideAldearan) Guide#04aldebaran 105 diff --git a/npc/re/guides/guides_amatsu.txt b/npc/re/guides/guides_amatsu.txt new file mode 100644 index 000000000..431707526 --- /dev/null +++ b/npc/re/guides/guides_amatsu.txt @@ -0,0 +1,91 @@ +//===== rAthena Script ======================================= +//= Amatsu Guide +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guide for the city of Amatsu. +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//= 1.1 Optimized. [Euphy] +//============================================================ + +amatsu,202,91,3 script Amatsu Guide#amatsu 758,{ + mes "[Amachang]"; + mes "Welcome to ^8B4513Amatsu^000000,"; + mes "the town of kind towners"; + mes "and beautiful cherry blossoms."; + next; + mes "[Amachang]"; + mes "I'm Amachang,"; + mes "the 13th Miss Amatsu."; + mes "I will guide you about town"; + mes "as Miss Amatsu."; + mes "Please tell me"; + mes "if you want to know something."; + while (1) { + next; + switch(select("[ Kafra Employee ]:[ Bar ]:[ Weapon Dealer ]:[ Tool Dealer ]:[ Amatsu Palace ]:[ Chef Assistant ]:[ Ninja Guild Building ]:[ Sea Captain ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + callsub L_Mark,"^0000FFKafra Employee"; + viewpoint 1,102,149,0,0x0A82FF; + break; + case 2: + callsub L_Mark,"^006400Bar"; + viewpoint 1,215,116,1,0xAAFF00; + break; + case 3: + callsub L_Mark,"^008080Weapon Dealer"; + viewpoint 1,129,117,2,0x008080; + break; + case 4: + callsub L_Mark,"^FF1493Tool Dealer"; + viewpoint 1,97,117,3,0xFF1493; + break; + case 5: + callsub L_Mark,"^8B4513Amatsu Palace"; + viewpoint 1,87,235,4,0x8B4513; + break; + case 6: + callsub L_Mark,"^8A2BE2Chef Assistant"; + viewpoint 1,206,150,5,0x8A2BE2; + break; + case 7: + callsub L_Mark,"^4B0082Ninja Guild Building"; + viewpoint 1,148,137,6,0x4B0082; + break; + case 8: + callsub L_Mark,"^00BFFFSea Captain"; + viewpoint 1,195,79,7,0x00BFFF; + break; + case 9: + mes "[Amachang]"; + mes "I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,1,1,0,0xFFFFFF; + viewpoint 2,1,1,1,0xFFFFFF; + viewpoint 2,1,1,2,0xFFFFFF; + viewpoint 2,1,1,3,0xFFFFFF; + viewpoint 2,1,1,4,0xFFFFFF; + viewpoint 2,1,1,5,0xFFFFFF; + viewpoint 2,1,1,6,0xFFFFFF; + viewpoint 2,1,1,7,0xFFFFFF; + break; + case 10: + mes "[Amachang]"; + mes "Enjoy your trip~!!"; + close; + } + } + end; +L_Mark: + mes "[Amachang]"; + mes "The "+getarg(0)+"^000000 is"; + mes "marked on your mini-map."; + mes "Is there anything else I can do for you?"; + return; +} diff --git a/npc/re/guides/guides_ayothaya.txt b/npc/re/guides/guides_ayothaya.txt new file mode 100644 index 000000000..b6da9cba5 --- /dev/null +++ b/npc/re/guides/guides_ayothaya.txt @@ -0,0 +1,170 @@ +//===== rAthena Script ======================================= +//= Ayothaya Guide +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guide for the city of Ayothaya +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//= 1.1 Added missing case. [Joseph] +//============================================================ + +ayothaya,203,169,4 script Ayothaya Guide Noi#01ay 839,{ + mes "[Noi]"; + mes "Hello~"; + mes "Welcome to ^8B4513Ayothaya^000000."; + mes "This town is linked to a river through the wild forest."; + mes "It's a really calm country."; + mes "Take your time to look around."; + while (1) { + next; + switch(select("[ Weapon Shop ]:[ Tool Shop ]:[ Tavern ]:[ Shrine ]:[ Fishing Spot ]:[ Aibakthing ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + mes "[Noi]"; + mes "The ^0000FFWeapon Shop^000000"; + mes "in Ayothaya has special weapons."; + mes "You can find great weapons there."; + mes "Is there anything else I can do for you?"; + viewpoint 1,163,90,0,0x0A82FF; + break; + case 2: + mes "[Noi]"; + mes "Our citizens purchase many products in the ^006400Tool Shop^000000."; + mes "Make sure you get all you need there."; + mes "Do you need anything else??"; + viewpoint 1,131,86,1,0xAAFF00; + break; + case 3: + mes "[Noi]"; + mes "Part of adventuring is collecting information."; + mes "The ^008080Tavern^000000 is crowded with lots of travelers where you can get useful information."; + mes "Is there anything else I can do for you?"; + viewpoint 1,229,72,2,0x008080; + break; + case 4: + mes "[Noi]"; + mes "To calm your heart, go to the ^FF1493Shrine^000000 and say a prayer."; + mes "Is there anything else I can do for you?"; + viewpoint 1,208,280,3,0xFF1493; + break; + case 5: + mes "[Noi]"; + mes "Ayothaya is close to the beach, so most people enjoy fishing."; + mes "They really love to fish."; + mes "Go ^8B4513fishing^000000 and try to grab a big fish."; + mes "Is there anything else I can do for you?"; + viewpoint 1,255,99,4,0x8B4513; + break; + case 6: + mes "[Noi]"; + mes "If you want to return home"; + mes "find ^00BFFFAibakthing^000000"; + mes "and ask him to send you back."; + mes "Is there anything else I can do for you?"; + viewpoint 1,151,68,5,0x00BFFF; + break; + case 7: + mes "[Noi]"; + mes "I'll remove all marks from your mini-map."; + mes "Do you need anything else??"; + viewpoint 2,1,1,0,0xFFFFFF; + viewpoint 2,1,1,1,0xFFFFFF; + viewpoint 2,1,1,2,0xFFFFFF; + viewpoint 2,1,1,3,0xFFFFFF; + viewpoint 2,1,1,4,0xFFFFFF; + viewpoint 2,1,1,5,0xFFFFFF; + break; + case 8: + mes "[Noi]"; + mes "Enjoy your trip~!"; + close; + } + } +} + +ayothaya,146,86,4 script Ayothaya Guide Noa#01ay 839,{ + mes "[Noa]"; + mes "Hello~"; + mes "Welcome to ^8B4513Ayothaya^000000."; + mes "This town is linked to a river through the wild forest."; + mes "It's a really calm country."; + mes "Take your time to look around."; + while (1) { + next; + switch(select("[ Kafra Employee ]:[ Weapon Shop ]:[ Tool Shop ]:[ Tavern ]:[ Shrine ]:[ Fishing Spot ]:[ Aibakthing ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + mes "[Noa]"; + mes "The ^0000FFKafra Employee^000000 is"; + mes "marked on your mini-map."; + mes "Check your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 1,212,169,0,0x0A82FF; + break; + case 2: + mes "[Noa]"; + mes "The ^0000FFWeapon Shop^000000"; + mes "in Ayothaya has special weapons."; + mes "You can find great weapons there."; + mes "Is there anything else I can do for you?"; + viewpoint 1,163,90,1,0xAAFF00; + break; + case 3: + mes "[Noa]"; + mes "Our citizens purchase many products in the ^006400Tool Shop^000000."; + mes "Make sure you get all you need there."; + mes "Do you need anything else??"; + viewpoint 1,131,86,2,0x008080; + break; + case 4: + mes "[Noa]"; + mes "Part of adventuring is collecting information."; + mes "The ^008080Tavern^000000 is crowded with lots of travelers where you can get useful information."; + mes "Is there anything else I can do for you?"; + viewpoint 1,229,72,3,0xFF1493; + break; + case 5: + mes "[Noa]"; + mes "To calm your heart, go to the ^FF1493Shrine^000000 and say a prayer."; + mes "Is there anything else I can do for you?"; + viewpoint 1,208,280,4,0x8B4513; + break; + case 6: + mes "[Noa]"; + mes "Ayothaya is close to the beach, so most people enjoy fishing."; + mes "They really love to fish."; + mes "Go ^8B4513fishing^000000 and try to grab a big fish."; + mes "Is there anything else I can do for you?"; + viewpoint 1,255,99,5,0x9400D3; + break; + case 7: + mes "[Noa]"; + mes "If you want to return home"; + mes "find ^00BFFFAibakthing^000000"; + mes "and ask him to send you back."; + mes "Is there anything else I can do for you?"; + viewpoint 1,151,68,6,0x00BFFF; + break; + case 8: + mes "[Noa]"; + mes "I'll remove all marks from your mini-map."; + mes "Do you need anything else??"; + viewpoint 2,1,1,0,0xFFFFFF; + viewpoint 2,1,1,1,0xFFFFFF; + viewpoint 2,1,1,2,0xFFFFFF; + viewpoint 2,1,1,3,0xFFFFFF; + viewpoint 2,1,1,4,0xFFFFFF; + viewpoint 2,1,1,5,0xFFFFFF; + viewpoint 2,1,1,6,0xFFFFFF; + break; + case 9: + mes "[Noa]"; + mes "Enjoy your trip~!"; + close; + } + } +} diff --git a/npc/re/guides/guides_brasilis.txt b/npc/re/guides/guides_brasilis.txt new file mode 100644 index 000000000..6e219b582 --- /dev/null +++ b/npc/re/guides/guides_brasilis.txt @@ -0,0 +1,81 @@ +//===== rAthena Script ======================================= +//= Brasilis Guide +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guide for the city of Brasilis +//===== Additional Comments: ================================= +//= 1.0 First Version, Renewal guide. +//= 1.1 Added a missing close. +//============================================================ + +brasilis,219,97,3 script Brasilis Guide 478,{ + mes "[Brasilis Guide]"; + mes "Welcome to ^8B4513Brasilis^000000, a country as passionate as the sun."; + mes "If you have any questions, please ask me."; + next; + mes "[Brasilis Guide]"; + mes "Where can I guide you?"; + while (1){ + next; + switch(select("[ Hotel ]:[ Jungle Cable ]:[ Art Museum ]:[ Market ]:[ Verass Monument ]:Remove marks from Mini-Map:Cancel")) { + case 1: + mes "[Brasilis Guide]"; + mes "The Brasilis Hotel is located just above, ^FF3355+^000000."; + mes "Is there anything else I can do for you?"; + viewpoint 1,274,151,2,0xFF3355; + next; + break; + case 2: + mes "[Brasilis Guide]"; + mes "Do you want to go through the rough jungle? You can take a Jungle Cable here ^CE6300+^000000."; + mes "Is there anything else I can do for you?"; + viewpoint 1,308,335,3,0xCE6300; + next; + break; + case 3: + mes "[Brasilis Guide]"; + mes "The pride of Brasilis, the world scale Art Museum is at ^A5BAAD+^000000."; + mes "Is there anything else I can do for you?"; + viewpoint 1,137,167,4,0x00FF00; + next; + break; + case 4: + mes "[Brasilis Guide]"; + mes "You can buy items for hunting at the Market here ^55FF33+^000000."; + mes "Is there anything else I can do for you?"; + viewpoint 1,254,248,5,0x55FF33; + next; + break; + case 5: + mes "[Brasilis Guide]"; + mes "The iconic monument of Brasilis, the Verass Monument stands at ^3355FF+^000000."; + mes "Is there anything else I can do for you?"; + viewpoint 1,195,235,6,0x3355FF; + next; + break; + case 6: + mes "[Brasilis Guide]"; + mes "I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 0,274,151,2,0x00FF00; + viewpoint 0,308,335,3,0x00FF00; + viewpoint 0,137,167,4,0x00FF00; + viewpoint 0,254,248,5,0x00FF00; + viewpoint 0,195,235,6,0x00FF00; + next; + break; + case 7: + mes "[Brasilis Guide]"; + mes "Wandering on your own is always the best way to explore. Anyway, take care."; + close; + } + close; + break; + } +} diff --git a/npc/re/guides/guides_comodo.txt b/npc/re/guides/guides_comodo.txt new file mode 100644 index 000000000..2bea02527 --- /dev/null +++ b/npc/re/guides/guides_comodo.txt @@ -0,0 +1,178 @@ +//===== rAthena Script ======================================= +//= Comodo Guides +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guides for the city of Comodo. +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//= 1.1 Fixed and optimized. [Euphy] +//============================================================ + +comodo,322,178,4 script Comodo Guide#01comodo::GuideComodo 700,{ + mes "[Comodo Guide]"; + mes "Welcome to ^8B4513Comodo^000000,"; + mes "the Beach Town of the Rune-Midgarts Kingdom."; + mes "Do you need help navigating the town?"; + next; + while (1) { + switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel:About ^8B4513Comodo^000000")) { + case 1: + set .@loop,1; + while (.@loop) { + switch(select("[ Tavern ]:[ Casino ]:[ Weapon & Armor Shop ]:[ Tool Shop ]:[ Campsite ]:[ Souvenir Vendor ]:[ East Cave Mao ]:[ West Cave Karu ]:[ North Cave Ruanda ]:[ Hula Dance Stage ]:[ Kafra Co. Western Branch ]:Previous Menu")) { + case 1: + callsub L_Mark,"^FF0000Tavern"; + viewpoint 1,166,298,0,0xFF0000; + next; + break; + case 2: + callsub L_Mark,"^FFA500Casino"; + viewpoint 1,140,98,1,0xFFA500; + next; + break; + case 3: + callsub L_Mark,"^FF4500Weapon & Armor Shop"; + viewpoint 1,266,70,2,0xFF4500; + next; + break; + case 4: + callsub L_Mark,"^B8860BTool Shop"; + viewpoint 1,86,128,3,0xB8860B; + next; + break; + case 5: + callsub L_Mark,"^32CD32Campsite"; + viewpoint 1,210,308,4,0x32CD32; + next; + break; + case 6: + callsub L_Mark,"^6B8E23Souvenir Vendor"; + viewpoint 1,298,124,5,0x6B8E23; + next; + break; + case 7: + callsub L_Mark,"^008B8BEast Cave Mao",1; + viewpoint 1,333,175,6,0x008B8B; + next; + break; + case 8: + callsub L_Mark,"^1E90FFWest Cave Karu",1; + viewpoint 1,24,214,7,0x1E90FF; + next; + break; + case 9: + callsub L_Mark,"^0000CDNorth Cave Ruanda",1; + viewpoint 1,176,358,8,0x0000CD; + next; + break; + case 10: + callsub L_Mark,"^C71585Hula Dance Stage"; + viewpoint 1,188,168,9,0xC71585; + next; + break; + case 11: + callsub L_Mark,"^DB7093Kafra Corporation Western Branch"; + viewpoint 1,136,202,10,0xDB7093; + next; + break; + case 12: + set .@loop,0; + break; + } + } + break; + case 2: + set .@loop,1; + while (.@loop) { + switch(select("[ Chief's House ]:[ Bor Robin ]:[ Kafra Employee ]:[ Roaming Bard ]:Previous Menu")) { + case 1: + callsub L_Mark,"^6495EDChief's House"; + viewpoint 1,114,294,11,0x6495ED; + next; + break; + case 2: + mes "[Comodo Guide]"; + mes "^228B22Bor Robin^000000"; + mes "helps adventurers to become ^228B22Dancers^000000."; + mes "Would you like to check any other locations?"; + viewpoint 1,193,151,12,0x228B22; + next; + break; + case 3: + callsub L_Mark,"^1E90FFKafra Employee"; + viewpoint 1,195,149,13,0x1E90FF; + next; + break; + case 4: + mes "[Comodo Guide]"; + mes "The ^DB7093Roaming Bard^000000"; + mes "helps adventurers to become ^DB7093Bards^000000."; + mes "Would you like to check any other locations?"; + viewpoint 1,211,155,14,0xDB7093; + next; + break; + case 5: + set .@loop,0; + break; + } + } + break; + case 3: + mes "[Comodo Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,166,298,0,0xFFFFFF; + viewpoint 2,140,98,1,0xFFFFFF; + viewpoint 2,266,70,2,0xFFFFFF; + viewpoint 2,86,128,3,0xFFFFFF; + viewpoint 2,210,308,4,0xFFFFFF; + viewpoint 2,298,124,5,0xFFFFFF; + viewpoint 2,333,175,6,0xFFFFFF; + viewpoint 2,24,214,7,0xFFFFFF; + viewpoint 2,176,358,8,0xFFFFFF; + viewpoint 2,188,168,9,0xFFFFFF; + viewpoint 2,136,202,10,0xFFFFFF; + viewpoint 2,114,294,11,0xFFFFFF; + viewpoint 2,193,151,12,0xFFFFFF; + viewpoint 2,195,149,13,0xFFFFFF; + viewpoint 2,211,155,14,0xFFFFFF; + next; + break; + case 4: + mes "[Comodo Guide]"; + mes "Enjoy your stay."; + close; + case 5: + mes "[Comodo Guide]"; + mes "^8B4513Comodo^000000 is"; + mes "located inside a cave"; + mes "and can never be reached by natural sunlight."; + next; + mes "[Comodo Guide]"; + mes "The villagers of ^8B4513Comodo^000000"; + mes "have overcome their poor natural surroundings"; + mes "to create a popular tourist site."; + mes "Is there anything else I can do for you?"; + next; + break; + } + } + end; +L_Mark: + mes "[Comodo Guide]"; + mes "Let me mark the location of"; + mes ((getarg(1,0))?"":"the ")+getarg(0)+"^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + return; +} + +comodo,181,347,4 duplicate(GuideComodo) Comodo Guide#02comodo 700 +comodo,197,149,3 duplicate(GuideComodo) Comodo Guide#03comodo 700 +comodo,37,219,4 duplicate(GuideComodo) Comodo Guide#04comodo 700 diff --git a/npc/re/guides/guides_einbroch.txt b/npc/re/guides/guides_einbroch.txt new file mode 100644 index 000000000..13dba9c9b --- /dev/null +++ b/npc/re/guides/guides_einbroch.txt @@ -0,0 +1,294 @@ +//===== rAthena Script ======================================= +//= Einbroch, and Einbech Guides +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guides for the city of Einbroch, and Einbech +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//============================================================ + +einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{ + cutin "ein_soldier",2; + mes "[Einbroch Guide]"; + mes "Welcome"; + mes "to ^8B4513Einbroch^000000,"; + mes "the City of Steel."; + mes "Please ask me if you"; + mes "have any questions."; + next; + while (1) { + switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + set .@loop,1; + while (.@loop) { + switch(select("[ Airport ]:[ Factory ]:[ Plaza ]:[ Hotel ]:[ Train Station ]:[ Weapon Shop ]:[ Laboratory ]:[ Monument ]:[ Blacksmith Guild ]:[ Gunslinger Guild ]:Previous Menu")) { + case 1: + mes "[Einbroch Guide]"; + mes "The ^FF0000Airport^000000 is located"; + mes "in the northwestern part"; + mes "of the city. There you can"; + mes "see our city's pride and joy, the Airship. Remember that you must pay admission to board the Airship."; + viewpoint 1,64,204,0,0xFF0000; + next; + break; + case 2: + mes "[Einbroch Guide]"; + mes "The Factory, perhaps the"; + mes "most important facility in"; + mes "Einbroch, is located in the"; + mes "southern part of the city."; + viewpoint 1,129,79,1,0xFF4500; + next; + break; + case 3: + mes "[Einbroch Guide]"; + mes "The Plaza, our biggest"; + mes "shopping district, can be"; + mes "found just east from the"; + mes "center of Einbroch."; + viewpoint 1,254,199,2,0xDAA520; + next; + break; + case 4: + mes "[Einbroch Guide]"; + mes "The Hotel is east of"; + mes "the Plaza and offers top"; + mes "caliber accomodations."; + mes "There, you can enjoy your"; + mes "stay in Einbroch in comfort~"; + viewpoint 1,254,199,3,0x008000; + next; + break; + case 5: + mes "[Einbroch Guide]"; + mes "The Train Station is"; + mes "located in the northeast"; + mes "part of Einbroch. Trains"; + mes "running between here"; + mes "and Einbech run all day"; + mes "long, everyday."; + viewpoint 1,232,272,4,0x0000FF; + next; + break; + case 6: + mes "[Einbroch Guide]"; + mes "The Weapon Shop is"; + mes "located north from the"; + mes "Plaza. There you can"; + mes "purchase weapons for"; + mes "your personal use."; + viewpoint 1,216,211,5,0x000080; + next; + break; + case 7: + mes "[Einbroch Guide]"; + mes "The Laboratory is an"; + mes "annex of the Factory and"; + mes "is located in the southwest"; + mes "sector of Einbroch."; + viewpoint 1,55,52,6,0x800080; + next; + break; + case 8: + mes "[Einbroch Guide]"; + mes "I will mark the location"; + mes "of the ^808080Monument^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,178,173,7,0x808080; + next; + break; + case 9: + mes "[Einbroch Guide]"; + mes "The Blacksmith Guild is"; + mes "located in the southeast"; + mes "part of Einbroch. You can"; + mes "upgrade your equipment"; + mes "by using their services."; + viewpoint 1,255,110,8,0x556B2F; + next; + break; + case 10: + mes "[Einbroch Guide]"; + mes "I will mark the location"; + mes "of the ^008080Gunslinger Guild^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,130,197,9,0x008080; + next; + break; + case 11: + set .@loop,0; + break; + } + } + break; + case 2: + set .@loop,1; + while (.@loop) { + switch(select("[ Armsmith ]:[ Kafra Employees ]:[ Eden Teleport Officer ]:Previous Menu")) { + case 1: + mes "[Einbroch Guide]"; + mes "You may go to ^FF1493Manthasman^000000,"; + mes "the ^FF1493Armsmith^000000"; + mes "on the 1st basement floor in the Blacksmith Guild."; + viewpoint 1,255,110,10,0xFF1493; + next; + mes "[Einbroch Guide]"; + mes "I will mark the location"; + mes "of the ^FF1493Armsmith^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + next; + break; + case 2: + mes "[Einbroch Guide]"; + mes "I will mark the locations"; + mes "of the ^DA70D6Kafra Employees^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,242,205,11,0xDA70D6; + viewpoint 1,59,203,12,0xDA70D6; + next; + break; + case 3: + mes "[Einbroch Guide]"; + mes "You can find"; + mes "the ^CD1039Eden Teleport Officer^000000"; + mes "on the 1st floor of the Gunslinger Guild."; + viewpoint 1,130,197,13,0xCD1039; + next; + mes "[Einbroch Guide]"; + mes "I will mark the location"; + mes "of the ^CD1039Eden Teleport Officer^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + next; + break; + case 4: + set .@loop,0; + break; + } + } + break; + case 3: + mes "[Einbroch Guide]"; + mes "I'll remove the marks from your mini-map."; + mes "Do you need any other help?"; + viewpoint 2,64,204,0,0xFFFFFF; + viewpoint 2,129,79,1,0xFFFFFF; + viewpoint 2,254,199,2,0xFFFFFF; + viewpoint 2,254,199,3,0xFFFFFF; + viewpoint 2,232,272,4,0xFFFFFF; + viewpoint 2,216,211,5,0xFFFFFF; + viewpoint 2,55,52,6,0xFFFFFF; + viewpoint 2,178,173,7,0xFFFFFF; + viewpoint 2,255,110,8,0xFFFFFF; + viewpoint 2,130,197,9,0xFFFFFF; + viewpoint 2,255,110,10,0xFFFFFF; + viewpoint 2,242,205,11,0xFFFFFF; + viewpoint 2,59,203,12,0xFFFFFF; + viewpoint 2,130,197,13,0xDA70D6; + next; + break; + case 4: + mes "[Einbroch Guide]"; + mes "Have a safe journey!"; + close2; + cutin "ein_soldier",255; + end; + } + } +} + +einbroch,155,43,4 duplicate(GuideEinbroch) Einbroch Guide#ein02 852 +einbroch,162,317,4 duplicate(GuideEinbroch) Einbroch Guide#ein03 852 +einbroch,252,320,3 duplicate(GuideEinbroch) Einbroch Guide#ein04 852 + +einbech,67,37,4 script Einbech Guide#einbech01::GuideEinbech 852,{ + cutin "ein_soldier",2; + mes "[Einbech Guide]"; + mes "Welcome to ^8B4513Einbech^000000,"; + mes "the Mining Town. We're"; + mes "here to assist tourists,"; + mes "so if you have any questions,"; + mes "please feel free to ask us."; + next; + while (1) { + switch(select("[ Tavern ]:[ Tool Shop ]:[ Train Station ]:[ Mine ]:[ Kafra Employee ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + mes "[Einbech Guide]"; + mes "The Tavern is located"; + mes "in the southern part of"; + mes "Einbech. It's a nice place"; + mes "to relax after a long day."; + viewpoint 1,157,106,0,0x497649; + next; + break; + case 2: + mes "[Einbech Guide]"; + mes "You can find the Tool"; + mes "Shop in the center of"; + mes "Einbech. There, you can"; + mes "purchase any tools you"; + mes "might need for your travels."; + viewpoint 1,177,133,1,0xFA8072; + next; + break; + case 3: + mes "[Einbech Guide]"; + mes "The Train Stations are"; + mes "located in the northwest"; + mes "and northeast parts of"; + mes "Einbech. There, you can"; + mes "take a train to Einbroch."; + viewpoint 1,39,215,2,0xCD1039; + next; + break; + case 4: + mes "[Einbech Guide]"; + mes "The Mine, which is"; + mes "Einbech's major industry,"; + mes "is located in the northern"; + mes "part of this town. It's where"; + mes "we get all our ores, although monsters get in the miners' way."; + viewpoint 1,137,248,3,0xDA70D6; + next; + break; + case 5: + mes "[Einbech Guide]"; + mes "I will mark the location"; + mes "of the ^FF1493Kafra Employee^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,181,132,4,0xFF1493; + next; + break; + case 6: + mes "[Einbech Guide]"; + mes "I'll remove the marks from your mini-map."; + mes "Do you need any other help?"; + viewpoint 2,157,106,0,0xFFFFFF; + viewpoint 2,177,133,1,0xFFFFFF; + viewpoint 2,39,215,2,0xFFFFFF; + viewpoint 2,137,248,3,0xFFFFFF; + viewpoint 2,181,132,4,0xFFFFFF; + next; + break; + case 7: + mes "[Einbech Guide]"; + mes "Have a safe journey!"; + close2; + cutin "ein_soldier",255; + end; + } + } +} + +einbech,48,214,4 duplicate(GuideEinbech) Einbech Guide#einbech02 852 diff --git a/npc/re/guides/guides_geffen.txt b/npc/re/guides/guides_geffen.txt new file mode 100644 index 000000000..64ed199d0 --- /dev/null +++ b/npc/re/guides/guides_geffen.txt @@ -0,0 +1,169 @@ +//===== rAthena Script ======================================= +//= Geffen Guides +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guides for the city of Geffen. +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//= 1.1 Fixed and optimized. [Euphy] +//============================================================ + +geffen,203,116,4 script Guide#01geffen::GuideGeffen 705,{ + cutin "gef_soldier",2; + mes "[Geffen Guide]"; + mes "Welcome to ^8B4513Geffen^000000,"; + mes "the City of Magic."; + mes "Do you need help navigating the city?"; + next; + while (1) { + switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + set .@loop,1; + while (.@loop) { + switch(select("[ Magic Academy ]:[ Geffen Tower ]:[ Fountain ]:[ Tool Shop ]:[ Buy & Repair Equipment ]:[ Inn ]:[ Tavern ]:[ Christopher's Forge ]:Previous Menu")) { + case 1: + mes "[Geffen Guide]"; + mes "The ^B9062FMagic Academy^000000"; + mes "handles all magic-related affairs,"; + mes "including job changes."; + mes "Let me mark its location"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,61,180,0,0xFF0000; + next; + break; + case 2: + callsub L_Mark,"^0000FFGeffen Tower"; + viewpoint 1,120,114,1,0x0000FF; + next; + break; + case 3: + callsub L_Mark,"^FF5400Fountain"; + viewpoint 1,126,48,2,0xFFB400; + next; + break; + case 4: + callsub L_Mark,"^006400Tool Shop"; + viewpoint 1,44,86,3,0xAAFF00; + next; + break; + case 5: + mes "[Geffen Guide]"; + mes "If you'd like to ^7F3300Buy or Repair Equipment^000000"; + mes "then this is the place you'll want to visit."; + mes "Let me mark its location"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,99,140,4,0xD2691E; + next; + break; + case 6: + callsub L_Mark,"^800080Inn"; + viewpoint 1,172,174,5,0xDA70D6; + next; + break; + case 7: + callsub L_Mark,"^B9062FTavern"; + viewpoint 1,138,138,6,0xFF0000; + next; + break; + case 8: + mes "[Geffen Guide]"; + mes "^0000FFChristopher's Forge^000000 is"; + mes "where you can purchase"; + mes "Refining materials."; + mes "It used to be the old Blacksmith Guild."; + viewpoint 1,182,59,6,0x0000FF; + next; + break; + case 9: + set .@loop,0; + break; + } + } + break; + case 2: + set .@loop,1; + while (.@loop) { + switch(select("[ Eden Teleport Officer ]:[ Kafra Employee ]:[ Pet Groomer ]:[ Chef Assistant ]:[ Dimensional Arcanist Guide ]:Previous Menu")) { + case 1: + callsub L_Mark,"^B9062FEden Teleport Officers"; + viewpoint 1,61,180,7,0xFF0000; + viewpoint 1,132,66,8,0xFF0000; + next; + break; + case 2: + callsub L_Mark,"^FF5400Kafra Employees"; + viewpoint 1,203,123,10,0xFFB400; + viewpoint 1,120,62,11,0xFFB400; + next; + break; + case 3: + callsub L_Mark,"^006400Pet Groomer"; + viewpoint 1,193,152,12,0xAAFF00; + next; + break; + case 4: + callsub L_Mark,"^7F3300Chef Assistant"; + viewpoint 1,196,111,13,0xD2691E; + next; + break; + case 5: + callsub L_Mark,"^800080Dimensional Arcanist Guide"; + viewpoint 1,140,196,14,0xDA70D6; + next; + break; + case 6: + set .@loop,0; + break; + } + } + break; + case 3: + mes "[Geffen Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,1,1,0,0xFFFF00; + viewpoint 2,1,1,1,0x000000; + viewpoint 2,1,1,2,0xFF0000; + viewpoint 2,1,1,3,0xFFFF00; + viewpoint 2,1,1,4,0xFFFF00; + viewpoint 2,1,1,5,0xFFFF00; + viewpoint 2,1,1,6,0xFFFF00; + viewpoint 2,1,1,7,0xFFFF00; + viewpoint 2,1,1,8,0xFFFF00; + viewpoint 2,1,1,9,0xFFFF00; + viewpoint 2,1,1,10,0xFFFF00; + viewpoint 2,1,1,11,0xFFFF00; + viewpoint 2,1,1,12,0xFFFF00; + viewpoint 2,1,1,13,0xFFFF00; + viewpoint 2,1,1,14,0xFFFF00; + next; + break; + case 4: + mes "[Geffen Guide]"; + mes "Enjoy your stay."; + close2; + cutin "gef_soldier",255; + end; + } + } + end; +L_Mark: + mes "[Geffen Guide]"; + mes "Let me mark the location of the"; + mes getarg(0)+"^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + return; +} + +geffen,118,62,0 duplicate(GuideGeffen) Guide#02geffen 705 +geffen,36,123,6 duplicate(GuideGeffen) Guide#03geffen 705 +geffen,123,203,4 duplicate(GuideGeffen) Guide#04geffen 705 diff --git a/npc/re/guides/guides_gonryun.txt b/npc/re/guides/guides_gonryun.txt new file mode 100644 index 000000000..1dcf03e1b --- /dev/null +++ b/npc/re/guides/guides_gonryun.txt @@ -0,0 +1,86 @@ +//===== rAthena Script ======================================= +//= Kunlun Guide +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guide for the city of Kunlun. +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//= 1.1 Optimized. [Euphy] +//============================================================ + +gonryun,163,60,4 script Kunlun Guide#01gonryun 780,{ + mes "[He Yuen Zhe]"; + mes "Ni Hao!"; + mes "Welcome to ^8B4513Kunlun^000000~"; + mes "Take a walk around and experience"; + mes "the ancient history and tradition"; + mes "of our breath taking city."; + next; + mes "[He Yuen Zhe]"; + mes "I am responsible for helping you"; + mes "with any questions you may have."; + mes "Please feel free to ask me anything."; + while (1) { + next; + switch(select("[ Kafra Employee ]:[ Chief's Residence ]:[ Tool Dealer ]:[ Weapon Dealer ]:[ Armor Dealer ]:[ Wine Maker ]:[ Kunlun Envoy ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + callsub L_Mark,"^0000FFKafra Employee"; + viewpoint 1,159,122,0,0x0A82FF; + break; + case 2: + callsub L_Mark,"^006400Chief's Residence"; + viewpoint 1,110,131,1,0xAAFF00; + break; + case 3: + callsub L_Mark,"^D8BFD8Tool Dealer"; + viewpoint 1,147,84,2,0xD8BFD8; + break; + case 4: + callsub L_Mark,"^FF1493Weapon Dealer"; + viewpoint 1,174,101,3,0xFF1493; + break; + case 5: + callsub L_Mark,"^8B4513Armor Dealer"; + viewpoint 1,173,84,4,0x8B4513; + break; + case 6: + callsub L_Mark,"^9400DWine Maker"; + viewpoint 1,213,115,5,0x9400D3; + break; + case 7: + callsub L_Mark,"^00BFFFKunlun Envoy"; + viewpoint 1,161,11,6,0x00BFFF; + break; + case 8: + mes "[He Yuen Zhe]"; + mes "I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,1,1,0,0xFFFFFF; + viewpoint 2,1,1,1,0xFFFFFF; + viewpoint 2,1,1,2,0xFFFFFF; + viewpoint 2,1,1,3,0xFFFFFF; + viewpoint 2,1,1,4,0xFFFFFF; + viewpoint 2,1,1,5,0xFFFFFF; + viewpoint 2,1,1,6,0xFFFFFF; + break; + case 9: + mes "[He Yuen Zhe]"; + mes "Bon voyage!"; + close; + } + } + end; +L_Mark: + mes "[He Yuen Zhe]"; + mes "The "+getarg(0)+"^000000 is"; + mes "marked on your mini-map."; + mes "Check your mini-map."; + mes "Is there anything else I can do for you?"; + return; +} diff --git a/npc/re/guides/guides_hugel.txt b/npc/re/guides/guides_hugel.txt new file mode 100644 index 000000000..f64e9b456 --- /dev/null +++ b/npc/re/guides/guides_hugel.txt @@ -0,0 +1,297 @@ +//===== rAthena Script ======================================= +//= Hugel Guides +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guides for the city of Hugel. +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//= 1.1 Optimized. [Euphy] +//============================================================ + +hugel,98,56,3 script Hugel Guide Granny#hugel 863,{ + mes "[Hugel Guide Granny]"; + mes "Oh, hello~ you are one energetic adventurer."; + mes "Welcome to ^8B4513Hugel^000000. I am honored to guide you in this beautiful village."; + mes "If this is the first time for you to use the guide services, you should ask a lot of questions."; + next; + set .@str$,"Would you like to know more locations?"; + while (1) { + switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + set .@loop,1; + while (.@loop) { + switch(select("[ Church ]:[ Inn ]:[ Pub ]:[ Airport ]:[ Weapon Shop ]:[ Tool Shop ]:[ Bingo Game Room ]:[ ^3131FFHunter Guild^000000 ]:[ Party Supplies Shop ]:[ ^3131FFShrine Expedition^000000 ]:Previous Menu")) { + case 1: + mes "[Hugel Guide Granny]"; + mes "Well, to me, this Church is rather like a place for old folks like me, you know..."; + mes .@str$; + viewpoint 1,159,113,0,0xFF0000; + next; + break; + case 2: + mes "[Hugel Guide Granny]"; + mes "Pudding rather than praise."; + mes "You'd better unpack your stuff first before you start looking around this village."; + mes .@str$; + viewpoint 1,101,77,1,0x8B4513; + next; + break; + case 3: + mes "[Hugel Guide Granny]"; + mes "Yes, when you travel, you want to drop by a Pub and make new friends."; + mes "Go east from here, then you will arrive at the pub."; + mes .@str$; + viewpoint 1,126,65,2,0xDAA520; + next; + break; + case 4: + mes "[Hugel Guide Granny]"; + mes "A while ago, strangers came to the village and built that strange Airport kind of thing..."; + mes "What do they call it? Airship?"; + mes .@str$; + viewpoint 1,178,146,3,0xD7567F; + next; + break; + case 5: + mes "[Hugel Guide Granny]"; + mes "Well, we have a Weapon Shop in the center of the village."; + mes "But I don't know if there is any weapon that you find useful."; + mes .@str$; + viewpoint 1,88,167,4,0xCD5C5C; + next; + break; + case 6: + mes "[Hugel Guide Granny]"; + mes "Yes, I love Hugel brand Red Potions. I haven't tasted Red Potions from any other brands yet...hohoho. "; + mes "The tool shop is located in the center of village."; + mes .@str$; + viewpoint 1,92,163,5,0x000080; + next; + break; + case 7: + mes "[Hugel Guide Granny]"; + mes "I will mark the location"; + mes "of the ^800080Bingo Game Room^000000"; + mes "on your mini-map."; + mes .@str$; + viewpoint 1,58,206,6,0x800080; + next; + break; + case 8: + mes "[Hugel Guide Granny]"; + mes "Oh, are you an aspiring Hunter?"; + mes "Then head northeast following the beach, then you will find the Hunter Guild."; + mes .@str$; + viewpoint 1,209,224,7,0xFF1493; + next; + break; + case 9: + mes "[Hugel Guide Granny]"; + mes "I will mark the location"; + mes "of the ^483D8BParty Supplies Shop^000000"; + mes "on your mini-map."; + mes .@str$; + viewpoint 1,95,103,8,0x483D8B; + next; + break; + case 10: + mes "[Hugel Guide Granny]"; + mes "I heard that the Shrine Expedition is staying in a house at the west."; + mes "They have put some kind of sign in the middle of village, so I guess that they are hiring people for something..."; + mes "I wonder what they are doing in here... hmmm."; + mes .@str$; + viewpoint 1,52,95,9,0x834683; + next; + break; + case 11: + set .@loop,0; + break; + } + } + break; + case 2: + set .@loop,1; + while (.@loop) { + switch(select("[ Monster Race Arena ]:[ Cool Event Corp. Staff ]:Previous Menu")) { + case 1: + mes "[Hugel Guide Granny]"; + mes "I also like playing Monster Race games. It is pretty fun, you know?"; + mes "Oh, you haven't tried it yet? No~ you'd better try. Trust me, you will like it."; + mes .@str$; + viewpoint 1,60,71,10,0xFF1493; + next; + break; + case 2: + mes "[Hugel Guide Granny]"; + mes "I will mark the location"; + mes "of the ^DA70D6Cool Event Corp. Staff^000000"; + mes "on your mini-map."; + mes .@str$; + viewpoint 1,88,168,11,0xDA70D6; + next; + break; + case 3: + set .@loop,0; + break; + } + } + break; + case 3: + mes "[Hugel Guide Granny]"; + mes "I'll remove the marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,159,113,0,0xFFFFFF; + viewpoint 2,101,77,1,0xFFFFFF; + viewpoint 2,126,65,2,0xFFFFFF; + viewpoint 2,178,146,3,0xFFFFFF; + viewpoint 2,88,167,4,0xFFFFFF; + viewpoint 2,92,163,5,0xFFFFFF; + viewpoint 2,58,206,6,0xFFFFFF; + viewpoint 2,209,224,7,0xFFFFFF; + viewpoint 2,95,103,8,0xFFFFFF; + viewpoint 2,52,95,9,0xFFFFFF; + viewpoint 2,60,71,10,0xFFFFFF; + viewpoint 2,88,168,11,0xFFFFFF; + next; + break; + case 4: + mes "[Hugel Guide Granny]"; + mes "Ho ho ho ~!"; + mes "Guiding is very interesting."; + close; + } + } +} + +hugel,187,172,6 script Guide Rich King#hugel 414,{ + mes "[Guide Rich King]"; + mes "What business do you have"; + mes "in this countryside village?"; + next; + mes "[Rich King]"; + mes "This is ^8B4513Hugel^000000"; + mes "in the Schwaltzvalt Republic."; + mes "You are very honored to receive guidance from a great person like me."; + next; + while (1) { + switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + set .@loop,1; + while (.@loop) { + switch(select("[ Church ]:[ Inn ]:[ Pub ]:[ Airport ]:[ Weapon Shop ]:[ Tool Shop ]:[ Bingo Game Room ]:[ Hunter Guild ]:[ Party Supplies Shop ]:[ Shrine Expedition ]:Previous Menu")) { + case 1: + callsub L_Mark,"^FF0000Church"; + viewpoint 1,159,113,0,0xFF0000; + next; + break; + case 2: + callsub L_Mark,"^8B4513Inn"; + viewpoint 1,101,77,1,0x8B4513; + next; + break; + case 3: + callsub L_Mark,"^DAA520Pub"; + viewpoint 1,126,65,2,0xDAA520; + next; + break; + case 4: + callsub L_Mark,"^D7567FAirport"; + viewpoint 1,178,146,3,0xD7567F; + next; + break; + case 5: + callsub L_Mark,"^CD5C5CWeapon Shop"; + viewpoint 1,88,167,4,0xCD5C5C; + next; + break; + case 6: + callsub L_Mark,"^000080Tool Shop"; + viewpoint 1,92,163,5,0x000080; + next; + break; + case 7: + callsub L_Mark,"^800080Bingo Game Room"; + viewpoint 1,58,206,6,0x800080; + next; + break; + case 8: + callsub L_Mark,"^FF1493Hunter Guild"; + viewpoint 1,209,224,7,0xFF1493; + next; + break; + case 9: + callsub L_Mark,"^483D8BParty Supplies Shop"; + viewpoint 1,95,103,8,0x483D8B; + next; + break; + case 10: + callsub L_Mark,"^834683Shrine Expedition"; + viewpoint 1,52,95,9,0x834683; + next; + break; + case 11: + set .@loop,0; + break; + } + } + break; + case 2: + set .@loop,1; + while (.@loop) { + switch(select("[ Monster Race Arena ]:[ Cool Event Corp. Staff ]:Previous Menu")) { + case 1: + callsub L_Mark,"^FF1493Monster Race Arena"; + viewpoint 1,60,71,10,0xFF1493; + next; + break; + case 2: + callsub L_Mark,"^DA70D6Cool Event Corp. Staff"; + viewpoint 1,88,168,11,0xDA70D6; + next; + break; + case 3: + set .@loop,0; + break; + } + } + break; + case 3: + mes "[Rich King]"; + mes "I'll remove the marks from your mini-map."; + mes "I know you're curious but you need to stop bugging me."; + viewpoint 2,159,113,0,0xFFFFFF; + viewpoint 2,101,77,1,0xFFFFFF; + viewpoint 2,126,65,2,0xFFFFFF; + viewpoint 2,178,146,3,0xFFFFFF; + viewpoint 2,88,167,4,0xFFFFFF; + viewpoint 2,92,163,5,0xFFFFFF; + viewpoint 2,58,206,6,0xFFFFFF; + viewpoint 2,209,224,7,0xFFFFFF; + viewpoint 2,95,103,8,0xFFFFFF; + viewpoint 2,52,95,9,0xFFFFFF; + viewpoint 2,60,71,10,0xFFFFFF; + viewpoint 2,88,168,11,0xFFFFFF; + next; + break; + case 4: + mes "[Rich King]"; + mes "I'm getting a little bit hungry after working so hard..."; + mes "I am eager to eat something!"; + close; + } + } + end; +L_Mark: + mes "[Rich King]"; + mes "I will mark the location"; + mes "of the "+getarg(0)+"^000000."; + mes "Do you want to know more locations?"; + mes "Are you going to keep bugging me and make me get upset?"; + return; +} diff --git a/npc/re/guides/guides_izlude.txt b/npc/re/guides/guides_izlude.txt new file mode 100644 index 000000000..b3f4cd4b0 --- /dev/null +++ b/npc/re/guides/guides_izlude.txt @@ -0,0 +1,189 @@ +//===== rAthena Script ======================================= +//= Izlude Guides +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guides for the city of Izlude +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//= 1.1 Updated to match the new Izlude Map. [Masao] +//============================================================ + +- script Guide#01izlude::GuideIzlude -1,{ + cutin "prt_soldier",2; + mes "[Izlude Guide]"; + mes "Welcome to ^8B4513Izlude^000000,"; + mes "Prontera's satellite town."; + mes "Do you need help navigating the town?"; + next; + while (1) { + switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + set .@loop,1; + while (.@loop) { + switch(select("[ Marina ]:[ Airport ]:[ Arena ]:[ Tool Shop ]:[ Weapon & Armor Shop ]:[ Swordsman Guild ]:[ Swordsman Association ]:Previous Menu")) { + case 1: + mes "[Izlude Guide]"; + mes "You can use the northeast ^B9062FMarina^000000"; + mes "to go to ^8B4513Alberta^000000 or ^8B4513Byalan Island^000000."; + mes "Beware of ^8B4513Izlude Dungeon^000000"; + mes "on Byalan Island since it is"; + mes "filled with dreadful monsters."; + mes "Would you like to check any other locations?"; + viewpoint 1,200,180,0,0xFF0000; + next; + break; + case 2: + mes "[Izlude Guide]"; + mes "The ^0000FFInternational Airship^000000 to the southeast"; + mes "goes to ^8B4513Juno^000000 and ^8B4513Rachel^000000."; + mes "Let me mark its location"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,145,39,1,0x0A82FF; + next; + break; + case 3: + mes "[Izlude Guide]"; + mes "The ^FF5400Arena^000000 at the north"; + mes "is a perfect place to"; + mes "test your combat capabilities."; + mes "Let me mark its location"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,128,255,2,0xFF5400; + next; + break; + case 4: + mes "[Izlude Guide]"; + mes "Let me mark the location of the ^006400Tool Shop^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,148,148,3,0xAAFF00; + next; + break; + case 5: + mes "[Izlude Guide]"; + mes "Let me mark the location of the ^7F3300Weapon & Armor Shop^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,114,149,4,0xD2691E; + next; + break; + case 6: + mes "[Izlude Guide]"; + mes "The Swordsman Guild is where you can ^800080change your job to Swordsman.^000000"; + mes "Let me mark its location"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,52,140,5,0xDA70D6; + next; + break; + case 7: + mes "[Izlude Guide]"; + mes "Let me mark the location of the ^B9062FSwordsman Association^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,214,130,6,0xFF0000; + next; + break; + case 8: + set .@loop,0; + break; + } + } + break; + case 2: + set .@loop,1; + while (.@loop) { + switch(select("[ Eden Teleport Officer ]:[ Kafra Employee ]:[ Newlywed Helper ]:[ Bullet Merchant ]:[ Mercenary Guildsman ]:Previous Menu")) { + case 1: + mes "[Izlude Guide]"; + mes "The ^0000FFEden Teleport Officer^000000"; + mes "is currently staying inside"; + mes "the Swordsman Guild building."; + mes "Let me mark his location on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,52,140,7,0x0A82FF; + next; + break; + case 2: + mes "[Izlude Guide]"; + mes "Let me mark the location of the"; + mes "^FF5400Kafra Employee^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,134,88,8,0xFF5400; + next; + break; + case 3: + mes "[Izlude Guide]"; + mes "If you'd like to go on a honeymoon to"; + mes "^8B4513Jawaii^000000, the paradise of newlyweds,"; + mes "please speak to the ^B9062FNewlywed Helper^000000."; + mes "Would you like to check any other locations?"; + viewpoint 1,171,185,9,0xFF0000; + next; + break; + case 4: + mes "[Izlude Guide]"; + mes "The ^7F3300Bullet Merchants^000000 for ^7F3300Gunslingers^000000"; + mes "is located to the east."; + mes "Let me mark his location"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,171,130,10,0xD2691E; + next; + break; + case 5: + mes "[Izlude Guide]"; + mes "Let me mark the location of ^0000FFFencer Mercenary Manager^000000 and"; + mes "^0000FFMercenary Goods Merchant^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,48,137,11,0xDA70D6; + next; + break; + case 6: + set .@loop,0; + break; + } + } + break; + case 3: + mes "[Izlude Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,1,1,0,0xFFFF00; + viewpoint 2,1,1,1,0x000000; + viewpoint 2,1,1,2,0xFF0000; + viewpoint 2,1,1,3,0xFFFF00; + viewpoint 2,1,1,4,0xFFFF00; + viewpoint 2,1,1,5,0xFFFF00; + viewpoint 2,1,1,6,0xFFFF00; + viewpoint 2,1,1,7,0xFFFF00; + viewpoint 2,1,1,8,0xFFFF00; + viewpoint 2,1,1,9,0xFFFF00; + viewpoint 2,1,1,10,0xFFFF00; + viewpoint 2,1,1,11,0xFFFF00; + next; + break; + case 4: + mes "[Izlude Guide]"; + mes "Enjoy your stay."; + mes "Bye~!"; + close2; + cutin "prt_soldier",255; + end; + } + } +} + +izlude,129,175,4 duplicate(GuideIzlude) Guide#02izlude 105 +izlude,133,113,4 duplicate(GuideIzlude) Guide#03izlude 105 +izlude,120,206,4 duplicate(GuideIzlude) Guide#04izlude 105 diff --git a/npc/re/guides/guides_juno.txt b/npc/re/guides/guides_juno.txt new file mode 100644 index 000000000..5f0a7f471 --- /dev/null +++ b/npc/re/guides/guides_juno.txt @@ -0,0 +1,160 @@ +//===== rAthena Script ======================================= +//= Juno Guides +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guides for the city of Juno. +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//= 1.1 Fixed and optimized. [Euphy] +//============================================================ + +yuno,59,212,4 script Juno Guide#yuno01::GuideJuno 700,{ + mes "[Juno Guide]"; + mes "A place that takes the vision of the future, and gives it form in the present. Welcome to"; + mes "the city of ^8B4513Juno^000000!"; + next; + while (1) { + switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove marks from Mini-Map:Cancel")) { + case 1: + set .@loop,1; + while (.@loop) { + switch(select("[ Tool Shop ]:[ Forge ]:[ Airport ]:[ Government Building ]:[ Street of Book Stores ]:[ Inn & Pub ]:[ Sage Castle ]:[ Monster Academy ]:[ Library of the Republic ]:[ Weapon & Armor Shop ]:[ Juphero Plaze ]:[ Monster Museum ]:[ Schweicherbil Magic Academy ]:Previous Menu")) { + case 1: + callsub L_Mark,"^FF0000Tool Shop"; + viewpoint 1,194,140,0,0xFF0000; + next; + break; + case 2: + callsub L_Mark,"^FF4500Forge"; + viewpoint 1,120,137,1,0xFF4500; + next; + break; + case 3: + callsub L_Mark,"^DAA520Airport"; + viewpoint 1,16,261,2,0xDAA520; + next; + break; + case 4: + callsub L_Mark,"^008000Government Building"; + viewpoint 1,157,317,3,0x008000; + next; + break; + case 5: + callsub L_Mark,"^0000FFStreet of Book Stores"; + viewpoint 1,172,100,4,0x0000FF; + next; + break; + case 6: + callsub L_Mark,"^000080Inn & Pub"; + viewpoint 1,51,105,5,0x000080; + next; + break; + case 7: + callsub L_Mark,"^800080Sage Castle"; + viewpoint 1,90,318,6,0x800080; + next; + break; + case 8: + callsub L_Mark,"^834683Monster Academy"; + viewpoint 1,95,184,7,0x834683; + next; + break; + case 9: + callsub L_Mark,"^4B0082Juno Library"; + viewpoint 1,338,203,8,0x4B0082; + next; + break; + case 10: + callsub L_Mark,"^008080Weapon & Armor Shop"; + viewpoint 1,120,137,9,0x008080; + next; + break; + case 11: + callsub L_Mark,"^FF1493Juphero Plaza"; + viewpoint 1,115,157,10,0xFF1493; + next; + break; + case 12: + callsub L_Mark,"^DA70D6Monster Museum"; + viewpoint 1,278,290,11,0xDA70D6; + next; + break; + case 13: + callsub L_Mark,"^CD1039Schweicherbil Magic Academy"; + viewpoint 1,323,280,12,0xCD1039; + next; + break; + case 14: + set .@loop,0; + break; + } + } + break; + case 2: + set .@loop,1; + while (.@loop) { + switch(select("[ Kafra Employees ]:[ Eden Teleport Officer ]:Previous Menu")) { + case 1: + callsub L_Mark,"^FA8072Kafra Employees"; + viewpoint 1,152,187,13,0xFA8072; + viewpoint 1,277,221,14,0xFA8072; + viewpoint 1,327,108,15,0xFA8072; + next; + break; + case 2: + callsub L_Mark,"^803232Eden Teleport Officer"; + viewpoint 1,144,189,16,0x803232; + next; + break; + case 3: + set .@loop,0; + break; + } + } + break; + case 3: + mes "[Juno Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,194,140,0,0xFFFFFF; + viewpoint 2,120,137,1,0xFFFFFF; + viewpoint 2,16,261,2,0xFFFFFF; + viewpoint 2,157,317,3,0xFFFFFF; + viewpoint 2,172,100,4,0xFFFFFF; + viewpoint 2,51,105,5,0xFFFFFF; + viewpoint 2,90,318,6,0xFFFFFF; + viewpoint 2,95,184,7,0xFFFFFF; + viewpoint 2,338,203,8,0xFFFFFF; + viewpoint 2,120,137,9,0xFFFFFF; + viewpoint 2,115,157,10,0xFFFFFF; + viewpoint 2,278,290,11,0xFFFFFF; + viewpoint 2,323,280,12,0xFFFFFF; + viewpoint 2,152,187,13,0xFFFFFF; + viewpoint 2,277,221,14,0xFFFFFF; + viewpoint 2,327,108,15,0xFFFFFF; + viewpoint 2,144,189,16,0xFFFFFF; + next; + break; + case 4: + mes "[Juno Guide]"; + mes "Have fun on your adventures!"; + close; + } + } + end; +L_Mark: + mes "[Juno Guide]"; + mes "I will mark the location"; + mes "of the "+getarg(0)+"^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + return; +} + +yuno,153,47,4 duplicate(GuideJuno) Juno Guide#yuno02 700 diff --git a/npc/re/guides/guides_lighthalzen.txt b/npc/re/guides/guides_lighthalzen.txt new file mode 100644 index 000000000..6fa474421 --- /dev/null +++ b/npc/re/guides/guides_lighthalzen.txt @@ -0,0 +1,186 @@ +//===== rAthena Script ======================================= +//= Lighthalzen Guides +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guides for the city of Lighthalzen. +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//= 1.1 Optimized. [Euphy] +//============================================================ + +lighthalzen,207,310,5 script Lighthalzen Guide#lhz01::GuideLighthazlen 852,{ + cutin "ein_soldier",2; + mes "[Lighthalzen Guide]"; + mes "Welcome to ^8B4513Lighthalzen^000000,"; + mes "the Corporation City-State."; + mes "If you need any guidance"; + mes "around the city, feel free"; + mes "to ask me and I'll do my"; + mes "very best to help you."; + next; + mes "[Lighthalzen Guide]"; + mes "Please be aware that I'm"; + mes "in charge of providing info"; + mes "regarding the West District"; + mes "of ^8B4513Lighthalzen^000000. Now, please"; + mes "select the location that you'd"; + mes "like to learn more about."; + next; + while (1) { + switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + set .@loop,1; + while (.@loop) { + switch(select("[ Hotel ]:[ Bank ]:[ Airport ]:[ Weapon Shop ]:[ Department Store ]:[ Police Station ]:[ Jewelry Store ]:[ Cool Event Corp. ]:[ Somatology Laboratory ]:[ Alchemist Association ]:Previous Menu")) { + case 1: + callsub L_Mark,"^FF0000Hotel"; + viewpoint 1,160,217,0,0xFF0000; + next; + break; + case 2: + callsub L_Mark,"^FF4500Bank"; + viewpoint 1,203,257,1,0xFF4500; + next; + break; + case 3: + callsub L_Mark,"^DAA520Airport"; + viewpoint 1,262,75,2,0xDAA520; + next; + break; + case 4: + callsub L_Mark,"^7B68EEWeapon Shop"; + viewpoint 1,194,35,3,0x7B68EE; + next; + break; + case 5: + callsub L_Mark,"^B91A4DDepartment Store"; + viewpoint 1,202,106,4,0xB91A4D; + next; + break; + case 6: + callsub L_Mark,"^008000Police Station"; + viewpoint 1,234,276,5,0x008000; + next; + break; + case 7: + callsub L_Mark,"^0000FFJewelry Store"; + viewpoint 1,96,110,6,0x0000FF; + next; + break; + case 8: + callsub L_Mark,"^000080Cool Event Corp."; + viewpoint 1,238,217,7,0x000080; + next; + break; + case 9: + callsub L_Mark,"^800080Somatology Laboratory"; + viewpoint 1,101,243,8,0x800080; + next; + break; + case 10: + callsub L_Mark,"^0A9696Alchemist Association"; + viewpoint 1,54,132,9,0x0A9696; + next; + break; + case 11: + set .@loop,0; + break; + } + } + break; + case 2: + set .@loop,1; + while (.@loop) { + switch(select("[ Armsmith ]:[ Seiayablem ]:[ Pet Groomer ]:[ Kafra Employees ]:[ Cool Event Corp. Staff ]:Previous Menu")) { + case 1: + mes "[Lighthalzen Guide]"; + mes "You may go to Fulerr,"; + mes "the ^0A9696Armsmith^000000"; + mes "on the 1st floor of the Weapon Shop."; + viewpoint 1,194,35,10,0x0A9696; + next; + callsub L_Mark,"^0A9696Armsmith"; + next; + break; + case 2: + mes "[Lighthalzen Guide]"; + mes "^4B0082Seiyablem^000000 adds"; + mes "sockets on your items"; + mes "on the 1st floor"; + mes "of the Weapon Shop."; + viewpoint 1,194,35,11,0x4B0082; + next; + callsub L_Mark,"^4B0082Seiyablem",1; + next; + break; + case 3: + callsub L_Mark,"^FF4500Pet Groomer"; + viewpoint 1,222,191,12,0xFF4500; + next; + break; + case 4: + callsub L_Mark,"^008080Kafra Employees"; + viewpoint 1,164,99,13,0x008080; + viewpoint 1,164,99,14,0x008080; + next; + break; + case 5: + callsub L_Mark,"^FF1493Cool Event Corp. Staff"; + viewpoint 1,94,247,15,0xFF1493; + next; + break; + case 6: + set .@loop,0; + break; + } + } + break; + case 3: + mes "[Lighthalzen Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,160,217,0,0xFFFFFF; + viewpoint 2,203,257,1,0xFFFFFF; + viewpoint 2,262,75,2,0xFFFFFF; + viewpoint 2,194,35,3,0xFFFFFF; + viewpoint 2,202,106,4,0xFFFFFF; + viewpoint 2,234,276,5,0xFFFFFF; + viewpoint 2,96,110,6,0xFFFFFF; + viewpoint 2,238,217,7,0xFFFFFF; + viewpoint 2,101,243,8,0xFFFFFF; + viewpoint 2,54,132,9,0xFFFFFF; + viewpoint 2,194,35,10,0xFFFFFF; + viewpoint 2,194,35,11,0xFFFFFF; + viewpoint 2,222,191,12,0xFFFFFF; + viewpoint 2,164,99,13,0xFFFFFF; + viewpoint 2,164,99,14,0xFFFFFF; + viewpoint 2,94,247,15,0xFFFFFF; + next; + break; + case 4: + mes "[Lighthalzen Guide]"; + mes "Enjoy your adventures!"; + close2; + cutin "ein_soldier",255; + end; + } + } + end; +L_Mark: + mes "[Lighthalzen Guide]"; + mes "I will mark the location"; + mes "of "+((getarg(1,0))?"":"the ")+getarg(0)+"^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + return; +} + +lighthalzen,220,310,3 duplicate(GuideLighthazlen) Lighthalzen Guide#lhz02 852 +lighthalzen,154,100,5 duplicate(GuideLighthazlen) Lighthalzen Guide#lhz03 852 +lighthalzen,307,224,3 duplicate(GuideLighthazlen) Lighthalzen Guide#lhz04 852 diff --git a/npc/re/guides/guides_louyang.txt b/npc/re/guides/guides_louyang.txt new file mode 100644 index 000000000..9246c26c5 --- /dev/null +++ b/npc/re/guides/guides_louyang.txt @@ -0,0 +1,124 @@ +//===== rAthena Script ======================================= +//= Louyang Guide +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guide for the city of Louyang +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//============================================================ + +louyang,224,104,4 script Louyang Guide#01louyang 818,{ + mes "[Representative]"; + mes "Welcome to ^8B4513Louyang^000000,"; + mes "an ancient land with"; + mes "a history full of tales"; + mes "of bravery."; + next; + mes "[Representative]"; + mes "We now provide an ocean lane to accomodate foreign travelers and intercultural exchange from which all can benefit."; + next; + mes "[Representative]"; + mes "^8B4513Louyang^000000 is famous for"; + mes "its elaborate history, as well as specialties that are unique to this nation. Please take your time and enjoy your stay."; + while (1) { + next; + switch(select("[ Dragon Castle ]:[ Doctor's Office ]:[ City Hall ]:[ Weapon Shop ]:[ Tool Shop ]:[ Tavern ]:[ Observatory ]:[ Return to Alberta ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + mes "[Representative]"; + mes "The Dragon Castle is located at ^0A82FF+^000000. It is where all the nobles reside, including our lord."; + mes "Since you're an outsider, I guess it would be appropriate for you to visit our lord first."; + mes "Is there anything else I can do for you?"; + viewpoint 1,218,253,0,0x0A82FF; + break; + case 2: + mes "[Representative]"; + mes "It's a famous ^AAFF00Doctor's Office^000000"; + mes "according to rumor it can cure all diseases. But I'm not sure if it's true or not."; + mes "Is there anything else I can do for you?"; + viewpoint 1,261,93,1,0xAAFF00; + break; + case 3: + mes "[Representative]"; + mes "We have a City Hall where the federal government operates."; + mes "It is located at ^008080+^000000."; + next; + mes "[Representative]"; + mes "If you have any problems,"; + mes "you should talk with the"; + mes "employees there."; + mes "Is there anything else I can do for you?"; + viewpoint 1,309,78,2,0x20B2AA; + break; + case 4: + mes "[Representative]"; + mes "The Weapon Shop is located at ^55FF33+^000000."; + next; + mes "[Representative]"; + mes "You will see"; + mes "marvelous weapons forged"; + mes "by the well-experienced"; + mes "Blacksmiths of Louyang."; + mes "Is there anything else I can do for you?"; + viewpoint 1,145,172,3,0xFF1493; + break; + case 5: + mes "[Representative]"; + mes "The Tool Shop is located at ^3355FF+^000000."; + next; + mes "[Representative]"; + mes "Knowing your enemy"; + mes "is half the battle!"; + mes "It's also safer to prepare yourself than to be sorry later. Why don't you go check their supplies?"; + mes "Is there anything else I can do for you?"; + viewpoint 1,138,99,4,0xFF0000; + break; + case 6: + mes "[Representative]"; + mes "When you get tired during your trip, I suggest that you visit the Tavern. It's located at ^00FF00+^000000."; + next; + mes "[Soldier]"; + mes "The Tavern is a good place"; + mes "to meet other tourists, as well as to hear of any news that may be helpful to know."; + mes "Is there anything else I can do for you?"; + viewpoint 1,280,165,5,0xDAA520; + break; + case 7: + mes "[Representative]"; + mes "You won't get a better view of the world than you can at the Observatory."; + mes "It's a must see here."; + mes "Is there anything else I can do for you?"; + viewpoint 1,136,245,6,0xD8BFD8; + break; + case 8: + mes "[Representative]"; + mes "If you want to return to Alberta,"; + mes "find the ^00BFFFKGirl^000000 outside town on the docks."; + mes "Is there anything else I can do for you?"; + viewpoint 1,218,22,7,0x00BFFF; + break; + case 9: + mes "[Representative]"; + mes "I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,1,1,0,0xFFFFFF; + viewpoint 2,1,1,1,0xFFFFFF; + viewpoint 2,1,1,2,0xFFFFFF; + viewpoint 2,1,1,3,0xFFFFFF; + viewpoint 2,1,1,4,0xFFFFFF; + viewpoint 2,1,1,5,0xFFFFFF; + viewpoint 2,1,1,6,0xFFFFFF; + viewpoint 2,1,1,7,0xFFFFFF; + break; + case 10: + mes "[Representative]"; + mes "Enjoy your trip~!"; + close; + } + } +} diff --git a/npc/re/guides/guides_lutie.txt b/npc/re/guides/guides_lutie.txt new file mode 100644 index 000000000..a95027688 --- /dev/null +++ b/npc/re/guides/guides_lutie.txt @@ -0,0 +1,75 @@ +//===== rAthena Script ======================================= +//= Lutie Guide +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guide for the city of Lutie. +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//= 1.1 Fixed and optimized. [Euphy] +//============================================================ + +xmas,140,137,3 script Lutie Guide#xmas 717,{ + mes "[Lutie Guide]"; + mes "Welcome to ^8B4513Lutie^000000,"; + mes "the Snow Village."; + mes "Do you need help navigating the village?"; + while (1) { + next; + switch(select("[ Gift Shop ]:[ Church ]:[ Weapon & Armor Shop ]:[ Tool Shop ]:[ Santa's House ]:[ Toy Factory ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + callsub L_Mark,"^008080Gift Shop"; + viewpoint 1,172,131,2,0x008080; + break; + case 2: + callsub L_Mark,"^006400Church"; + viewpoint 1,104,287,1,0xAAFF00; + break; + case 3: + callsub L_Mark,"^FF1493Weapon & Armor Shop"; + viewpoint 1,171,158,3,0xFF1493; + break; + case 4: + callsub L_Mark,"^8B4513Tool Shop"; + viewpoint 1,122,131,4,0x8B4513; + break; + case 5: + callsub L_Mark,"^B9062FSanta's House",1; + viewpoint 1,149,237,5,0x9400D3; + break; + case 6: + callsub L_Mark,"^9400D3Toy Factory"; + viewpoint 1,143,312,6,0xFF0000; + break; + case 7: + mes "[Lutie Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,1,1,0,0xFFFFFF; + viewpoint 2,1,1,1,0xFFFFFF; + viewpoint 2,1,1,2,0xFFFFFF; + viewpoint 2,1,1,3,0xFFFFFF; + viewpoint 2,1,1,4,0xFFFFFF; + viewpoint 2,1,1,5,0xFFFFFF; + viewpoint 2,1,1,6,0xFFFFFF; + break; + case 8: + mes "[Lutie Guide]"; + mes "Be safe on your travels."; + close; + } + } + end; +L_Mark: + mes "[Lutie Guide]"; + mes "Let me mark the location of "+((getarg(1,0))?"":"the"); + mes getarg(0)+"^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + return; +} diff --git a/npc/re/guides/guides_morroc.txt b/npc/re/guides/guides_morroc.txt new file mode 100644 index 000000000..302fbf7e3 --- /dev/null +++ b/npc/re/guides/guides_morroc.txt @@ -0,0 +1,305 @@ +//===== rAthena Script ======================================= +//= Morroc Guides +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guides for the city of Morroc and Morroc Ruins. +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//= 1.1 Fixed and optimized. [Euphy] +//============================================================ + +morocc,153,286,6 script Guide#01morocc::GuideMorroc 707,{ + cutin "moc_soldier",2; + mes "[Morroc Guide]"; + mes "Welcome to ^8B4513Morroc^000000,"; + mes "the Desert Town."; + mes "Do you need help navigating the town?"; + next; + while (1) { + switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + set .@loop,1; + while (.@loop) { + switch(select("[ Thief Guild ]:[ Sphinx Dungeon ]:[ Oasis Entrance ]:[ Forge ]:[ Weapon & Armor Shop ]:[ Inn ]:[ Tavern ]:Previous Menu")) { + case 1: + mes "[Morroc Guide]"; + mes "The ^B9062FThief Guild^000000 is located"; + mes "inside the ^B9062FPyramids^000000"; + mes "that is near the ^B9062FOasis^000000."; + mes "Would you like to check any other locations?"; + viewpoint 1,26,294,0,0xFF0000; + next; + break; + case 2: + mes "[Morroc Guide]"; + mes "The ^0000FFSphinx Dungeon^000000 is"; + mes "right outside the western gate."; + mes "Would you like to check any other locations?"; + viewpoint 1,26,164,1,0x0A82FF; + next; + break; + case 3: + mes "[Morroc Guide]"; + mes "Let me mark the entrance to the ^FF5400Oasis^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,26,294,2,0xFFB400; + next; + break; + case 4: + callsub L_Mark,"^006400Forge"; + viewpoint 1,47,47,3,0xAAFF00; + next; + break; + case 5: + callsub L_Mark,"^7F3300Weapon & Armor Shop"; + viewpoint 1,253,56,4,0xD2691E; + next; + break; + case 6: + mes "[Morroc Guide]"; + mes "Currently the ^800080Inn^000000"; + mes "has been shut down until further notice,"; + mes "but I'll mark its location"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,273,269,5,0xDA70D6; + next; + break; + case 7: + callsub L_Mark,"^B9062FTavern"; + viewpoint 1,52,259,6,0xFF0000; + next; + break; + case 8: + set .@loop,0; + break; + } + } + break; + case 2: + set .@loop,1; + while (.@loop) { + switch(select("[ Kafra Employee ]:[ Poison Herb Salesman ]:[ Dye Maker ]:[ Seiyablem ]:Previous Menu")) { + case 1: + callsub L_Mark,"^0000FFKafra Employees"; + viewpoint 1,156,97,7,0x0A82FF; + viewpoint 1,160,258,8,0x0A82FF; + next; + break; + case 2: + callsub L_Mark,"^006400Poison Herb Salesman"; + viewpoint 1,190,96,9,0xAAFF00; + next; + break; + case 3: + mes "[Morroc Guide]"; + mes "The ^7F3300Dye Maker^000000 is"; + mes "currently staying"; + mes "on the 1st floor of the Inn."; + mes "Let me mark his location"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,273,269,10,0xD2691E; + next; + break; + case 4: + mes "[Morroc Guide]"; + mes "^800080Seiyablem^000000"; + mes "is a technician"; + mes "who can create ^0000FFslots^000000 on weapons and armors,"; + mes "but not all equipment"; + mes "can be slotted. Well, that's what he says."; + mes "Would you like to check any other locations?"; + viewpoint 1,51,41,11,0xDA70D6; + next; + break; + case 5: + set .@loop,0; + break; + } + } + break; + case 3: + mes "[Morroc Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,1,1,0,0xFFFF00; + viewpoint 2,1,1,1,0x000000; + viewpoint 2,1,1,2,0xFF0000; + viewpoint 2,1,1,3,0xFFFF00; + viewpoint 2,1,1,4,0xFFFF00; + viewpoint 2,1,1,5,0xFFFF00; + viewpoint 2,1,1,6,0xFFFF00; + viewpoint 2,1,1,7,0xFFFF00; + viewpoint 2,1,1,8,0xFFFF00; + viewpoint 2,1,1,9,0xFFFF00; + viewpoint 2,1,1,10,0xFFFF00; + viewpoint 2,1,1,11,0xFFFF00; + next; + break; + case 4: + mes "[Morroc Guide]"; + mes "Be safe on your travels."; + close2; + cutin "moc_soldier",255; + end; + } + } + end; +L_Mark: + mes "[Morroc Guide]"; + mes "Let me mark the location of the"; + mes getarg(0)+"^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + return; +} + +morocc,154,38,6 duplicate(GuideMorroc) Guide#02morocc 707,{ +morocc,296,213,4 duplicate(GuideMorroc) Guide#03morocc 707,{ +morocc,28,170,5 duplicate(GuideMorroc) Guide#04morocc 707,{ + +moc_ruins,159,53,3 script Guide#01ruins::GuideMocRuins 707,{ + cutin "moc_soldier",2; + mes "[Morroc Guide]"; + mes "Welcome to ^8B4513Morroc^000000,"; + mes "the Desert Town."; + mes "Do you need help navigating the town?"; + next; + while (1) { + switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + set .@loop,1; + while (.@loop) { + switch(select("[ Thief Guild ]:[ Sphinx Dungeon ]:[ Morroc Entrance ]:Previous Menu")) { + case 1: + mes "[Morroc Guide]"; + mes "The ^B9062FThief Guild^000000 is located"; + mes "inside the ^B9062FPyramids^000000."; + mes "Let me mark its location"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,56,161,0,0xFF0000; + next; + break; + case 2: + mes "[Morroc Guide]"; + mes "The ^0000FFSphinx Dungeon^000000"; + mes "is outside the south entrance of this Oasis."; + mes "Would you like to check any other locations?"; + viewpoint 1,71,19,1,0x0A82FF; + next; + break; + case 3: + mes "[Morroc Guide]"; + mes "^FF5400Morroc^000000 is"; + mes "right outside the southeast entrance of this Oasis."; + mes "Let me mark its location"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,158,40,2,0xFFB400; + next; + break; + case 4: + set .@loop,0; + break; + } + } + break; + case 2: + set .@loop,1; + while (.@loop) { + switch(select("[ Eden Teleport Officer ]:[ Tool Dealer ]:[ Kafra Employee ]:[ Repairman ]:[ Pet Groomer ]:[ Chef Assistant ]:[ Leablem ]:Previous Menu")) { + case 1: + callsub L_Mark,"^006400Eden Teleport Officer"; + viewpoint 1,68,164,3,0xAAFF00; + next; + break; + case 2: + callsub L_Mark,"^800080Tool Dealers"; + viewpoint 1,92,128,5,0xDA70D6; + viewpoint 1,114,63,6,0xDA70D6; + next; + break; + case 3: + callsub L_Mark,"^B9062FKafra Employee"; + viewpoint 1,59,157,7,0xFF0000; + next; + break; + case 4: + callsub L_Mark,"^0000FFRepairman"; + viewpoint 1,107,94,8,0x0A82FF; + next; + break; + case 5: + callsub L_Mark,"^FF5400Pet Groomer"; + viewpoint 1,118,170,9,0xFFB400; + next; + break; + case 6: + callsub L_Mark,"^006400Chef Assistant"; + viewpoint 1,115,123,10,0xAAFF00; + next; + break; + case 7: + mes "[Morroc Guide]"; + mes "^7F3300Leablem^000000"; + mes "is a technician"; + mes "who can create ^0000FFslots^000000 on weapons and armors,"; + mes "but not all equipment"; + mes "can be slotted. Well, that's what he says."; + mes "Would you like to check any other locations?"; + viewpoint 1,154,86,11,0xD2691E; + next; + break; + case 8: + set .@loop,0; + break; + } + } + break; + case 3: + mes "[Morroc Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,1,1,0,0xFFFF00; + viewpoint 2,1,1,1,0x000000; + viewpoint 2,1,1,2,0xFF0000; + viewpoint 2,1,1,3,0xFFFF00; + viewpoint 2,1,1,4,0xFFFF00; + viewpoint 2,1,1,5,0xFFFF00; + viewpoint 2,1,1,6,0xFFFF00; + viewpoint 2,1,1,7,0xFFFF00; + viewpoint 2,1,1,8,0xFFFF00; + viewpoint 2,1,1,9,0xFFFF00; + viewpoint 2,1,1,10,0xFFFF00; + viewpoint 2,1,1,11,0xFFFF00; + next; + break; + case 4: + mes "[Morroc Guide]"; + mes "Be safe on your travels."; + close2; + cutin "moc_soldier",255; + end; + } + } + end; +L_Mark: + mes "[Morroc Guide]"; + mes "Let me mark the location of the"; + mes getarg(0)+"^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + return; +} + +moc_ruins,70,164,3 duplicate(GuideMocRuins) Guide#02ruins 707 +moc_ruins,65,44,5 duplicate(GuideMocRuins) Guide#03ruins 707 diff --git a/npc/re/guides/guides_moscovia.txt b/npc/re/guides/guides_moscovia.txt new file mode 100644 index 000000000..abee9c46f --- /dev/null +++ b/npc/re/guides/guides_moscovia.txt @@ -0,0 +1,91 @@ +//===== rAthena Script ======================================= +//= Moscovia Guide +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guide for the city of Moscovia. +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//= 1.1 Optimized (a little bit). [Euphy] +//============================================================ + +moscovia,226,191,4 script Moscovia Guide#02mosc 959,{ + mes "[Moscovia Guide]"; + mes "A paradise on the sea"; + mes "beautiful wave and warm sunshine"; + mes "^8B4513Moscovia^000000 is waitting for you"; + mes "welcome to come here."; + mes "I'm supporting to offer information about here."; + mes "if you want to ask anything just feel free tell me."; + set .@str$,"Is there anything else I can do for you?"; + while (1) { + next; + switch(select("[ Palace ]:[ Chapel ]:[ Weapon Shop ]:[ Armor Shop ]:[ Tool Shop ]:[ Inn ]:[ Return to Alberta ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + mes "[Moscovia Guide]"; + mes "In the ^006400Palace^000000 you will find our Lord the Czar and other servants."; + mes .@str$; + viewpoint 1,255,140,0,0x0A82FF; + break; + case 2: + mes "[Moscovia Guide]"; + mes "The ^008080Chapel^000000 is located here."; + mes .@str$; + viewpoint 1,253,179,1,0xAAFF00; + break; + case 3: + mes "[Moscovia Guide]"; + mes "You can buy weapons from the best craftsmen in Moscovia if you go to ^FF1493Weapon Shop^000000."; + mes .@str$; + viewpoint 1,186,191,2,0x008080; + break; + case 4: + mes "[Moscovia Guide]"; + mes "You will find only the best gear at the Moscovia ^8B4513Armor Shop^000000."; + mes .@str$; + viewpoint 1,204,169,3,0xB200FF; + break; + case 5: + mes "[Moscovia Guide]"; + mes "The ^FF1493Tool Shop^000000 is located just south from the center of town."; + mes "You can find all sorts of things you need for your travels."; + mes .@str$; + viewpoint 1,221,176,4,0xFF1493; + break; + case 6: + mes "[Moscovia Guide]"; + mes "The Inn 'Sticky Herb Tree' is just north from the center of town."; + mes "If you need to rest, there is no better place to stay."; + mes .@str$; + viewpoint 1,227,206,5,0x8B4513; + break; + case 7: + mes "[Moscovia Guide]"; + mes "You can go back to Alberta at the docks."; + mes .@str$; + viewpoint 1,166,53,6,0x00BFFF; + break; + case 8: + mes "[Moscovia Guide]"; + mes "I'll remove all marks from your mini-map."; + mes .@str$; + viewpoint 2,1,1,0,0xFFFFFF; + viewpoint 2,1,1,1,0xFFFFFF; + viewpoint 2,1,1,2,0xFFFFFF; + viewpoint 2,1,1,3,0xFFFFFF; + viewpoint 2,1,1,4,0xFFFFFF; + viewpoint 2,1,1,5,0xFFFFFF; + viewpoint 2,1,1,6,0xFFFFFF; + break; + case 9: + mes "[Moscovia Guide]"; + mes "Enjoy your trip~!"; + close; + } + } +} diff --git a/npc/re/guides/guides_niflheim.txt b/npc/re/guides/guides_niflheim.txt new file mode 100644 index 000000000..647166c02 --- /dev/null +++ b/npc/re/guides/guides_niflheim.txt @@ -0,0 +1,64 @@ +//===== rAthena Script ======================================= +//= Niflheim Guide +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guide for the city of Niflehim. +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//= 1.1 Optimized. [Euphy] +//============================================================ + +niflheim,201,187,3 script Niflheim Guide#01nif 849,{ + mes "[Niflheim Guide]"; + mes "Welcome to.. ^8B4513Niflheim^000000..."; + mes "the Realm of the Dead..."; + mes "Do you need help navigating the realm...?"; + while (1) { + next; + switch(select("[ Tool Shop ]:[ Pub ]:[ Weapon Shop ]:[ Witch's Castle ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + callsub L_Mark,"^0000FFTool Shop"; + viewpoint 1,218,196,0,0x0A82FF; + break; + case 2: + callsub L_Mark,"^006400Pub"; + viewpoint 1,189,208,1,0xAAFF00; + break; + case 3: + callsub L_Mark,"^800080Weapon Shop"; + viewpoint 1,218,170,2,0xDA70D6; + break; + case 4: + callsub L_Mark,"^FF1493Witch's Castle"; + viewpoint 1,255,195,3,0xFF1493; + break; + case 5: + mes "[Niflheim Guide]"; + mes "Sure, I'll remove all marks from your mini-map..."; + mes "Is there anything else I can do for you...?"; + viewpoint 2,1,1,0,0xFFFFFF; + viewpoint 2,1,1,1,0xFFFFFF; + viewpoint 2,1,1,2,0xFFFFFF; + viewpoint 2,1,1,3,0xFFFFFF; + break; + case 6: + mes "[Niflheim Guide]"; + mes "......Bye~!.."; + close; + } + } + end; +L_Mark: + mes "[Niflheim Guide]"; + mes "Let me mark the location of the"; + mes getarg(0)+"^000000..."; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + return; +} diff --git a/npc/re/guides/guides_payon.txt b/npc/re/guides/guides_payon.txt new file mode 100644 index 000000000..1bda6c6dd --- /dev/null +++ b/npc/re/guides/guides_payon.txt @@ -0,0 +1,292 @@ +//===== rAthena Script ======================================= +//= Payon Guides +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guides for the city of Payon. +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guides. +//= 1.1 Fixed and optimized. [Euphy] +//============================================================ + +payon,163,64,3 script Guide#01payon::GuidePayon 708,{ + cutin "pay_soldier",2; + mes "[Payon Guide]"; + mes "Welcome to ^8B4513Payon^000000,"; + mes "the Mountain Village."; + mes "Do you need help navigating the village?"; + next; + while (1) { + switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + set .@loop,1; + while (.@loop) { + switch(select("[ Archer Village ]:[ Tool Shop]:[ Weapon & Armor Shop ]:[ Inn & Tavern ]:[ Central Palace ]:[ Palace Court ]:[ Royal Kitchen ]:Previous Menu")) { + case 1: + mes "[Payon Guide]"; + mes "^B9062FArcher Village^000000 is where"; + mes "the Archer Association resides."; + mes "Please use the far north gate to enter the village."; + mes "Would you like to check any other locations?"; + viewpoint 1,227,328,0,0xFF0000; + next; + break; + case 2: + callsub L_Mark,"^0000FFTool Shop"; + viewpoint 1,144,85,1,0x0A82FF; + next; + break; + case 3: + callsub L_Mark,"^FF5400Weapon & Armor Shop"; + viewpoint 1,139,159,2,0xFFB400; + next; + break; + case 4: + callsub L_Mark,"^006400Inn & Tavern"; + viewpoint 1,220,117,3,0xAAFF00; + next; + break; + case 5: + callsub L_Mark,"^7F3300Central Palace"; + viewpoint 1,155,245,4,0xD2691E; + next; + break; + case 6: + callsub L_Mark,"^800080Palace Court"; + viewpoint 1,107,325,5,0xDA70D6; + next; + break; + case 7: + callsub L_Mark,"^B9062FRoyal Kitchen"; + viewpoint 1,154,325,6,0xFF0000; + next; + break; + case 8: + set .@loop,0; + break; + } + } + break; + case 2: + set .@loop,1; + while (.@loop) { + switch(select("[ Eden Teleport Officer ]:[ Kafra Shop ]:[ Repair / Armsmith ]:[ Kafra Employee]:[ Trap Specialist ]:[ Seiayblem ]:[ Leablem ]:[ Jade ]:[ Pet Groomer ]:[ Chef Assistant ]:Previous Menu")) { + case 1: + callsub L_Mark,"^0000FFEden Teleport Officer"; + viewpoint 1,177,111,7,0x0A82FF; + next; + break; + case 2: + callsub L_Mark,"^FF5400Kafra Shop Girls"; + viewpoint 1,164,157,8,0xFFB400; + next; + break; + case 3: + callsub L_Mark,"^006400Repairman & Armsmith"; + viewpoint 1,144,170,9,0xAAFF00; + next; + break; + case 4: + callsub L_Mark,"^7F3300Kafra Employees"; + viewpoint 1,181,104,10,0xD2691E; + viewpoint 1,175,226,11,0xD2691E; + next; + break; + case 5: + callsub L_Mark,"^800080Trap Specialist"; + viewpoint 1,123,109,12,0xDA70D6; + next; + break; + case 6: + mes "[Payon Guide]"; + mes "^B9062FSeiyablem^000000"; + mes "is a technician"; + mes "who can create ^0000FFslots^000000 on weapons and armors,"; + mes "but not all equipment"; + mes "can be slotted. Well, that's what he says."; + mes "Would you like to check any other locations?"; + viewpoint 1,140,151,13,0xFF0000; + next; + break; + case 7: + mes "[Payon Guide]"; + mes "^0000FFLeablem^000000"; + mes "is a technician"; + mes "who can create ^0000FFslots^000000 on weapons and armors,"; + mes "but not all equipment"; + mes "can be slotted. Well, that's what he says."; + mes "Would you like to check any other locations?"; + viewpoint 1,236,199,14,0x0A82FF; + next; + break; + case 8: + mes "[Payon Guide]"; + mes "^FF5400Jade^000000"; + mes "can exchange different types of"; + mes "^FF5400Gemstones^000000."; + mes "Would you like to check any other locations?"; + viewpoint 1,173,238,15,0xFFB400; + next; + break; + case 9: + callsub L_Mark,"^006400Pet Groomer"; + viewpoint 1,177,131,16,0xAAFF00; + next; + break; + case 10: + callsub L_Mark,"^7F3300Chef Assistant"; + viewpoint 1,206,119,17,0xD2691E; + next; + break; + case 11: + set .@loop,0; + break; + } + } + break; + case 3: + mes "[Payon Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,1,1,0,0xFFFF00; + viewpoint 2,1,1,1,0x000000; + viewpoint 2,1,1,2,0xFF0000; + viewpoint 2,1,1,3,0xFFFF00; + viewpoint 2,1,1,4,0xFFFF00; + viewpoint 2,1,1,5,0xFFFF00; + viewpoint 2,1,1,6,0xFFFF00; + viewpoint 2,1,1,7,0xFFFF00; + viewpoint 2,1,1,8,0xFFFF00; + viewpoint 2,1,1,9,0xFFFF00; + viewpoint 2,1,1,10,0xFFFF00; + viewpoint 2,1,1,11,0xFFFF00; + viewpoint 2,1,1,12,0xFFFF00; + viewpoint 2,1,1,13,0xFFFF00; + viewpoint 2,1,1,14,0xFFFF00; + viewpoint 2,1,1,15,0xFFFF00; + viewpoint 2,1,1,16,0xFFFF00; + viewpoint 2,1,1,17,0xFFFF00; + next; + break; + case 4: + mes "[Payon Guide]"; + mes "Enjoy your stay."; + close; + cutin "pay_soldier",255; + end; + } + } + end; +L_Mark: + mes "[Payon Guide]"; + mes "Let me mark the location of the"; + mes getarg(0)+"^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + return; +} + +payon,151,182,6 duplicate(GuidePayon) Guide#02payon 708 +payon,221,85,6 duplicate(GuidePayon) Guide#03payon 708 +payon,233,324,4 duplicate(GuidePayon) Guide#04payon 708 + +pay_arche,86,33,4 script Guide#05payon 708,{ + cutin "pay_soldier",2; + mes "[Payon Guide]"; + mes "Welcome to ^8B4513Archer Village^000000,"; + mes "a subsidiary village of Payon."; + mes "Do you need help navigating the village?"; + next; + set .@str$,"Would you like to check any other locations?"; + while (1) { + switch(select("[ Payon Dungeon ]:[ Archer Guild ]:[ Tool Shop ]:[ Kafra Employee ]:[ Mercenary Guildsman ]:[ Alchemist Guildsman ]:[ Eden Teleport Officer ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + mes "[Payon Guide]"; + mes "Let me mark the entrance of"; + mes "the ^B9062FPayon Dungeon^000000"; + mes "on your mini-map."; + mes .@str$; + viewpoint 1,38,131,0,0xFF0000; + next; + break; + case 2: + mes "[Payon Guide]"; + mes "The ^0000FFArcher Guild^000000"; + mes "is where you can change"; + mes "your job to Archer."; + mes .@str$; + viewpoint 1,143,164,1,0x0A82FF; + next; + break; + case 3: + mes "[Payon Guide]"; + mes "Let me mark the location of the"; + mes "^FF5400Tool Shop^000000"; + mes "on your mini-map."; + mes .@str$; + viewpoint 1,72,156,2,0xFFB400; + next; + break; + case 4: + mes "[Payon Guide]"; + mes "Let me mark the location of the ^006400Kafra Employee^000000"; + mes "on your mini-map."; + mes .@str$; + viewpoint 1,55,123,3,0xAAFF00; + next; + break; + case 5: + mes "[Payon Guide]"; + mes "Let me mark the location of the"; + mes "^7F3300Bow Mercenary Manager^000000 and"; + mes "^7F3300Mercenary Goods Merchant^000000"; + mes "on your mini-map."; + mes .@str$; + viewpoint 1,101,166,4,0xD2691E; + next; + break; + case 6: + mes "[Payon Guide]"; + mes "Let me mark the location of the"; + mes "^800080Alchemist Guildsman^000000"; + mes "on your mini-map."; + mes .@str$; + viewpoint 1,127,113,5,0xDA70D6; + next; + break; + case 7: + mes "[Payon Guide]"; + mes "The ^0000FFEden Teleport Officer^000000"; + mes "is currently staying inside"; + mes "the Archer Guild building."; + mes .@str$; + viewpoint 1,143,164,6,0x0A82FF; + next; + break; + case 8: + mes "[Payon Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes .@str$; + viewpoint 2,1,1,0,0xFFFF00; + viewpoint 2,1,1,1,0x000000; + viewpoint 2,1,1,2,0xFF0000; + viewpoint 2,1,1,3,0xFFFF00; + viewpoint 2,1,1,4,0xFFFF00; + viewpoint 2,1,1,5,0xFFFF00; + viewpoint 2,1,1,6,0xFFFF00; + next; + break; + case 9: + mes "[Payon Guide]"; + mes "Enjoy your stay."; + close2; + cutin "pay_soldier",255; + end; + } + } +} diff --git a/npc/re/guides/guides_prontera.txt b/npc/re/guides/guides_prontera.txt new file mode 100644 index 000000000..717672555 --- /dev/null +++ b/npc/re/guides/guides_prontera.txt @@ -0,0 +1,307 @@ +//===== rAthena Script ======================================= +//= Prontera Guides +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guides for the city of Prontera +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guides. +//============================================================ + +prontera,154,187,4 script Guide#01prontera::GuideProntera 105,{ + cutin "prt_soldier",2; + mes "[Prontera Guide]"; + mes "Welcome to ^8B4513Prontera^000000,"; + mes "the beautiful capital of the"; + mes "Rune-Midgarts Kingdom."; + mes "Do you need help navigating the city?"; + next; + while (1) { + switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + set .@loop,1; + while (.@loop) { + switch(select("[ Tool Shop ]:[ Weapon & Armor Shop ]:[ Forge ]:[ Sanctuary ]:[ Chivalry Office ]:[ Inn ]:[ Tavern ]:[ Library ]:[ Prontera Castle ]:[ Job Agency ]:[ City Hall ]:Previous Menu")) { + case 1: + mes "[Prontera Guide]"; + mes "Let me mark the location of the ^B9062FTool Shop^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,134,221,0,0xFF0000; + next; + break; + case 2: + mes "[Prontera Guide]"; + mes "Let me mark the location of the ^0000FFWeapon & Armor Shop^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,175,220,1,0x0A82FF; + next; + break; + case 3: + mes "[Prontera Guide]"; + mes "Let me mark the location of the ^FF5400Forge^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,179,184,2,0xFFB400; + next; + break; + case 4: + mes "[Prontera Guide]"; + mes "The ^006400Prontera Sanctuary^000000 is"; + mes "where you can change your job to Acolyte,"; + mes "its located in the far northeast of Prontera."; + mes "Let me mark the location on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,236,316,3,0xAAFF00; + next; + break; + case 5: + mes "[Prontera Guide]"; + mes "The Chivalry Office is"; + mes "where you can change your job to ^7F3300Knight^000000"; + mes "or apply for the ^7F3300Culvert^000000 Subjugation Party."; + mes "Would you like to check any other locations?"; + viewpoint 1,46,345,4,0xD2691E; + next; + break; + case 6: + mes "[Prontera Guide]"; + mes "Let me mark the location of the ^800080Inn^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,204,191,5,0xDA70D6; + next; + break; + case 7: + mes "[Prontera Guide]"; + mes "Let me mark the location of the ^B9062FTaverns^000000"; + mes "on your mini-map."; + mes "Only the ^B9062Fnorthern^000000 tavern"; + mes "is open for now."; + mes "Would you like to check any other locations?"; + viewpoint 1,208,154,6,0xFF0000; + viewpoint 1,46,67,7,0xFF0000; + next; + break; + case 8: + mes "[Prontera Guide]"; + mes "The ^0000FFLibrary^000000 is"; + mes "where you can find useful information, like the Monster Encyclopedia."; + mes "There are currently twi libaries available"; + mes "in the northern area of Prontera."; + mes "Would you like to check any other locations?"; + viewpoint 1,120,264,8,0x0A82FF; + viewpoint 1,192,264,9,0x0A82FF; + next; + break; + case 9: + mes "[Prontera Guide]"; + mes "The ^FF5400Prontera Castle^000000 is north from here,"; + mes "and its rear gate is connected to"; + mes "the northern Prontera Fields."; + mes "Let me mark the castle on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,156,360,10,0xFFB400; + next; + break; + case 10: + mes "[Prontera Guide]"; + mes "Let me mark the location of the ^006400Job Agency^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,133,183,11,0xAAFF00; + next; + break; + case 11: + mes "[Prontera Guide]"; + mes "Let me mark the location of ^7F3300City Hall^000000"; + mes "on your mini-map."; + mes "There's a hairstylist"; + mes "there that can change your hair color."; + mes "Would you like to check any other locations?"; + viewpoint 1,75,91,12,0xD2691E; + next; + break; + case 12: + set .@loop,0; + break; + } + } + break; + case 2: + set .@loop,1; + while (.@loop) { + switch(select("[ Eden Teleport Officer ]:[ Peco Peco Breeder ]:[ Riding Creature Master ]:[ Magic Gear Master ]:[ Peco Peco Remover ]:[ Rune Salesman ]:[ Mercenary Guildsman ]:[ Hypnotist ]:[ Kafra Employee ]:[ Leablem ]:[ Apprentice Craftsman ]:Previous Menu")) { + case 1: + mes "[Prontera Guide]"; + mes "Let me mark the location of the"; + mes "^800080Eden Teleport Officer^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,124,76,13,0xDA70D6; + next; + break; + case 2: + mes "[Prontera Guide]"; + mes "Two ^0000FFPeco Peco Breeders^000000 are available,"; + mes "one for ^0000FFKnights^000000 to the ^0000FFnorthwest^000000"; + mes "and the other for ^0000FFCrusaders^000000 to the ^0000FFnortheast^000000."; + viewpoint 1,55,350,15,0x0A82FF; + viewpoint 1,232,310,16,0x0A82FF; + next; + break; + case 3: + mes "[Prontera Guide]"; + mes "The ^FF5400Riding Creature Master^000000 provides services for"; + mes "^FF5400Rune Knights^000000 and ^FF5400Royal Guards^000000."; + mes "Let me mark his location"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,131,213,17,0xFFB400; + next; + break; + case 4: + mes "[Prontera Guide]"; + mes "The ^006400Magic Gear Master^000000"; + mes "provides services for"; + mes "^006400Mechanics^000000."; + mes "Let me mark his location"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,163,178,18,0xAAFF00; + next; + break; + case 5: + mes "[Prontera Guide]"; + mes "If your beloved Peco Peco refuses"; + mes "to leave you,"; + mes "please talk to the ^7F3300Peco Peco Remover^000000"; + mes "near the central fountain."; + mes "Would you like to check any other locations?"; + viewpoint 1,125,208,19,0xD2691E; + next; + break; + case 6: + mes "[Prontera Guide]"; + mes "Let me mark the location of"; + mes "the ^800080Rune Salesman^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,168,228,20,0xDA70D6; + next; + break; + case 7: + mes "[Prontera Guide]"; + mes "Let me mark the location of ^0000FFSpear Mercenary Manager^000000 and"; + mes "^0000FFMercenary Goods Merchant^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,35,337,21,0x0A82FF; + next; + break; + case 8: + mes "[Prontera Guide]"; + mes "The ^FF5400Hypnotist^000000"; + mes "helps beginner adventurers"; + mes "to reset their skills."; + mes "Let me mark his location"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,146,232,22,0xFFB400; + next; + break; + case 9: + mes "[Prontera Guide]"; + mes "Let me mark the location of the"; + mes "^006400Kafra Employees^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,152,326,23,0xAAFF00; + viewpoint 1,30,207,24,0xAAFF00; + viewpoint 1,282,200,25,0xAAFF00; + viewpoint 1,151,29,26,0xAAFF00; + viewpoint 1,146,89,27,0xAAFF00; + next; + break; + case 10: + mes "[Prontera Guide]"; + mes "^0000FFLeablem^000000"; + mes "is a technician"; + mes "who can create ^0000FFslots^000000 on weapons and armors,"; + mes "As amazing as it sounds,"; + mes "not all equipment can be slotted."; + mes "Would you like to check any other locations?"; + viewpoint 1,244,169,28,0x0A82FF; + next; + break; + case 11: + mes "[Prontera Guide]"; + mes "Let me mark the location of the"; + mes "^800080Apprentice Craftsman^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,165,60,29,0xDA70D6; + next; + break; + case 12: + set .@loop,0; + break; + } + } + break; + case 3: + mes "[Prontera Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,1,1,0,0xFFFF00; + viewpoint 2,1,1,1,0x000000; + viewpoint 2,1,1,2,0xFF0000; + viewpoint 2,1,1,3,0xFFFF00; + viewpoint 2,1,1,4,0xFFFF00; + viewpoint 2,1,1,5,0xFFFF00; + viewpoint 2,1,1,6,0xFFFF00; + viewpoint 2,1,1,7,0xFFFF00; + viewpoint 2,1,1,8,0xFFFF00; + viewpoint 2,1,1,9,0xFFFF00; + viewpoint 2,1,1,10,0xFFFF00; + viewpoint 2,1,1,11,0xFFFF00; + viewpoint 2,1,1,12,0xFFFF00; + viewpoint 2,1,1,13,0xFFFF00; + viewpoint 2,1,1,14,0xFFFF00; + viewpoint 2,1,1,15,0xFFFF00; + viewpoint 2,1,1,16,0xFFFF00; + viewpoint 2,1,1,17,0xFFFF00; + viewpoint 2,1,1,18,0xFFFF00; + viewpoint 2,1,1,19,0xFFFF00; + viewpoint 2,1,1,20,0xFFFF00; + viewpoint 2,1,1,21,0xFFFF00; + viewpoint 2,1,1,22,0xFFFF00; + viewpoint 2,1,1,23,0xFFFF00; + viewpoint 2,1,1,24,0xFFFF00; + viewpoint 2,1,1,25,0xFFFF00; + viewpoint 2,1,1,26,0xFFFF00; + viewpoint 2,1,1,27,0xFFFF00; + viewpoint 2,1,1,28,0xFFFF00; + viewpoint 2,1,1,29,0xFFFF00; + next; + break; + case 4: + mes "[Prontera Guide]"; + mes "Enjoy your stay."; + close2; + cutin "prt_soldier",255; + end; + } + } +} + +prontera,282,208,2 duplicate(GuideProntera) Guide#02prontera 105 +prontera,29,200,6 duplicate(GuideProntera) Guide#03prontera 105 +prontera,160,29,0 duplicate(GuideProntera) Guide#04prontera 105 +prontera,151,330,4 duplicate(GuideProntera) Guide#05prontera 105 diff --git a/npc/re/guides/guides_rachel.txt b/npc/re/guides/guides_rachel.txt new file mode 100644 index 000000000..9cae73a57 --- /dev/null +++ b/npc/re/guides/guides_rachel.txt @@ -0,0 +1,126 @@ +//===== rAthena Script ======================================= +//= Rachel Guides +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guide for the city of Rachel +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guide. +//============================================================ + +rachel,138,146,5 script Rachel Guide#rachel 934,{ + mes "[Rachel Guide]"; + mes "Welcome to the capital of Arunafeltz, ^8B4513Rachel^000000 where the warm breath of the goddess Freya reaches."; + mes "If this is the first time for you to use the guide services, I suggest you ask many questions."; + next; + while (1) { + switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + set .@loop,1; + while (.@loop) { + switch(select("[ Inn ]:[ Weapon Shop ]:[ Tool Shop ]:[ Airport ]:[ Cheshrumnir ]:[ Priest Zed's Mansion ]:Previous Menu")) { + case 1: + mes "[Rachel Guide]"; + mes "You can rest your fatigue of the journey in the Inn. The left building next to me is the Inn of Rachel."; + mes "Would you like to check any other locations?"; + viewpoint 1,115,144,0,0xFF0000; + next; + break; + case 2: + mes "[Rachel Guide]"; + mes "Do you want to check out the weapons that are sold in Rachel? The Weapon Shop is located near the west gate."; + mes "Would you like to check any other locations?"; + viewpoint 1,42,82,1,0xFF4500; + next; + break; + case 3: + mes "[Rachel Guide]"; + mes "Rachel's Tool Shop sells the best quality potions. It's located near the west gate."; + mes "Would you like to check any other locations?"; + viewpoint 1,83,73,2,0xDAA520; + next; + break; + case 4: + mes "[Rachel Guide]"; + mes "The Airport is located outside of the east gate."; + mes "Would you like to check any other locations?"; + viewpoint 1,272,125,3,0x008000; + next; + break; + case 5: + mes "[Rachel Guide]"; + mes "Cheshrumnir is a holy ground where pope, the incarnation of goddess Freya stays."; + mes "Take the road to the north to find the building."; + mes "Would you like to check any other locations?"; + viewpoint 1,150,243,4,0x0000FF; + next; + break; + case 6: + mes "[Rachel Guide]"; + mes "I will mark the location"; + mes "of the ^000080Priest Zed's Mansion^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,98,238,5,0x000080; + next; + break; + case 7: + set .@loop,0; + break; + } + } + break; + case 2: + set .@loop,1; + while (.@loop) { + switch(select("[ Cool Event Corp. Staff ]:[ Eden Teleport Officer ]:Previous Menu")) { + case 1: + mes "[Rachel Guide]"; + mes "I will mark the location"; + mes "of the ^803232Cool Event Corp. Staff^000000"; + mes "on your mini map."; + mes "Would you like to check any other locations?"; + viewpoint 1,110,138,7,0x803232; + next; + break; + case 2: + mes "[Rachel Guide]"; + mes "I will mark the location"; + mes "of the ^556B2FEden Teleport Officer^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,125,144,8,0x556B2F; + next; + break; + case 3: + set .@loop,0; + break; + } + } + break; + case 3: + mes "[Rachel Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,115,144,0,0xFFFFFF; + viewpoint 2,42,82,1,0xFFFFFF; + viewpoint 2,83,73,2,0xFFFFFF; + viewpoint 2,272,125,3,0xFFFFFF; + viewpoint 2,150,243,4,0xFFFFFF; + viewpoint 2,98,238,5,0xFFFFFF; + viewpoint 2,110,138,7,0xFFFFFF; + viewpoint 2,125,144,8,0xFFFFFF; + next; + break; + case 4: + mes "[Rachel Guide]"; + mes "Have a safe journey!"; + close; + } + } +} diff --git a/npc/re/guides/guides_umbala.txt b/npc/re/guides/guides_umbala.txt new file mode 100644 index 000000000..ef4d2bc4a --- /dev/null +++ b/npc/re/guides/guides_umbala.txt @@ -0,0 +1,99 @@ +//===== rAthena Script ======================================= +//= Umbala Guides +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guides for the city of Umbala +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guides. +//============================================================ + +umbala,128,94,3 script Umbala Guide#01umbala::GuideUmbala 702,{ + mes "Welcome to ^8B4513Umbala^000000,"; + mes "the Village of the Utan Tribe."; + next; + mes "Since I have been exploring here for several months."; + mes "I am familiar with this area's geography and the points of interest in this village."; + mes "Do you need help navigating the village?"; + while (1) { + next; + switch(select("[ Kafra Employee ]:[ Chief's House ]:[ Shaman's House ]:[ Weapon Shop ]:[ Tool Shop ]:[ Bungee Jump Area ]:[ Tree of Yggdrasil ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + mes "[Umbala Guide]"; + mes "Let me mark the location of the"; + mes "^0000FFKafra Employee^000000"; + mes "on your mini-map."; + mes "Would you like to check any other locations?"; + viewpoint 1,87,160,0,0x0A82FF; + break; + case 2: + mes "[Umbala Guide]"; + mes "Only the ^006400Chief^000000 knows the language of the outside world."; + mes "So you'd better visit him before anything else."; + mes "Would you like to check any other locations?"; + viewpoint 1,68,251,1,0xAAFF00; + break; + case 3: + mes "[Umbala Guide]"; + mes "The ^008080Shaman^000000 has some sort of mystic power."; + mes "People say she can create rough enchanted stones, and divide a pure enchanted stone into rough ones."; + mes "Would you like to check any other locations?"; + viewpoint 1,219,188,2,0x008080; + break; + case 4: + mes "[Umbala Guide]"; + mes "The ^FF1493Weapon Shop^000000 inside Umbala"; + mes "supplies the weapons"; + mes "for defending against their enemies."; + mes "Would you like to check any other locations?"; + viewpoint 1,125,155,3,0xFF1493; + break; + case 5: + mes "[Umbala Guide]"; + mes "There are many useful things for"; + mes "traveling in the ^8B4513Tool Shop^000000 in Umbala."; + mes "Would you like to check any other locations?"; + viewpoint 1,136,127,4,0x8B4513; + break; + case 6: + mes "[Umbala Guide]"; + mes "Umbala has a unique locale called"; + mes "the 'Bungee Jump Area'."; + mes "If you're interested in testing"; + mes "your courage, why don't you try it."; + mes "Would you like to check any other locations?"; + viewpoint 1,221,176,5,0x9400D3; + break; + case 7: + mes "[Umbala Guide]"; + mes "There's the Tree of Yggdrasil in the northern part of town."; + mes "You should pay it a visit since that's a place I recommend when you visit Umbala."; + mes "Would you like to check any other locations?"; + viewpoint 1,107,284,6,0xA52A2A; + break; + case 8: + mes "[Umbala Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,1,1,0,0xFFFFFF; + viewpoint 2,1,1,1,0xFFFFFF; + viewpoint 2,1,1,2,0xFFFFFF; + viewpoint 2,1,1,3,0xFFFFFF; + viewpoint 2,1,1,4,0xFFFFFF; + viewpoint 2,1,1,5,0xFFFFFF; + viewpoint 2,1,1,6,0xFFFFFF; + break; + case 9: + mes "[Umbala Guide]"; + mes "Be safe on your travels."; + close; + } + } +} + +umbala,99,158,3 duplicate(GuideUmbala) Umbala Guide#02umbala 702 diff --git a/npc/re/guides/guides_veins.txt b/npc/re/guides/guides_veins.txt new file mode 100644 index 000000000..c01c880af --- /dev/null +++ b/npc/re/guides/guides_veins.txt @@ -0,0 +1,108 @@ +//===== rAthena Script ======================================= +//= Veins Guides +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Guides for the city of Veins +//===== Additional Comments: ================================= +//= 1.0 First version, Renewal guides. +//============================================================ + +veins,210,345,5 script Veins Guide#veins01::GuideVeins 934,{ + mes "[Veins Guide]"; + mes "Thank you for coming through the rough sand storms. Welcome to ^8B4513Veins^000000, the Canyon Village."; + mes "If this is the first time for you to use the guide services, why don't you check the \"Notice\" menu first?"; + next; + while (1) { + switch(select("[ Temple ]:[ Inn ]:[ Pub ]:[ Weapon Shop ]:[ Tool Shop ]:[ Airport ]:[ Geological Research Institute ]:[ Cool Event Corp. Staff ]:Remove Marks from Mini-Map:Cancel")) { + case 1: + mes "[Veins Guide]"; + mes "The Temple is always filled with praying the faithful of the incarnation of goddess Freya."; + mes "It's located on the North side of Veins."; + mes "Would you like to check any other locations?"; + viewpoint 1,197,256,0,0xFF0000; + next; + break; + case 2: + mes "[Veins Guide]"; + mes "You can rest your fatigue of the journey in the Inn. The Inn is located on the North-West side of Veins."; + mes "Would you like to check any other locations?"; + viewpoint 1,110,278,1,0xFF4500; + next; + break; + case 3: + mes "[Veins Guide]"; + mes "If you want to talk to the Veins Towners, visit the Veins Pub."; + mes "The pub is located on the west side of Veins."; + mes "Would you like to check any other locations?"; + viewpoint 1,150,215,2,0xDAA520; + next; + break; + case 4: + mes "[Veins Guide]"; + mes "You have to be able to protect your own body."; + mes "The Weapon Shop in Veins is selling the good weapons at a reasonable price.."; + mes "It is located on the West side of Veins."; + mes "Would you like to check any other locations?"; + viewpoint 1,150,175,3,0x008000; + next; + break; + case 5: + mes "[Veins Guide]"; + mes "The essential items! Check out the Veins Tool Shop in the center of town.."; + mes "Would you like to check any other locations?"; + viewpoint 1,230,161,4,0x0000FF; + next; + break; + case 6: + mes "[Veins Guide]"; + mes "The Airport of Veins is currently only used for Cargo."; + mes "Would you like to check any other locations?"; + viewpoint 1,273,287,5,0x000080; + next; + break; + case 7: + mes "[Veins Guide]"; + mes "Are you interested in Geology?"; + mes "If so, please visit the Geological Research Institute at the second floor of Weapon Shop."; + mes "Would you like to check any other locations?"; + viewpoint 1,150,175,6,0x800080; + next; + break; + case 8: + mes "[Veins Guide]"; + mes "I will mark the location"; + mes "of the ^808080Cool Event Corp. Staff^000000"; + mes "on your mini map."; + mes "Would you like to check any other locations?"; + viewpoint 1,209,127,7,0x808080; + next; + break; + case 9: + mes "[Veins Guide]"; + mes "Sure, I'll remove all marks from your mini-map."; + mes "Is there anything else I can do for you?"; + viewpoint 2,197,256,0,0xFFFFFF; + viewpoint 2,110,278,1,0xFFFFFF; + viewpoint 2,150,215,2,0xFFFFFF; + viewpoint 2,150,175,3,0xFFFFFF; + viewpoint 2,230,161,4,0xFFFFFF; + viewpoint 2,273,287,5,0xFFFFFF; + viewpoint 2,150,175,6,0xFFFFFF; + viewpoint 2,209,127,7,0xFFFFFF; + next; + break; + case 10: + mes "[Veins Guide]"; + mes "Have a safe journey!"; + close; + } + } +} + +veins,189,101,5 duplicate(GuideVeins) Veins Guide#veins02 934 diff --git a/npc/re/jobs/1-1/acolyte.txt b/npc/re/jobs/1-1/acolyte.txt new file mode 100644 index 000000000..40562a418 --- /dev/null +++ b/npc/re/jobs/1-1/acolyte.txt @@ -0,0 +1,334 @@ +//===== rAthena Script ======================================= +//= Renewal Acolyte Job Quest +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Job Change to Acolyte Class +//===== Additional Comments: ================================= +//= 1.0 First Version. [Kisuka] +//= 1.1 Added back the npcs used for the priest quest. +//============================================================ +prt_church,184,41,4 script Cleric#aco 60,{ + if (Upper == 1) { + if (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion) { + if (Class == Job_Novice_High) { + mes "[Father Mareusis]"; + mes "Ah, I sense you have endured"; + mes "a past life experience. You must have learned many things before entering Valhalla."; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Father Mareusis]"; + mes "Unfortunately, I don't think you're ready to become an Acolyte yet. Please finish learning all of the Basic Skills first."; + next; + mes "[Father Mareusis]"; + mes "In the meantime,"; + mes "I will wait until"; + mes "you are ready."; + mes "May God be"; + mes "with you."; + close; + } + mes "[Father Mareusis]"; + mes "Well, I welcome you"; + mes "back from Valhalla and"; + mes "wish you luck on your"; + mes "new life's journey."; + next; + skill 143,0,0; + jobchange Job_Acolyte_High; + skill 156,1,0; + mes "[Father Mareusis]"; + mes "Now, venture forth and seek those who need your help. May God light your path."; + close; + }else{ + mes "[Father Mareusis]"; + mes "Now, venture forth to seek people who need your help. May God enlighten your way."; + close; + } + }else{ + mes "[Father Mareusis]"; + mes "I sense that you have endured a past life experience. You must have learned many things before entering Valhalla."; + next; + mes "[Father Mareusis]"; + mes "However, I can tell that you are not suited to be an Acolyte. Please remember who you were in your past life and find your path."; + close; + } + } + mes "[Father Mareusis]"; + mes "What is it that you seek?"; + next; + switch(select("Change your job to acolyte.:Ask the requirements to be an acolyte.:Quit it.")) { + case 1: + if(Class != Job_Novice) { + mes "[Father Mareusis]"; + if(Class == Job_Acolyte) { + mes "Are you feeling okay today? I can tell by your attire that you are already an Acolyte. You're not joking around, are you?"; + }else{ + mes "I'm sorry but it seems you already have your own job, aren't you?"; + } + close; + }else{ + mes "[Father Mareusis]"; + mes "Do you truly wish to become a servant of God?"; + mes "Let's see whether you are ready for it or not... Hmm..."; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Father Mareusis]"; + mes "Oh my?! You haven't accomplished the basic practice yet?! You have a long way to go! Come again after increasing your job level!"; + close; + } + mes "[Father Mareusis]"; + mes "Hmm... your job level is enough..."; + mes "Good. Now I will give you the qualification to become an Acolyte."; + next; + mes "[Father Mareusis]"; + mes "Always remember to be thankful to God, who takes care of us all the time. In chaos and times of difficulty, face your hardships with unwavering faith."; + jobchange Job_Acolyte; + getitem 1545,1; // N_Mace + next; + mes "[Father Mareusis]"; + mes "Lastly, I want to sincerely congratulate you on persevering through your trial of penance."; + close; + } + case 2: + mes "[Father Mareusis]"; + mes "Do you wish to become an Acolyte?"; + mes "Then, you must fulfill the following requirements thinking those are the practices given by God."; + next; + mes "[Father Mareusis]"; + mes "First, you have to reach at least Novice Job Level 9 and learn all of the Basic Skills."; + mes "This is the most basic thing to do, so you need to regard it as the way of training yourself."; + next; + mes "[Father Mareusis]"; + mes "When you think you fulfilled this requirement, then come back to me again. Then you will have a holy job in which you can spread God's will."; + close; + case 3: + close; + } +} + +prt_fild03,365,255,2 script Ascetic#aco 89,{ + mes "[Father Rubalkabara]"; + if (BaseJob == Job_Novice) { + if (job_acolyte_q == 6) { + mes "Please take care. They should know that you've met me by the time you arrive at the Prontera Sanctuary."; + next; + mes "[Father Rubalkabara]"; + mes "I've sent a carrier pigeon with a message. I hope it will arrive there safely..."; + close; + } + if (job_acolyte_q != 0) { + if (job_acolyte_q == 2) { + mes "Oh...? You must be the one who aspires to become an Acolyte. I've already received news from the Sanctuary that you might be coming."; + next; + mes "[Father Rubalkabara]"; + mes "Now, your name was " + strcharinfo(0) + ", right? Excellent, thank you for visiting me."; + next; + mes "[Father Rubalkabara]"; + mes "I believe you've been told much about Acolytes from Friar Mareusis. Plus, there's plenty of helpful people in the Prontera Sanctuary."; + next; + mes "[Father Rubalkabara]"; + mes "I guess there's really no need for me to teach you much. Besides, I'm sure your someone from your generation may have trouble listening to an old man like me. Hahaha~"; + next; + mes "[Father Rubalkabara]"; + mes "Still, lessons may come from the places you'd least expect. God loves to teach his children in strange ways. You'll see."; + next; + mes "[Father Rubalkabara]"; + mes "Well, I'll send the message telling them that you've come to visit me. So, you may now return to the Prontera Sanctuary."; + next; + mes "[Father Rubalkabara]"; + mes "Farewell."; + close2; + savepoint "prt_fild03",361,255; + set job_acolyte_q,6; + end; + } + else { + mes "Oh..."; + mes "Are you one of the"; + mes "Acolyte applicants...?"; + mes "Let's see..."; + next; + mes "[Father Rubalkabara]"; + mes "Your name is " + strcharinfo(0) + "?"; + mes "I don't think your name"; + mes "is on my list. Hmmm..."; + next; + mes "[Father Rubalkabara]"; + mes "Why don't you go back to the Prontera Sanctuary and check again?"; + close; + } + } + else { + mes "Huh? What brings you here? This is a very dangerous place for a Novice like yourself!"; + close; + } + } + else if (BaseJob == Job_Acolyte) callfunc "F_FatherRub"; + else { + if (BaseJob == Job_Priest) { + mes "Greetings."; + next; + mes "[Father Rubalkabara]"; + mes "Welcome to the Deep. Feel free to sit and contemplate God's message with me. This place is beautiful, even if danger accompanies its sense of serenity..."; + close; + } + else { + mes "Oh ho..."; + mes "Have you come into the Deep here for training? Or are you just a Wanderer?"; + next; + mes "[Father Rubalkabara]"; + mes "Whoever you are, please take care of yourself. The monsters in here are shockingly strong, contrary to their cute appearance."; + close; + } + } +} + +moc_fild07,41,355,4 script Ascetic#2aco 95,{ + mes "[Mother Mathilda]"; + if (BaseJob == Job_Novice) { + if (job_acolyte_q == 7) { + mes "I will send a carrier pigeon to the Prontera Sanctuary. When you return, the Priest there should already have received my message."; + next; + mes "[Mother Mathilda]"; + mes "I will pray to God, and hope that you become an Acolyte soon."; + close; + } + if (job_acolyte_q != 0) { + if (job_acolyte_q == 3) { + mes "Ah, you must be one of the Acolyte applicants. I sincerely welcome you."; + next; + mes "[Mother Mathilda]"; + mes "What is your name? " + strcharinfo(0) + "? Let's see... Ah, you're on my list."; + next; + mes "[Mother Mathilda]"; + mes "I will send a message to the Sanctuary confirming that you, " + strcharinfo(0) + " visited me and completed your penance."; + next; + mes "[Mother Mathilda]"; + mes "Please return to the Prontera Sanctuary and speak to the Priest in charge."; + close2; + savepoint "moc_fild07",35,355; + set job_acolyte_q,7; + end; + } + else { + mes "Ah...!"; + mes "You must be one"; + mes "of the Acolyte applicants."; + mes "I sincerely welcome you."; + next; + mes "[Mother Mathilda]"; + mes "Now, what is your name?"; + mes "" + strcharinfo(0) + "? Let's see..."; + next; + mes "[Mother Mathilda]"; + mes "Hmm..."; + mes "It seems your name"; + mes "is not on my list..."; + next; + mes "[Mother Mathilda]"; + mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; + close; + } + } + else { + mes "..."; + close; + } + } + else if (BaseJob == Job_Acolyte) callfunc "F_MotherMart"; + else { + if (BaseJob == Job_Priest) { + mes "Hello there~"; + next; + mes "[Mother Mathilda]"; + mes "How is your practice coming along? I certainly hope you're enjoying living in the grace of God."; + close; + } + else { + mes "May God"; + mes "be with you..."; + close; + } + } +} + +prt_fild00,208,218,6 script Ascetic#3aco 98,{ + mes "[Father Yosuke]"; + if (BaseJob == Job_Novice) { + if (job_acolyte_q == 8) { + mes "What?"; + next; + mes "[Father Yosuke]"; + mes "Have you any more business with me?! You don't! Go back to the Sanctuary now!"; + close; + } + if (job_acolyte_q != 0) { + if (job_acolyte_q == 4) { + mes "Hey."; + mes "Whatever you are,"; + mes "you look like an"; + mes "Acolyte applicant."; + mes "Right?"; + next; + mes "[Father Yosuke]"; + mes "Not bad, not bad. You withstood the penance trial pretty well."; + mes "So what's your name?"; + next; + mes "[Father Yosuke]"; + mes "" + strcharinfo(0) + ", huh?"; + next; + mes "[Father Yosuke]"; + mes "Okay. I'll send a message to the Sanctuary that you, " + strcharinfo(0) + ", came to visit me."; + next; + mes "[Father Yosuke]"; + mes "Now go back to the Santuary and finish becoming an Acolyte, kid."; + close2; + savepoint "prt_fild00",206,230; + set job_acolyte_q,8; + end; + } + else { + mes "Hey."; + mes "You look like an Acolyte Applicant. Am I right?"; + next; + mes "[Father Yosuke]"; + mes "Not bad at all, you've made it all the way here from Prontera. So what's your name, kid?"; + next; + mes "[Father Yosuke]"; + mes "" + strcharinfo(0) + ", huh? Why isn't your name on my list?"; + next; + mes "[Father Yosuke]"; + mes "You probably made a mistake. Go back to the Santuary, and check with the Bishop."; + close; + } + } + else { + mes "You..."; + mes "Novice."; + mes "There something"; + mes "you wanna tell me?"; + close; + } + } + else if (BaseJob == Job_Acolyte) callfunc "F_FatherYos"; + else { + if (BaseJob == Job_Priest) { + mes "Hey..."; + next; + mes "[Father Yosuke]"; + mes "If you like, come sit here with me and meditate the great truths. God's majesty is truly inspiring..."; + close; + } + else { + mes "Do you have anything to say? Because unfortunately for you,"; + mes "I don't any replies."; + close; + } + } +} + diff --git a/npc/re/jobs/1-1/archer.txt b/npc/re/jobs/1-1/archer.txt new file mode 100644 index 000000000..3740058cb --- /dev/null +++ b/npc/re/jobs/1-1/archer.txt @@ -0,0 +1,129 @@ +//===== rAthena Script ======================================= +//= Renewal Archer Job Quest +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Job Change to Archer Class +//===== Additional Comments: ================================= +//= 1.0 First Version. [Kisuka] +//============================================================ +payon_in02,64,71,4 script Archer Guildsman#archer 85,{ + if (Upper == 1) { + if (Class == Job_Novice_High && (ADVJOB == Job_Sniper || ADVJOB == Job_Clown || ADVJOB == Job_Gypsy)) { + mes "[Archer Guildsman]"; + mes "Hey, I know you."; + mes "You took this test"; + mes "before, didn't you?"; + next; + mes "[Archer Guildsman]"; + mes "Ah, you must have been"; + mes "to Valhalla and been reborn."; + mes "Wow, that's so impressive!"; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Archer Guildsman]"; + mes "Err..."; + mes "You'd better learn all the Basic Skills first before you can become an Archer."; + next; + mes "[Archer Guildsman]"; + mes "Alright, see you later."; + close; + } + mes "[Archer Guildsman]"; + mes "Well then. I don't"; + mes "need to say anything else."; + mes "I know you'll make a great Archer..."; + next; + skill 143,0,0; + jobchange Job_Archer_high; + skill 147,1,0; + skill 148,1,0; + mes "[Archer Guildsman]"; + mes "Although there's no special"; + mes "reward for you this time, I hope you understand. Take care of yourself."; + close; + }else{ + mes "[Archer Guildsman]"; + mes "Oh...?"; + mes "Hey, what are"; + mes "you doing here...?"; + next; + mes "[Archer Guildsman]"; + mes "I can tell that you're not cut out to be an Archer. It sort of feels like you're meant to do"; + mes "something else..."; + close; + } + } + mes "[Archer Guildsman]"; + mes "Nice to meet you. How may I help you?"; + next; + switch(select("I want to be an Archer.:I need the requirements, please.:Nothing, thanks.")) { + case 1: + if(Class != Job_Novice) { + mes "[Archer Guildsman]"; + if(Class == Job_Archer) { + mes "Haha, you are kidding me.."; + }else{ + mes "I feel sorry but only Novices can change their job."; + mes "You already have your own decent job, don't you?"; + } + close; + }else{ + mes "[Archer Guildsman]"; + mes "You are... "+strcharinfo(0)+". right?"; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Archer Guildsman]"; + mes "Well, you're not at the right skill level."; + mes "Your job level must be at least ^4A4AFF10^000000 and your Basic Skill level should reach ^4A4AFFlevel 9"; + next; + mes "[Archer Guildsman]"; + mes "Because an Archer needs extremely high concentration, so we do not accept those who have little patience."; + close; + } + mes "[Archer Guildsman]"; + mes "Your Basic Skill is now enough.."; + mes "....Hm~~ so you are now ready to be an Archer. I will take the step right away."; + next; + mes "[Archer Guildsman]"; + mes "Congratulations! You are now an Archer! Also, we hope that you actively participate in many programs for the revival of the Archer Guild."; + mes "Ah, items have arrived from the Production Department. Here, take these! These are all yours!"; + jobchange Job_Archer; + getitem 1742,1; // N_Composite_Bow + getitem 12004,1; // Arrow_Container + getitem 12009,1; // Silver_Arrow_Container + getitem 12008,1; // Fire_Arrow_Container + next; + mes "[Archer Guildsman]"; + mes "Having a bow and arrows, now you became a real Archer."; + mes "If you open the arrow container, there are arrows in it and then you can equip them."; + mes "Well, I expect to hear better news from you. It's time to say goodbye."; + mes "Bye."; + close; + } + case 2: + mes "[Archer Guildsman]"; + mes "An Archer has skills using a bow and has various talents."; + mes "The greatest ability of an Archer is attacking enemies from a long distance."; + next; + mes "[Archer Guildsman]"; + mes "Although an Archer has weaker HP, he or she can shoot enemies at a long range,"; + mes "so an Archer is safer in a real battle."; + next; + mes "[Archer Guildsman]"; + mes "Although an Archer in Ragnarok has lower HP, he or she has high accuracy and attack rate so that the archer can kill monsters before they get close to an Archer."; + next; + mes "[Archer Guildsman]"; + mes "^8C2121An Archer can change jobs to a Hunter.^000000"; + mes "^8C2121Other than Hunter, if you are a man, you can change your job to Bard and if you are a woman, you can change your job to Dancer.^000000"; + close; + case 3: + mes "[Archer Guildsman]"; + mes "If you have any questions, feel free to come and ask me."; + close; + } +} diff --git a/npc/re/jobs/1-1/mage.txt b/npc/re/jobs/1-1/mage.txt new file mode 100644 index 000000000..ee5eba7fd --- /dev/null +++ b/npc/re/jobs/1-1/mage.txt @@ -0,0 +1,131 @@ +//===== rAthena Script ======================================= +//= Renewal Mage Job Quest +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Job Change to Mage Class +//===== Additional Comments: ================================= +//= 1.0 First Version. [Kisuka] +//============================================================ +geffen_in,164,124,4 script Mage Guildsman#mage 123,{ + if (Upper == 1) { + if (ADVJOB == Job_High_Wizard || ADVJOB == Job_Professor) { + if (Class == Job_Novice_High) { + mes "[Mage Guildsman]"; + mes "Whoa, long time no see! But weren't you supposed to be dead?"; + next; + mes "[Mage Guildsman]"; + mes "Ah, you must have been reborn. Well, I'm glad to have you back."; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Mage Guildsman]"; + mes "I'm sorry, but I don't think you're ready to learn magic yet. Why don't you go finish learning the Basic Skills first?"; + next; + mes "[Mage Guildsman]"; + mes "Take your time. The more you learn, the more ready you'll be to learn magic again."; + close; + } + mes "[Mage Guildsman]"; + mes "Well, since you have passed the Mage test once, I will not question your qualification. You want to have your magic skills back immediately, don't you?"; + next; + skill 143,0,0; + jobchange Job_Mage_High; + skill 157,1,0; + mes "[Mage Guildsman]"; + mes "Wow, for some reason, you look way better than you did before. Anyway, I believe you will do a better job being a Mage as well."; + close; + }else{ + mes "[Mage Guildsman]"; + mes "Is there anything more I can help you with? If not, why don't you go test your skills? The world is waiting for you~!"; + close; + } + }else{ + mes "[Mage Guildsman]"; + mes "What, are you interested in the Mage guild? I didn't want to tell you this, but you don't belong here."; + next; + mes "[Mage Guildsman]"; + mes "I am not sure why you're still standing in front of me, but I can tell that you're not meant to be a Mage."; + close; + } + } + if(Class != Job_Novice) { + mes "[Mage Guildsman]"; + if(Class == Job_Mage) { + mes "Hey, haven't you realized? You're already a Mage, silly!"; + mes "One of these days you'll realize the power inside of you when you can make Fire with your mind!"; + }else{ + mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; + } + close; + }else{ + mes "[Mage Guildsman]"; + mes "Hey?"; + next; + switch(select("I want to be a Mage:What are the requirements to be a Mage?:Nothing, thanks.")) { + case 1: + mes "[Mage Guildsman]"; + mes "Wanna be a Mage? Eh..."; + next; + mes "[Mage Guildsman]"; + if (Sex) { + mes "Hey, look at you! You're kinda cute~! Not my type though..."; + }else{ + mes "Oooh, you're such a hot babe~!"; + mes "I like girls like you~"; + } + mes "Right, you said that you wanna be a Mage?"; + next; + if(select("I want to be a Mage.:Nothing, thanks.") == 2) { + mes "[Mage Guildsman]"; + mes "Whaaaaat~?! Right after you tell me that you wanna become a Mage, you change your mind?! Be a bit more decisive!"; + close; + } + mes "[Mage Guildsman]"; + if (getskilllv("NV_BASIC") < 9) { + mes "Oh, man your Basic Skill Level doesn't reach enough to be a Mage."; + mes "Go back and level up your Basic Skill."; + close; + } + mes "Alright.. sign the application form.... Wow~ you have good handwriting! Ahh, okay. That's enough."; + mes "You are... "+strcharinfo(0)+"."; + next; + mes "[Mage Guildsman]"; + mes "Hmm I can see that you've tried hard in your own way. Though it seems to be a little clumsy, but well I think it's okay!"; + mes "Good! Always sticking to the basics is the best! I will transform you right away."; + next; + mes "[Mage Guildsman]"; + mes "Hahh..! You are now a Mage, one of our colleagues!"; + mes "We welcome you to the Mage Guild, our new friend!"; + next; + mes "[Mage Guildsman]"; + mes "'Welcome to the Mage Guild~'"; + mes "Congratulations on becoming a member of the Mage Guild! Go for it!"; + callfunc "Job_Change",Job_Mage; + getitem 1639,1; // N_Rod + close; + case 2: + mes "[Mage Guildsman]"; + mes "Wanna be a Mage, eh?"; + mes "I'd be happy to explain the requirements for a pretty girl like you!"; + next; + mes "[Mage Guildsman]"; + mes "First of all, you have to reach Novice Job Level 10 and learn all of the Basic Skills."; + next; + mes "[Mage Guildsman]"; + mes "In the past, there was a complicated potion making test. Because of that, we'd lost an aplicant slowly."; + mes "So, we decided to accept all aplicants who meet the basic requirements."; + next; + mes "[Mage Guildsman]"; + mes "Don't hesitate. Just be a magician!"; + close; + case 3: + mes "[Mage Guildsman]"; + mes "Nothing...?"; + close; + } + } +} diff --git a/npc/re/jobs/1-1/merchant.txt b/npc/re/jobs/1-1/merchant.txt new file mode 100644 index 000000000..a010af556 --- /dev/null +++ b/npc/re/jobs/1-1/merchant.txt @@ -0,0 +1,125 @@ +//===== rAthena Script ======================================= +//= Renewal Merchant Job Quest +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Job Change to Merchant Class +//===== Additional Comments: ================================= +//= 1.0 First Version. [Kisuka] +//============================================================ +alberta_in,53,43,6 script Merchant#mer 86,{ + if (Upper == 1) { + if (Class == Job_Novice_High && (ADVJOB == Job_Whitesmith || ADVJOB == Job_Creator)) { + mes "[Chief Mahnsoo]"; + mes "Long time no see!"; + mes "Hey, you didn't quit"; + mes "your business, did you?"; + mes "What happened?"; + next; + mes "[Chief Mahnsoo]"; + mes "Whoa..."; + mes "You've actually been to Valhalla?! Wow, you've come a long way..."; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Chief Mahnsoo]"; + mes "Hmmm..."; + mes "It seems that you're not ready to become a Merchant again. Go finish learning the Basic Novice Skills first."; + next; + mes "[Chief Mahnsoo]"; + mes "Don't worry, we'll always have a Merchant position open for you. Just come back when you're ready, okay?"; + close; + } + mes "[Chief Mahnsoo]"; + mes "I guess it's destiny that we meet like this once more. Alright. Once again, let me change you into a Merchant!"; + next; + skill 143,0,0; + jobchange Job_Merchant_High; + skill 153,1,0; + skill 154,1,0; + skill 155,1,0; + mes "[Chief Mahnsoo]"; + mes "Ah~ How nostalgic. Just like old times! Alright, do your best!"; + close; + }else{ + mes "[Chief Mahnsoo]"; + mes "^333333*Sigh*^000000"; + mes "I'm so bored..."; + mes "When will I hear from my lovely Blossom?"; + close; + } + } + mes "[Guildsman Mahnsoo]"; + mes "Hey, why are you here?"; + next; + switch(select("I want to be a merchant.:I want to know more about merchants.:Ask him the requirements to be a merchant.:Nothing.")) { + case 1: + if(Class != Job_Novice) { + mes "[Guildsman Mahnsoo]"; + if(Class == Job_Merchant) { + mes ".....? Sorry? What are you saying?"; + mes "You are already a merchant. Oh my.."; + mes "Huh?! ...Do I need to laugh right now?!"; + }else{ + mes "Ahh? Are you trying to have both ways?"; + mes "How about just giving yourself over to your original job?"; + next; + mes "[Guildsman Mahnsoo]"; + mes "We have business ethics you know."; + } + close; + }else{ + mes "[Guildsman Mahnsoo]"; + mes "Want to be a merchant? Hmm..."; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Guildsman Mahnsoo]"; + mes "But if you want to be a merchant, your basic skill level must reach Level 9 or you must spend all of your skill points."; + next; + mes "[Guildsman Mahnsoo]"; + mes "Don't you think we need to learn some basic skills although we just deal with money?"; + close; + } + mes "[Guildsman Mahnsoo]"; + mes "Good, I think you're fully ready for it seeing that your basic skill level is fulfilled."; + mes "Now I allow you to be a merchant."; + next; + mes "[Guildsman Mahnsoo]"; + mes "Congratulations on becoming a merchant!"; + mes "Congratulations again for being a member of the merchant guild and one of our colleagues. I expect your active participation from now on!"; + callfunc "Job_Change",Job_Merchant; + getitem 1381,1; // N_Battle_Axe + next; + mes "[Guildsman Mahnsoo]"; + mes "Absolutely, we need young people who have passion to achieve our great goal for securing 20% of the worldwide currency volume. You get it? Huh?"; + mes "Well, I'm just saying... it means let's make lots of money in the end. You guys know that~"; + close; + } + case 2: + mes "[Guildsman Mahnsoo]"; + mes "Merchant? To put it simply, the person who sells good and makes money is a merchant."; + mes "Not good at fighting and doesn't have special attack/recovery skills... but a merchant can buy things at a low price and then sell them and make money."; + next; + mes "[Guildsman Mahnsoo]"; + mes "Well, a merchant has an ultimate skill called Mammonite which strikes an enemy with his/her money... We can equip everything except Bows, Rods, and Two-Handed Swords. But we can always sell and buy those."; + mes "Yes... we merchants always have money on our minds, got it?"; + close; + case 3: + mes "[Guildsman Mahnsoo]"; + mes "To become a merchant, although just selling and receiving money is our job, you must reach at least basic skill level 9."; + next; + mes "[Guildsman Mahnsoo]"; + mes "Well, we used to receive a start-up fee before. Wasn't it hard to make that money?"; + mes "There were too many people who couldn't gather that money and kept crying."; + next; + mes "[Guildsman Mahnsoo]"; + mes "So recently, we decided to allow any Novice who wants to be a merchant become one."; + mes "Because to be alive or not later is all up to one's ability."; + close; + case 4: + close; + } +} diff --git a/npc/re/jobs/1-1/swordman.txt b/npc/re/jobs/1-1/swordman.txt new file mode 100644 index 000000000..cd01ecb28 --- /dev/null +++ b/npc/re/jobs/1-1/swordman.txt @@ -0,0 +1,127 @@ +//===== rAthena Script ======================================= +//= Renewal Swordman Job Quest +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Job Change to Swordman Class +//===== Additional Comments: ================================= +//= 1.0 First Version. [Kisuka] +//============================================================ +izlude_in,74,172,4 script Swordman#swd 119,{ + if (Upper == 1) { + if (Class == Job_Novice_High && (ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin)) { + mes "[Swordman]"; + mes "It..."; + mes "Can't be..."; + mes "You've been reborn, haven't you?"; + next; + mes "[Swordman]"; + mes "I see you're retreading the path of the Swordman! Once you've gotten used to brandishing a sword, you can never go back!!"; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Swordman]"; + mes "Hmm? Ah, you must first master the Basic Skills before you are ready to become a Swordman."; + next; + mes "[Swordman]"; + mes "Come back to me when you have finished learning the Basic Novice Skills."; + close; + } + mes "[Swordman]"; + mes "Excellent! Let me promote you to a Swordman right away!"; + next; + skill 143,0,0; + jobchange Job_Swordman_High; + skill 144,1,0; + skill 145,1,0; + skill 146,1,0; + mes "[Swordman]"; + mes "Hmm... You look like a well-experienced Swordman. Still, I'm sure that you must train to improve your skills and gain strength!"; + close; + }else{ + mes "[Swordman]"; + mes "Hm...?"; + mes "You're a reborn"; + mes "warrior, aren't you?"; + next; + mes "[Swordman]"; + mes "Hmmm..."; + mes "It seems that being"; + mes "a Swordman is not part"; + mes "of your destiny. I'm sorry,"; + mes "but it seems there is nothing"; + mes "I can do for you."; + close; + } + } + mes "[Swordman Guildsman]"; + mes "This is the Swordman Guild."; + mes "Why are you here?"; + next; + switch(select("Tell me about being a Swordman.:I want to be a Swordman.:Nothing.")) { + case 1: + mes "[Swordman Guildsman]"; + mes "So you wish to know more about the mighty Swordman? Okay!"; + next; + mes "[Swordman Guildsman]"; + mes "The most distinctive feature of the Swordman is that the Swordman can show us his/her real abilities in close combat."; + mes "There are three reasons!"; + next; + mes "[Swordman Guildsman]"; + mes "First, Swordman has higher HP than other jobs."; + mes "Second, except for Bows and Rods, Swordman can use all other weapons so they can fight at their optimal ability."; + mes "And third, most of the skills of the Swordman give powerful physical attacks."; + next; + mes "[Swordman Guildsman]"; + mes "Though I gave you a simple explanation, I believe you understand the core meaning of what it is to be a Swordman."; + mes "In my opinion, Swordman is the best job ever!"; + close; + case 2: + if(Class != Job_Novice) { + mes "[Swordman Guildsman]"; + if(Class == Job_Swordman) { + mes "You are already an excellent Swordman, aren't you?"; + mes "Just devote yourself to be a great Swordman."; + }else{ + mes "You already have one of the other jobs, don't you?"; + mes "You've gone too far with that joke."; + } + close; + }else{ + if (getskilllv("NV_BASIC") < 9) { + mes "[Swordman Guildsman]"; + mes "I'm sorry to tell you this but to be a Swordman, you must reach at least ^4A4AFFJob Level 10^000000."; + mes "and ^4A4AFFBasic Skill Level 9^000000."; + next; + mes "[Swordman Guildsman]"; + mes "Want to be a Swordman without having the minimum requirement?"; + mes "Do you think being a Swordman is that easy?"; + close; + } + mes "[Swordman Guildsman]"; + mes "Hmm, both your Job Level and Basic Skill Level check out."; + mes "Good. Do you want to be a Swordman right away?"; + next; + if(select("Yes, I do.:I'll consider it again.") == 2) { + mes "[Swordman Guildsman]"; + mes "Yeah. Prudent decision is needed for choosing a job."; + mes "But I feel sorry... that you consider it again after overcoming all the hardships...."; + close; + } + mes "[Swordman Guildsman]"; + mes "Congratulations! From now on, you are going to live a Swordman's life!"; + mes "Let's do it right now!"; + next; + mes "[Swordman Guildsman]"; + mes "Congratulations again for being a Swordman and I hope that you participate in many activities for the revival of our guild."; + callfunc "Job_Change",Job_Swordman; + getitem 13415,1; // N_Falchion + close; + } + case 3: + close; + } +} diff --git a/npc/re/jobs/1-1/thief.txt b/npc/re/jobs/1-1/thief.txt new file mode 100644 index 000000000..5bf41fa87 --- /dev/null +++ b/npc/re/jobs/1-1/thief.txt @@ -0,0 +1,207 @@ +//===== rAthena Script ======================================= +//= Renewal Thief Job Quest +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Job Change to Thief Class +//===== Additional Comments: ================================= +//= 1.0 First Version. [Kisuka] +//============================================================ +moc_prydb1,39,129,2 script Thief Guide#thief 69,{ + if (Upper == 1) { + if (ADVJOB == Job_Assassin_Cross || ADVJOB == Job_Stalker) { + if (Class == Job_Novice_High) { + mes "[Thief Guide]"; + mes "Huh? Do I know you? It's creepy that you seem so familiar. You don't have a twin, do you?"; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Thief Guide]"; + mes "What, do you want to be a Thief? I'm sorry, but you look like you need more training."; + next; + mes "[Thief Guide]"; + mes "Take your time and learn all the Basic Skills, will you? Well then, see you later~!"; + close; + } + mes "[Thief Guide]"; + mes "Well, I got this feeling like you've been through a lifetime of fighting, so I'm promoting you to a Thief right this minute. I better give you tough guys what you want..."; + next; + skill 143,0,0; + jobchange Job_Thief_High; + skill 149,1,0; + skill 150,1,0; + skill 151,1,0; + skill 152,1,0; + mes "[Thief Guide]"; + mes "Since you've become a Thief, live as a Thief. Now, go for it! Next~"; + close; + }else{ + mes "[Thief Guide]"; + if (sex) + mes "Hey, dude."; + else + mes "Hey, baby~"; + close; + } + }else{ + mes "[Thief Guide]"; + if (sex) + mes "Hey, dude."; + else + mes "Hey, baby."; + mes "...Hey! You look too goody-goody to want to be a Thief!! Now scram, I'm busy. Next!"; + close; + } + } + if(q_job_thief == 1) { + mes "[Thief Guildsman]"; + mes "Ehh... Seems like a beloved "+(Sex?"son":"daughter")+" of a rich family, but why are you here in this dirty place?"; + next; + mes "[Thief Guildsman]"; + mes "Well, I'm not in charge of making you a Thief. I just accept applications, get it?"; + mes "If you want to become a Thief, ask the sharp-eyed guy next to me."; + close; + } + if(Class != Job_Novice) { + if(Class == Job_Thief) { + mes "[Thief Guildsman]"; + mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; + close; + }else{ + if(Sex) { + mes "[Thief Guildsman]"; + mes "What the heck...?"; + mes "Huh.. you are a "+jobname(Class)+" blockhead...!"; + next; + mes "[Thief Guildsman]"; + mes "Hey, brother."; + mes "Why are you here? Go back to your place~ go back~~"; + close; + }else{ + mes "[Thief Guildsman]"; + mes "What the heck...?"; + next; + mes "[Thief Guildsman]"; + mes "Hey, lady."; + mes "Why are you here? Go back to your place~ go back~~"; + close; + } + } + } + mes "[Thief Guildsman]"; + mes "Ehh... Seems like a beloved "+(Sex?"son":"daughter")+" of a rich family, but why are you here in this dirty place?"; + next; + if(select("I want to be a Thief.:Nothing.") == 2) { + mes "[Thief Guildsman]"; + mes "You know you cannot be a thief without an application....."; + mes "What's on your mind..?"; + close; + } + mes "[Thief Guildsman]"; + mes "Well, are you that proud of it?"; + mes "You're telling me so proudly that you want to be a Thief! Why don't you go to all the villages and advertise yourself for being a thief?"; + mes "'Ha ha ha! Go put up a banner that says 'I will be a proud thief who steals other people's stuff.'"; + next; + mes "[Thief Guildsman]"; + mes "Do you want to be a thief so badly?"; + next; + switch(select("Yes.:No.:How about you?")) { + case 1: + mes "[Thief Guildsman]"; + mes "Oh, do you...? Huh.. well... I do live and learn to see strange people like you."; + next; + break; + case 2: + mes "[Thief Guildsman]"; + mes "Then why are you here? Do you think you can become a thief so easily?"; + next; + break; + case 3: + mes "[Thief Guildsman]"; + mes "Eh..? me? me?"; + mes "Well... I just fit well to being a thief... characteristically... I don't mind this silly matter."; + next; + break; + } + mes "[Thief Guildsman]"; + mes "Anyway, in the outside world, never say that you want to be a Thief!!"; + next; + mes "[Thief Guildsman]"; + mes "So, do you want to apply for being a Thief?"; + next; + if(select("Yes, I do.:No.") == 2) { + mes "[Thief Guildsman]"; + mes "Well... do what you want to do~ Go your way~"; + close; + } + mes "[Thief Guildsman]"; + mes "Alright, tell me your name. Huh? What?"; + mes ""+strcharinfo(0)+". So "+strcharinfo(0)+", right...?"; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Thief Guildsman]"; + mes "I can see your strong will to become a Thief......"; + mes "But only with your will, you cannot make it in a real fight, can you?"; + mes "So go and reach at least Basic Skill Level 9."; + close; + } + mes "[Thief Guildsman]"; + mes "Hmm.... I found your interesting criminal records from the data of the detective agency. Well you seem to have what it takes to be a good thief."; + mes ""+strcharinfo(0)+". I now declare that you have passed the job interview!"; + next; + mes "[Thief Guildsman]"; + mes "Well, I'm not in charge of making you a Thief. I just accept applications, get it?"; + mes "If you want to become a Thief, ask the guy next to me."; + set q_job_thief,1; + close; +} + +moc_prydb1,42,133,2 script Thief Guildsman#thief 118,{ + if(q_job_thief == 1) { + mes "[Thief Guildsman]"; + mes "Alright. You must have passed the job interview, huh?"; + mes "Good. I'll accept you."; + mes "Let's begin the job-changing ceremony of our guild!"; + next; + mes "[Commander of Thief Guild]"; + mes "'"+strcharinfo(0)+".'"; + mes "'For those who are ready, the moonlight shall open the way. Now you are fully ready, I now officially allow you to become a member of the Thief Guild.'"; + jobchange Job_Thief; + set q_job_thief,0; + getitem 13041,1; // N_Main_Gauche + next; + mes "[Commander of Thief Guild]"; + mes "'Congratulations on becoming a Thief.'"; + mes "'From now on, keep the rules of our guild and be an honorable member.'"; + mes "'If you bring us any disgrace by breaking our rules, you better watch your back.'"; + mes "'Anyway, I expect you to be a great thief.'"; + next; + mes "[Brad]"; + mes "Heee~Yaaaa~! Congratulations! My friend."; + mes "My name is 'Brad'. I'm in charge of human resources here."; + mes "I'm not sure for now but you'll have more chances to see me later on."; + next; + mes "[Brad]"; + mes "Okay, I've done what I can do to you, so go on your way. I'm quite a busy man."; + mes "See you again."; + close; + } + if(Class != Job_Novice) { + if(Class == Job_Thief) { + mes "[Brad]"; + mes "I don't have any special events now. So go on your way and come back later."; + }else{ + mes "[Thief Guildsman]"; + mes "Hey~ Hey~ You're not a novice or a thief!"; + mes "What are you doing here? You're not welcome to make this place your home~ Hweeeee~ Get outta here~"; + } + close; + } + mes "[Thief Guildsman]"; + mes "Ho? Why is a novice like you visiting here?"; + mes "If you are here to be a Thief, ask the nasty-tempered lady right next to me."; + close; +} diff --git a/npc/re/jobs/3-1/archbishop.txt b/npc/re/jobs/3-1/archbishop.txt new file mode 100644 index 000000000..0da34bbe8 --- /dev/null +++ b/npc/re/jobs/3-1/archbishop.txt @@ -0,0 +1,1669 @@ +//===== rAthena Script ======================================= +//= Arch Bishop Job Quest +//===== By: ================================================== +//= L0ne_W0lf +//= Credits: Gepard +//===== Current Version: ===================================== +//= 1.7a +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= 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] +//= 1.5a Fixed little typo in Baby Priest & Baby Arch Bishop checks. [Masao] +//= 1.5b More small fixes. [Euphy] +//= 1.6 Fixed bugs where players unable to continue the quest. [Joseph] +//= 1.7 Updated script, many bugs fixed. [Euphy] +//= 1.7a Moved warps to separate file. [Euphy] +//============================================================ + +prt_church,103,88,3 script Praying Minister#arch 60,{ + if (BaseJob != Job_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,"; + mes "there shall be no person smarter than him,"; + mes "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 "These days, 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,"; + mes "there shall be no person smarter than him,"; + mes "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 (Sex?"Brother":"Sister")+", how has your life been? Have you lived it to its 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; + mes "[Praying Minister]"; + mes (Sex?"Brother":"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; + select("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^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,"; + mes "'^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 "Mmmm..."; + 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,"; + mes "there shall be no person smarter than him,"; + mes "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 "These days, 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 == 0) { + mes "[Priest]"; + mes "Un...ba... Unba?"; + close; + } else 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."; + mes "I'm Dayan. Nice to meet you "+(Sex?"Brother.":"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."; + mes "Welcome. "+(Sex?"Brother.":"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 Niflheim where you can find the Hvergelmir spring."; + mes "In Rune-Midgard there is Mimir's spring."; + mes "And in Asgard, the world of the Gods, there is the Word spring."; + next; + mes "[Priest Dayan]"; + mes "Mimir'Â’s 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]"; + mes Sex?"Brother.":"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"; + mes "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; + } else 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; + } + } else if (job_arch == 3) { + mes "[Priest Dayan]"; + mes "Oh, you've come back."; + mes "I can feel that you have a fresh energy."; + mes "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]"; + mes Sex?"Brother.":"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,"; + mes "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."; + mes "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]"; + mes "Thank you very much."; + mes "Feel free to visit here when you want to pray, "+(Sex?"brother.":"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? How's she doing?"; + close; +} + +yggdrasil01,220,47,0 script #arch_pilgrimage 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 "Time to start..."; + 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 "The way of silence...?"; + 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; + } + 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; + mes "^3131FF[Priest Dayan]^000000"; + mes "^3131FFYou're drinking the Holy Water.^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 crashes 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; + } else 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; + if(select("Talk to her.:Stay Quiet.") == 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..."; + mes "Are you here to pray, "+(Sex?"brother":"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..."; + mes "He's very kind. As are you "+(Sex?"brother":"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; + if(select("A dream? What kind of dream?:Your soul should be fine.") == 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 "Unfortunately, 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 "These days, 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; + if(select("I'll investgate for you.:I'll pray with you.") == 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; + } else 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 "Thank 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,1) == 0 || (MaxWeight - Weight) < 2000) { + mes "- Wait a Sec !! -"; + mes "- You are carrying too many items, -"; + mes "- you won't be able to obtain any new items. -"; + mes "- Please take off some items -"; + mes "- and come for the challenge again. -"; + close; + } + if ((BaseLevel != 99) || (JobLevel < 50) || (BaseJob != Job_Priest)) { + 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 (Class != Job_Arch_Bishop || Class != Job_Arch_Bishop_T || Class != Job_Baby_Bishop) { + if (job_arch < 5) { + warp "odin_tem02",282,263; + end; + } else 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; + if(select("Yes:No") == 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 sieged the temple and I exhausted my energy trying 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; + select("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; + } else 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]"; + mes "Hmm, someone is battling the devil in the shrine right now."; + mes "You just wait a minute while I'm finding who it is."; + 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)) + 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]"; + mes "I'm talking with another person now, so give me a second."; + close; + } else if (job_arch == 7) { + if (countitem(12381)) delitem 12381,countitem(12381); //ValkyrieA_Scroll + if (countitem(12382)) 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]"; + mes "Hmm, someone is battling the devil in the shrine right now."; + mes "You just wait a minute while I'm finding who it is."; + 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)) + 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]"; + mes "I'm talking with another person now, so give me a second."; + close; + } + } + end; +OnBc: + set $@archbs,0; + mapannounce "job3_arch01","Valkyrie: I think someone fell down in the shrine. I can hear the devil's unpleasant laugh.",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 -1,{ +OnTouch: + if (countitem(12381)) { + 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; + } + 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","Whispering of an impersonation: They are coming!",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,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)) { + 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) { + 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; +} + +- script #arch_redcell -1,{ +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 1,279,234,1,0xFFFF99; + } + 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 1,244,46,1,0xFFFF99; + 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,{ + end; +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,1) == 0 || (MaxWeight - Weight) < 2000) { + mes "- Wait a Sec !! -"; + mes "- You are carrying too many items, -"; + mes "- you won't be able to obtain any new items. -"; + mes "- Please take off some items -"; + mes "- and come for the challenge again. -"; + close; + } + if (ismounting()) { + mes "You are on a riding pet,"; + mes "so you cannot change your job."; + mes "Please unequip your riding pet and try again!"; + 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)) + 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 an 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; + if (SkillPoint) { + mes "You can't progress without using all your skill points. Please use all of your skill points before progressing~"; + close; + } + 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)) + 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 + jobchange roclass(eaclass()|EAJL_THIRD); + 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,{ + end; +OnTouch: + if (countitem(12382)) + mapannounce "job3_arch02","Whispering of Valkyrie: I see a new ancient scroll!",bc_map; //FW_NORMAL 12 0 0 + end; +} + +- script #arch_2_02_0::archbjcq2 -1,{ +OnTouch: + if (countitem(12382)) { + 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","Whispering of an impersonation: Combat readiness!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + 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)) { + 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; + } + 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 (BaseJob != Job_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 (BaseJob == Job_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: +OnTimer120000: +OnTimer180000: +OnTimer240000: +OnTimer300000: +OnTimer360000: +OnTimer420000: +OnTimer480000: +OnTimer540000: + if (getmapusers("job3_arch02") == 0) { + mapwarp "job3_arch02","job3_arch01",29,29; + donpcevent "Valkyrie#arch::OnBc"; + stopnpctimer; + } + end; +OnTimer600000: + mapannounce "job3_arch02","Valkyrie's Nightmare: I can't stand anymore!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0 + end; +OnTimer605000: + mapannounce "job3_arch02","Whispering of Valkyrie: No way! I can't let you guys do that. Go back!",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: + specialeffect EF_MAPPILLAR2,"#arch_end"; + end; +} + +odin_tem02,30,181,0 script #wherearch01 139,10,10,{ +OnTouch: + if (job_arch == 5) + viewpoint 1,282,263,1,0xFFFF99; + end; +} + +odin_tem02,30,335,0 script #wherearch02 139,10,10,{ +OnTouch: + if (job_arch == 5) + viewpoint 1,282,263,1,0xFFFF99; + end; +} + +/* +job3_arch01,1,1,1 script control#arch 844,{ + mes "[Troll]"; + mes "Password please."; + next; + input .@input; + if (.@input == 1854) { + mes "[Transit]"; + mes "The GlobalVar is"; + mes "" + $@archbs + "."; + mes "Do you want to change it?"; + next; + switch(select("0:1")) { + case 1: + set $@archbs,0; + hideoffnpc "Valkyrie#arch"; + close; + case 2: + set $@archbs,1; + hideoffnpc "Valkyrie#arch"; + close; + } + } else { + mes "[Troll]"; + mes "Enter the correct password!"; + close; + } +} +*/
\ No newline at end of file diff --git a/npc/re/jobs/3-1/guillotine_cross.txt b/npc/re/jobs/3-1/guillotine_cross.txt new file mode 100644 index 000000000..4f350460a --- /dev/null +++ b/npc/re/jobs/3-1/guillotine_cross.txt @@ -0,0 +1,3916 @@ +//===== rAthena Script ======================================= +//= Guillotine Cross Job Quest +//===== By: ================================================== +//= Muad_Dib +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN r16945+ +//===== Description: ========================================= +//= [Official Conversion] +//= Job change Quest from Assassin / Assassin Cross -> Guillotine Cross. +//===== Additional Comments: ================================= +//= 1.0 Adapted from original script. [Euphy] +//= 1.0a Added 'npcskill' command. [Euphy] +//= 1.0b Moved warps to separate file. [Euphy] +//= 1.1 Fixed some minor bugs. [Euphy] +//============================================================ + +que_job01,75,96,3 script Guild Member#3rdgc01 997,{ + if (job_3rd_gc == 0) { + if (Class == Job_Assassin || Class == Job_Assassin_Cross || Class == Job_Baby_Assassin) { + if (BaseLevel == 99) { + L_Mission: + mes "[Ahcart]"; + mes "Finally, it's time..."; + mes "Hey, what's your name?"; + next; + switch(select(strcharinfo(0),".....")) { + case 1: + mes "[Ahcart]"; + mes strcharinfo(0)+"?"; + mes "Got it. I'll remember your name."; + mes "A master told me that you are a person with ability."; + break; + case 2: + mes "[Ahcart]"; + mes "What? You are a distrustful person."; + mes "Hmm, whatever."; + mes "I heard that you are a person with ability."; + break; + } + next; + mes "[Ahcart]"; + mes "My duty is delivering a guild message to a capable assassin."; + mes "I think that you are suitable to perform the guild's duty."; + next; + mes "[Ahcart]"; + mes "So, would you perform this duty for us?"; + mes "Of course, I'm going to offer a reward for completing your task."; + next; + select("What is the request?"); + mes "[Ahcart]"; + mes "It's unclear."; + mes "I told you. It's a special task."; + mes "The only thing I know is the condition to bring a person with the master's ability."; + next; + mes "[Ahcart]"; + mes "First, one who has patience."; + mes "Second, one who is quiet."; + mes "Third, one who is focused."; + next; + mes "[Ahcart]"; + mes "What do you think about what I told you?"; + mes "This task means that it needs a person who can perform a task irrespective of their own will."; + next; + mes "[Ahcart]"; + mes "It's necessary to keep this request secret."; + mes "But it's also your duty not to tell anyone."; + next; + mes "[Ahcart]"; + mes "This is all your choice."; + mes "Will you help us with this request?"; + next; + switch(select("I'll do it.:Give me time to think.")) { + case 1: + mes "[Ahcart]"; + mes "Ok, to Veins."; + mes "I'll contact them."; + mes "It's your first duty to go to Veins."; + next; + mes "[Ahcart]"; + mes "You should be able to find it easily."; + mes "Go now."; + set job_3rd_gc, 3; + setquest 7101; + close; + case 2: + mes "[Ahcart]"; + mes "Got it."; + mes "But don't think about it for too long."; + set job_3rd_gc, 2; + close; + } + } + mes "[Ahcart]"; + mes "Hmm, you are my peer."; + mes "I'm Ahcart. I'm from Veins."; + mes "Hmm..."; + next; + mes "[Ahcart]"; + mes "Of course, a chapter of the assassin guild is not only in Morroc. If you have a chance to go there, visit there."; + mes "I think you might go there."; + set job_3rd_gc, 1; + close; + } + mes "[A man of a sharp impression]"; + mes "...."; + mes "What the...?"; + mes "You are not an assassin."; + close; + } else if (job_3rd_gc == 1) { + if (BaseLevel == 99) goto L_Mission; + mes "[Ahcart]"; + mes "If you become stronger and more skillful, then the assassin's guild will give you a special task."; + mes "Go for it."; + close; + } else if (job_3rd_gc == 2) { + mes "[Ahcart]"; + mes "Have you thought about it more?"; + next; + switch(select("I'll do it.:I'm not ready.")) { + case 1: + mes "[Ahcart]"; + mes "Ok, to Veins."; + mes "I'll contact them."; + mes "It's your first duty to go to Veins."; + next; + mes "[Ahcart]"; + mes "You should be able to find it easily."; + mes "Go now."; + set job_3rd_gc, 3; + setquest 7101; + close; + case 2: + mes "[Ahcart]"; + mes "You are too cautious."; + mes "I get the sense that you don't want to work for us."; + close; + } + } else if (job_3rd_gc == 3) { + mes "[Ahcart]"; + mes "Go to Veins and find a chapter."; + mes "You can hear more details from there."; + close; + } else { + mes "[Ahcart]"; + mes "Good luck to you."; + close; + } +} + +function script func_3rdgc { + set .@n$, "["+strcharinfo(0)+"]"; + mes .@n$; + mes "Let me collect all the information..."; + set .@i,0; + if (checkquest(7112) == 1) { mes "Madelle saw a person who looked like a priest from Rachel late at night."; set .@i,.@i+1; } + if (checkquest(7113) == 1) { mes "Crave said that there was a girl who bought lots of things day and night."; set .@i,.@i+1; } + if (checkquest(7114) == 1) { mes "Trovan said that there was a guy who could be seen often but is not a hotel guest, so he is suspicious."; set .@i,.@i+1; } + if (!getarg(0)) { + set .@i,.@i-2; + if (checkquest(7115) == 1) { mes "A peddler wears shabby clothes, but she buys fresh and expensive things every single day."; set .@i,.@i+1; } + if (checkquest(7116) == 1) { mes "The old man in village said that there was a girl who showed up in same place at the same time, so maybe moved here."; set .@i,.@i+1; } + } + next; + if (.@i == 3) { + mes .@n$; + mes "One day, Madelle saw a person who looked like a priest of Rachel,"; + mes "and Trovan is suspicious of why that person is here."; + next; + mes .@n$; + mes "But the reason that Trovan suspects them is..."; + next; + switch(select("They are unfamiliar:The residence is unclear")) { + case 1: + mes .@n$; + mes "No, that's not the reason. The guard sees new adventurers every day."; + mes "Besides, Madelle told me that it was a guy and Crave said it was a girl."; + mes "I'm confused."; + next; + mes .@n$; + mes "Let me rethink this."; + set job_3rd_gc, 7; + close; + case 2: + mes .@n$; + mes "Yeah, adventurers often visit so it can't be a proper reason."; + next; + mes .@n$; + mes "The thing Trovan suspected is that his residence is unclear. But he shows up often and buys supplies regularly."; + next; + mes .@n$; + mes "But Crave said it was a girl."; + mes "Madelle said that she witnessed a guy."; + next; + if (getarg(0)) { + if(select("Madelle witnessed 2...:There are more than 2...") == 1) { + mes .@n$; + mes "Madelle said that she saw one more person in the darkness."; + mes "Then is it a girl who brought the supplies?"; + next; + } + } + else select("It could be a helper."); + mes .@n$; + mes "Yeah. There could be one more helper."; + mes "She sent a person to buy the stuff instead of herself."; + mes "Or it could be a peer Madelle can't see."; + next; + mes .@n$; + mes "Crave said that she comes here day and night to buy stuff regularly."; + mes "Then I know what I have to do."; + set job_3rd_gc, 8; + close; + } + } + mes .@n$; + mes "Umm..."; + mes "Do I need more information? I think something more is needed."; + close; +} + +job3_guil01,82,95,3 script Daora#3rdgc02 940,{ + mes "[Daora]"; + if (Class == Job_Assassin || Class == Job_Assassin_Cross || Class == Job_Baby_Assassin) { + if (job_3rd_gc < 4) { + if (Sex) { + mes "Oh~ you're good-looking!"; + mes "So, what do you want?"; + } else { + mes "Hmm, you're a girl."; + mes "Ok pick up whatever you want."; + } + next; + mes "[Daora]"; + mes "I'm not sure that you already know or not, but we are selling special Morroc liquor."; + mes "Which one do you want?"; + next; + switch(select("Tropical Sograt:Vermilion on the Beach:No thanks!:......")) { + case 1: + mes "[Daora]"; + if (Zeny > 799) { + mes "Here you are, take it."; + set Zeny, Zeny - 800; + getitem 12112,1; //Tropical_Sograt + close; + } + mes "It's 800 zeny per glass of Tropical Sograt."; + close; + case 2: + mes "[Daora]"; + if (Zeny > 799) { + mes "Here you are, take it."; + set Zeny, Zeny - 800; + getitem 12113,1; //Vermilion_The_Beach + close; + } + mes "It's 800 zeny per glass of Vermilion on the Beach."; + close; + case 3: + mes "[Daora]"; + mes "Don't show me your nervousness!"; + specialeffect2 EF_HIT1; + percentheal -30,0; + close; + case 4: + mes "[Daora]"; + mes "What? Why are you looking at me like that?"; + mes "Oh? You are a person of this world."; + mes "Your name is..."; + next; + mes "["+strcharinfo(0)+"]"; + mes strcharinfo(0)+"."; + next; + mes "[Daora]"; + if (job_3rd_gc == 3) { + mes "Ah~ I've heard your name before."; + mes "Umm... right!"; + mes "You were recommended by Ahcart."; + next; + mes "[Daora]"; + mes "Yeah, can you find an entrance to an alley in the corner?"; + mes "Go in there, then you can hear a more detailed story."; + mes "Take on this special task~!"; + set job_3rd_gc, 4; + changequest 7101,7102; + close; + } + mes "What, I don't know that name."; + mes "Hey, I have to be in business, so can you move over?"; + close; + } + } else if (job_3rd_gc == 4) { + mes "The room in the corner. Feel free to enter it because no one enters that room anyway."; + mes "Or do you need something?"; + next; + mes "[Daora]"; + mes "Ah, I'm not selling liquir to someone who's started the special task."; + next; + switch(select("Not selling liquor...:I need information.:Fine then punk!")) { + case 1: + mes "[Daora]"; + mes "Hey, you are performing a task now."; + mes "And you want me to sell you booze?!"; + mes "Is every assasin like you? Lazy boozers?"; + close; + case 2: + mes "[Daora]"; + mes "You dare to demand information after taking a task."; + mes "You didn't meet a master yet?"; + mes "As if I would just tell you because you ask!"; + mes "You are childish."; + close; + case 3: + mes "[Daora]"; + mes "Don't talk to me like I'm one of your friends!"; + mes "You have no right to be that way!"; + specialeffect2 EF_HIT1; + percentheal -30,0; + close; + } + } else if (job_3rd_gc == 10) { + mes "Oh~! good for me."; + mes "Who is she?"; + mes "You told her that we'll protect her?"; + next; + select("Yes,I did."); + mes "[Daora]"; + mes "Hmm, I see..."; + mes "Your opinion will be important."; + mes "I got it."; + next; + mes "[Daora]"; + mes "She was so scared,"; + mes "so I gave her a hot drink"; + mes "and took her to a her room."; + next; + mes "[Daora]"; + mes "Well... there is better place to keep an eye on her than this room."; + next; + select("No, I just protect..."); + mes "[Daora]"; + mes "Ah~ whatever anyway you make me work."; + mes "To protect that young girl."; + next; + mes "[Daora]"; + mes "Mayshell told me that I have to support you, so I'm not going to complain."; + next; + mes "[Daora]"; + mes "So, don't worry."; + mes "Are you supposed to be here for her?"; + mes "Go ahead."; + set job_3rd_gc, 11; + close; + } else if (job_3rd_gc == 11) { + mes "She is in a room."; + mes "The one in front of master's room."; + mes "Can you find it?"; + close; + } else if (job_3rd_gc == 12) { + mes "That girl..."; + mes "will be sent to her home?"; + mes "Don't worry about that."; + next; + mes "[Daora]"; + mes "Mayshell and the other guys will handle it."; + close; + } else if (job_3rd_gc == 14) { + mes "Oh, it's perfect timing."; + mes "Mayshell will call you."; + mes "Go to the master's room."; + close; + } else if (job_3rd_gc > 4 && job_3rd_gc < 18) { + mes "What do you need?"; + mes "We don't sell to anyone who has started the special task."; + next; + switch(select("....:Give me 1 glass.:Then, can you give milk?")) { + case 1: + mes "[Daora]"; + mes "Why? Are you disappointed?"; + mes "Um~"; + mes "I can't let anyone on duty drink."; + close; + case 2: + mes "[Daora]"; + if (job_3rd_gc == 5) { + mes "I told you that I won't sell you any."; + mes "An empty glass is fine without liquor."; + mes "I already told you..."; + next; + mes "[Daora]"; + mes "I'll let you know all the information that I know."; + next; + mes "[Daora]"; + mes "If you need to, visit me anytime and I'll serve you a drink after your task is done."; + set job_3rd_gc, 6; + close; + } else if (job_3rd_gc == 6) { + if (checkquest(7091) == 1) { + mes "You hope that there will be something in the glass?"; + mes "Information can't come out of empty glasses."; + close; + } + mes "You need a glass?"; + mes "Mayshell's order distracted you, so you can't understand anything."; + next; + mes "[Daora]"; + mes "Ok, what do you want to know?"; + mes "You hope that there will be something in the glass?"; + next; + switch(select("Ask for help.:Handle it by yourself.")) { + case 1: + mes "[Daora]"; + mes "So, it means just killing a strange guy in the village?"; + mes "Why were you in agony because of that?"; + mes "Hmm... Let me see..."; + next; + mes "[Daora]"; + mes "Then it will need legwork?"; + mes "Where is the most crowded place in this village?"; + mes "The pub and motel."; + next; + mes "[Daora]"; + mes "And the guard of the village always keeps an eye on strange people."; + mes "Or the old merchant is quick in visual learning."; + next; + mes "[Daora]"; + mes "I can say that especially..."; + mes "Trovan, Crave who is a trader, and Madelle in the pub are quick in visual learning."; + next; + mes "[Daora]"; + mes "It's good information, isn't it?"; + setquest 7091; + next; + mes "- The advice of Daora is attached to the board with quest information. -"; + close; + case 2: + mes "[Daora]"; + mes "Ok. It's great."; + mes "Each word and behavior will be an important key of the events."; + mes "So, look around carefully and figure it out."; + next; + mes "[Daora]"; + mes "Something good will happen."; + close; + } + } else if (job_3rd_gc == 7) { + mes "You seem to be worried."; + mes "Here, It's cold water."; + mes "You think over with cold water."; + next; + switch(select("Figure out based on information.:Stop the stage.")) { + case 1: + if (checkquest(7091) == 1) set .@j,1; + callfunc "func_3rdgc",.@j; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else if (job_3rd_gc == 8) { + if (checkquest(7092) == 1) { + mes "Wait in an alley where she usually shows up to find her, and you will be able to pursue the question."; + next; + mes "[Daora]"; + mes "Trying wouldn't hurt."; + mes "If you want to find a root, you have to find a leaf first."; + mes "Work hard."; + close; + } + mes "Did you solve it?"; + mes "What will you do?"; + next; + switch(select("Get advice.:It's a secret.")) { + case 1: + mes "[Daora]"; + mes "Can you let me know about an information you collected?"; + next; + if(select("You have a heart-to-heart talk with him.:That's impossible.") == 2) { + mes "[Daora]"; + mes "What, I can't support you properly?"; + mes "You solve it by yourself."; + close; + } + mes "[Daora]"; + mes "Hum. Got it."; + next; + mes "[Daora]"; + mes "There is a guy who looks like a priest and Trovan and Madelle saw him."; + mes "A merchant saw a girl who buys things regularly."; + next; + mes "[Daora]"; + mes "The main target is a guy,"; + mes "but the helper is a girl."; + mes "Maybe."; + next; + mes "[Daora]"; + mes "Above all,"; + mes "it's really getting to you."; + next; + mes "[Daora]"; + mes "Then it's simple."; + mes "Why don't you meet her in the place where she visits often?"; + next; + mes "[Daora]"; + mes "It's the transience of duty."; + mes "You don't know the meaning with a piece of the puzzle."; + next; + mes "[Daora]"; + mes "They can be related people or not."; + mes "Ok, I'll be very attentive to my want."; + next; + mes "[Daora]"; + mes "Right~?"; + mes "Go on a place where can look down a village well and find Melissa."; + mes "That will be helpful."; + next; + mes "- Daora's advice is attached on the board of quest. -"; + setquest 7092; + close; + case 2: + mes "[Daora]"; + mes "Umm~."; + mes "Right. There is a secret"; + mes "you can't tell anyone while perfoming a task."; + next; + mes "[Daora]"; + mes "In those regards, you surpass the standards."; + close; + } + } else if (job_3rd_gc == 9) { + if (checkquest(7093) == 1) { + mes "So, go to the east of village, you can see a narrow alley directed to the north."; + next; + mes "[Daora]"; + mes "The blind alley that Melissa told means this street."; + mes "You are thinking like a child."; + close; + } + mes "Haha... how's it going?"; + next; + switch(select("Where is the blind alley?:It's okay.")) { + case 1: + mes "[Daora]"; + mes "The blind alley?"; + mes "Hmm... well."; + mes "Is there a blind alley like our pub..."; + next; + mes "[Daora]"; + mes "Ah, in the northeast alley"; + mes "directed upside in the village,"; + mes "there is no street because"; + mes "the houses stand close together in that area."; + next; + mes "[Daora]"; + mes "Around Melissa's house,"; + mes "that is the blind alley"; + mes "for the boy, maybe."; + next; + mes "[Daora]"; + mes "It's very easy to find walking around the village."; + setquest 7093; + next; + mes "- Daora's advice is attached on the board of quest. -"; + close; + case 2: + mes "[Daora]"; + mes "Ok. It's going well."; + mes "Can I expect a good result?"; + close; + } + } else if (job_3rd_gc == 13) { + mes "I sent a girl named Estillda to her home."; + mes "Why do we handle worthless things like it?"; + next; + if (checkquest(7094) == 1) { + mes "[Daora]"; + mes "I'm not sure if he still lives..."; + mes "Anyway, he is a key artisan in Rachel,"; + mes "and can recognize all kinds of keys."; + next; + mes "[Daora]"; + mes "What? Residence?"; + mes "I told you, it's Rachel."; + mes "He maybe lives in comfort for the rest of his days in Rachel."; + next; + mes "[Daora]"; + mes "Go ask inside a pub of Rachel..."; + close; + } + mes "[Daora]"; + mes "Yeah, how's it going?"; + next; + switch(select("It progress satisfactorily.:Show the key.")) { + case 1: + mes "[Daora]"; + mes "My glass, you don't need it?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Yes. I already have enough information."; + mes "If that is a stuff has a long story behind it,"; + mes "we have only one way."; + next; + mes "[Daora]"; + mes "Right."; + mes "If you think carefully,"; + mes "you can find a way."; + next; + mes "[Daora]"; + mes "Good luck~"; + close; + case 2: + mes "[Daora]"; + mes "What is th--"; + mes "I see, that guy had this key...?"; + next; + mes "[Daora]"; + mes "It's a symbol of shrines"; + mes "and has a showy pattern."; + mes "Hmm..."; + next; + mes "[Daora]"; + mes "So, you want to know this key's use?"; + mes "If you do, go to Rachel."; + mes "There is a key artisan there."; + next; + mes "[Daora]"; + mes "Now, he is retired, but he"; + mes "spends his declining years in peace."; + mes "You can ask him yourself."; + next; + mes "[Daora]"; + mes "Ask what this key's use is."; + setquest 7094; + next; + mes "- Daora's advice is attached on the quest board. -"; + close; + } + } else if (job_3rd_gc == 15) { + if (checkquest(7095) == 1) { + mes "The field northwest of Veins."; + mes "You can find that easily with a map."; + mes "There are lots of wolves, so be careful."; + close; + } + mes "Hey, how's Mayshell?"; + mes "Can you fix an uncomfortable way of talking?"; + next; + mes "[Daora]"; + mes "Don't pretend to be a noblewoman."; + next; + switch(select("I'm going to go.:Do you know a mansion around Veins?")) { + case 1: + mes "[Daora]"; + mes "Ok."; + mes "Don't be carried away by ill-advised bravery."; + mes "Well... it's also hard to be killed."; + close; + case 2: + mes "[Daora]"; + mes "Yes, sure."; + mes "There is a mansion between ravines."; + mes "It's very gloomy."; + mes "I don't understand his taste."; + next; + mes "[Daora]"; + mes "And that mansion is built in back of a ravine..."; + mes "It's always dark like the night."; + next; + mes "[Daora]"; + mes "The location?"; + mes "Well..."; + mes "It's in the northwest field of Veins."; + mes "You can go through a narrow road to northeast."; + setquest 7095; + next; + mes "- Daora's advice is attached on the board of quest. -"; + next; + mes "[Daora]"; + mes "There are lots of scary wolves in that area, be careful."; + close; + } + } else { + mes "No. It's not funny anymore."; + close; + } + case 3: + mes "[Daora]"; + mes "Our milk is expensive!"; + mes "Give me 500 zeny for a cup."; + next; + switch(select("It's ok. Give me a cup of milk.:You are a barefaced robber!")) { + case 1: + mes "[Daora]"; + if (Zeny > 499) { + mes "Here you are. Milk."; + mes "Then take a rest."; + set Zeny, Zeny - 500; + getitem 519,1; //Milk + close; + } + mes "I told you, it's 500 zeny."; + mes "A poor man. You have only a fine figure!"; + close; + case 2: + mes "[Daora]"; + mes "An impertinent fellow!"; + specialeffect2 EF_HIT1; + percentheal -30,0; + close; + } + } + } else { + mes "You've completed the task perfectly."; + mes "What do you need now?"; + mes "Do you need something else?"; + next; + mes "[Daora]"; + mes "If you decide on a way to walk, it's time to start newly."; + mes "Everyone is waiting for you."; + close; + } + } else if (Class == Job_Guillotine_Cross || Class == Job_Guillotine_Cross_T || Class == Job_Baby_Cross) { + if (Sex) { + mes "Oh~ you're good-looking~!"; + mes "It's worthwhile to open a pub~"; + mes "I can feel fruitful labors whenever I see a guy like you~"; + } else { + mes "Hmm... You look as good as I did in my youth."; + mes "What do you want?"; + } + next; + switch(select("Tropical Sograt:Vermilion on the Beach:Milk")) { + case 1: + mes "[Daora]"; + if (Zeny > 799) { + mes "Here you are, take it."; + set Zeny, Zeny - 800; + getitem 12112,1; //Tropical_Sograt + close; + } + mes "It's 800 zeny per 1 glass of Tropical Sograt."; + close; + case 2: + mes "[Daora]"; + if (Zeny > 799) { + mes "Here you are, take it."; + set Zeny, Zeny - 800; + getitem 12113,1; //Vermilion_The_Beach + close; + } + mes "[Daora]"; + mes "It's 800 zeny per 1 glass of Vermilion on the Beach."; + close; + case 3: + mes "[Daora]"; + if (Sex) { + mes "Uh... Umm..."; + mes "It's complicated order. but I don't have any choice since you want it."; + next; + mes "[Daora]"; + if (Zeny > 499) { + mes "I feel sorry to take 500 zeny per bottle, but I have to."; + mes "It's very hard to get milk in Veins."; + set Zeny, Zeny - 500; + getitem 519,1; //Milk + close; + } + mes "Umm... I think I can't help you."; + mes "There is no milk in Veins."; + close; + } else { + mes "Ah, milk."; + mes "Huu! Milk!"; + next; + mes "[Daora]"; + mes "I don't have anything like that."; + close; + } + } + } else { + if (Sex == 1) { + mes "Oh~ you're good-looking!"; + mes "So, what do you want?"; + } + else { + mes "Hum...you're a girl."; + mes "Ok pick up whatever you want."; + } + next; + mes "[Daora]"; + mes "I'm not sure that you already know or not, but we are selling special liquor of Morroc."; + mes "Which one do you want?"; + next; + switch(select("Tropical Sograt:Vermilion the beach:No thanks!")) { + case 1: + mes "[Daora]"; + if (Zeny > 999) { + mes "Here you are, take it."; + set Zeny, Zeny - 1000; + getitem 12112,1; //Tropical_Sograt + close; + } + mes "It's 1000 zeny per glass of Tropical Sograt."; + close; + case 2: + mes "[Daora]"; + if (Zeny > 999) { + mes "Here you are, take it."; + set Zeny, Zeny - 1000; + getitem 12113,1; //Vermilion_The_Beach + close; + } + mes "It's 1000 zeny per glass of Vermilion on the Beach."; + close; + case 3: + mes "[Daora]"; + mes "Don't show me your nervousness!"; + specialeffect2 EF_HIT1; + percentheal -30,0; + close; + } + } +} + +job3_guil01,16,20,4 script Mayshell#3rdgc03 894,{ + if (!checkweight(1201,2)) { + mes "- You can't continue this quest because you have too many items. -"; + close; + } + mes "[Mayshell]"; + if (job_3rd_gc == 4) { + mes "You were sent here by Ahcart?"; + mes "I'll give you a task without asking anymore questions."; + mes "Ok, listen carefully."; + next; + mes "[Mayshell]"; + mes "We are chasing a person trying to dissolve an organization."; + mes "We got information about a guy who looks like a town leader."; + next; + mes "[Mayshell]"; + mes "Your task is to punish him under the cover of shadow."; + next; + mes "[Mayshell]"; + mes "Our objective shouldn't be released to anybody."; + mes "Your memories should disappear in shadow."; + mes "Be cautious and avoid observation."; + next; + select("Ok...:So the task is...?"); + mes "[Mayshell]"; + mes "What does he look like?"; + mes "How do you recognize him?"; + mes "I can't tell you."; + mes "That's for you to find out."; + next; + mes "[Mayshell]"; + mes "You will need a compass."; + mes "You need a lamp and a light to see in the darkness."; + next; + mes "[Mayshell]"; + mes "At that point, you will be able to have a drink and rest."; + next; + mes "[Mayshell]"; + mes "Overcome the adversity."; + mes "It is up to you to judge."; + mes "We can't help you, so you must figure it out for yourself."; + next; + mes "[Mayshell]"; + mes "We saw a stranger in this village, we are quite sure that he is the person who we are looking for your task."; + next; + mes "[Mayshell]"; + mes strcharinfo(0)+"."; + mes "Time is not waiting for you."; + mes "Go ahead. Spill blood with the blade of a knife that stands for a stoic life."; + set job_3rd_gc, 5; + changequest 7102,7103; + close; + } else if (job_3rd_gc == 5) { + mes "You already have your orders."; + mes "Even though you don't have any evidence, I trust you to do a good job."; + next; + mes "[Mayshell]"; + mes "It's a test to watch you."; + mes "Let me see, "+strcharinfo(0)+"..."; + mes "Go out and think about what you have to do first."; + next; + mes "[Mayshell]"; + mes "Your task is finding a stranger."; + next; + mes "[Mayshell]"; + mes "Go out search diligently."; + mes "I'll allow you to have some water."; + next; + mes "[Mayshell]"; + mes "Meet Daora before you start."; + mes "She may be helpful to you."; + close; + } else if (job_3rd_gc == 14) { + mes "Welcome."; + mes "How was your day?"; + mes "I heard about your activity."; + next; + mes "[Mayshell]"; + mes "You found a key, right?"; + mes "Huhu. I have my ways of finding out."; + next; + mes "[Mayshell]"; + mes "Can you show me the key?"; + mes "I'm going to check if"; + mes "you were capable or not..."; + next; + select("Give a key to him."); + mes "[Mayshell]"; + if (countitem(6150) == 0) { + mes "You didn't bring a key?"; + mes "I'll be in lots of trouble."; + close; + } + mes "I didn't expect your success without a clear target..."; + mes "You are a man of greater ability than I thought."; + next; + mes "[Mayshell]"; + mes "I think you find a target what we look for."; + mes "Then you handle it after finding a key's host."; + next; + mes "[Mayshell]"; + mes "Then it'll be over."; + mes "But you have to find the key's host by yourself."; + next; + mes "[Mayshell]"; + mes "When you find the mansion, there will be a person waiting for you."; + next; + mes "[Mayshell]"; + mes "This is the last step."; + mes "Don't make any mistakes."; + delitem 6150,1; //Key_Of_The_Mansion + set job_3rd_gc, 15; + changequest 7108,7109; + close; + } else if (job_3rd_gc == 15) { + mes "Ok, you have something to do?"; + mes "If you are late, Renzak might get upset."; + close; + } else if (job_3rd_gc == 18 || job_3rd_gc == 19) { + mes "I already got a report from Renzak."; + if (job_3rd_gc == 18) { + mes "You completed the task quickly."; + mes "That's great."; + } else { + mes "I'm so happy to see you."; + mes "But quickness is very important to us."; + next; + mes "[Mayshell]"; + mes "You were not punctual..."; + mes "At least you came back alive."; + } + next; + set .@all_wine,0; + for(set .@i,0; .@i<5; set .@i,.@i+1) + if (checkquest(7091+.@i) == 1) set .@all_wine, .@all_wine+1; + mes "[Mayshell]"; + if (.@all_wine < 2) { + mes "You did the job by yourself"; + mes "even though there wasn't any"; + mes "information about it, and you"; + mes "collected it."; + next; + mes "[Mayshell]"; + mes "You corresponded with all conditions"; + mes "promptly and with patience."; + next; + mes "[Mayshell]"; + if (job_3rd_gc == 18) { + mes "The evaluation of your task is... [S]."; + mes "[S] is for 'special'."; + set .@quest,7099; + } else { + mes "The evaluation of your task is... [A]."; + mes "If you were punctual, you would have received higher."; + set .@quest,7096; + } + next; + } else { + mes "You made full use of Daora's advice."; + mes "But, didn't I mention it?"; + next; + mes "[Mayshell]"; + mes "I told you to keep it a secret..."; + mes "Of course, I don't want to blame you."; + next; + mes "[Mayshell]"; + mes "It's important not only to solve this by yourself,"; + mes "but also to make an effort getting information."; + next; + mes "[Mayshell]"; + if (.@all_wine > 3) { + if (job_3rd_gc == 18) { + mes "The evaluation of your task is... [B]."; + set .@quest,7097; + } else { + mes "The evaluation of your task is... [C]."; + mes "You need to act by yourself."; + set .@quest,7098; + } + next; + } else { + mes "You adjusted an affair with flexible points of view."; + mes "You were not dependent on the others and you used the surroundings properly."; + next; + mes "[Mayshell]"; + mes "I like that."; + if (job_3rd_gc == 18) { + mes "The evaluation of your task is... [A]."; + set .@quest,7096; + } else { + mes "The evaluation of your task is... [B]."; + set .@quest,7097; + } + next; + } + } + mes "[Mayshell]"; + mes "You got a new qualification for completing this task."; + mes "It's a shadow of our assasin as a shadow of the world..."; + next; + mes "[Mayshell]"; + mes "I'm going to give you the qualification to be a ^4d4dffGuillotine Cross^000000."; + mes "I'm not pushing you, so you can come whenever you want to visit."; + next; + mes "[Mayshell]"; + mes "I reward you for your labor, and I'm going to give you a present."; + mes "I got this one from guild, I hope it's helpful to you."; + set job_3rd_gc, 20; + getitem 12106,1; //Accessory_Box + erasequest 7091; + erasequest 7092; + erasequest 7093; + if (checkquest(7094) > -1) erasequest 7094; + if (checkquest(7095) > -1) erasequest 7095; + erasequest 7112; + erasequest 7113; + erasequest 7114; + if (checkquest(7115) > -1) erasequest 7115; + if (checkquest(7116) > -1) erasequest 7116; + changequest 7111,.@quest; + next; + mes "[Mayshell]"; + mes "I want to tell you something."; + mes "I order you that ^4d4dffyou should not leave a document at all^000000, whatever it is."; + next; + mes "[Mayshell]"; + mes "There are two types of information:"; + mes "Things that can be shared and those that cannot."; + next; + mes "[Mayshell]"; + mes "And never leave records or tell anybody about a task you completed..."; + mes "for your junior who will follow your steps."; + next; + mes "[Mayshell]"; + mes "Don't forget."; + mes "And the task you did is related to Rachel, Rune-Midgard, and our assassin guild."; + mes "So the others should not be known. Of course, you are included, so please forget everything."; + close; + } else if (job_3rd_gc == 20) { + mes "You are acknowledged by the guild."; + mes "Feel free to come whenever you want to become a Guillotine Cross."; + next; + mes "[Mayshell]"; + mes "That choice means that you will have to walk a street of blood again."; + next; + mes "[Mayshell]"; + mes "Bercasell is waiting in the room on the opposite side."; + mes "Meet him."; + close; + } else if (job_3rd_gc > 20) { + mes "Even though I gave you a qualification,"; + mes "I don't want to celebrate that qualification."; + next; + mes "[Mayshell]"; + mes "It's a way to abandon one's mind and the way of pain, of adversity."; + mes "I pushed you that way."; + next; + mes "[Mayshell]"; + mes "It's funny."; + mes "We live for checking our comrades..."; + mes "But it's a rule of the assasin."; + next; + mes "[Mayshell]"; + mes "In a dark night, it's the fate of a person who is going on the shadow of the moon."; + mes "I wish you to store one's mind, please..."; + close; + } else { + mes "You are not allowed in here."; + close; + } +} + +ve_in,228,108,3 script Waitress#3rdgc04 80,{ + mes "[Waitress]"; + if (job_3rd_gc < 6) { + mes "Welcome~"; + mes "Visit and take a rest~"; + close; + } else if (job_3rd_gc == 6) { + if (checkquest(7091) == 1) { + if (checkquest(7112) == 1) { + mes "That's all the information that I know."; + mes "After that, I can't remember anything else."; + next; + mes "Then can we figure it out with the information you collected?-"; + next; + switch(select("Do it.:Stop it.")) { + case 1: + callfunc "func_3rdgc",1; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "Welcome."; + mes "Are you ready to order?"; + next; + switch(select("You are...:Your name is..?:Water, please.")) { + case 1: + mes "[Waitress]"; + mes "What's the matter?"; + mes "Are you ready to order?"; + next; + select("I'm looking for Madelle..."); + mes "[Madelle]"; + mes "Ah? Madelle? Do you know about Daora?"; + mes "I'm Madelle."; + mes "I think you have business because you came from Daora."; + next; + select("Was there a suspicious guest?"); + mes "[Madelle]"; + mes "A suspicious guest?"; + mes "What kind of...?"; + mes "Ah, well... we have had a few strangers."; + next; + mes "[Madelle]"; + mes "We don't have lots of floating population because of the rough terrain in the village."; + mes "Almost all people have been here since they were born or adventurers who are regulars."; + next; + mes "[Madelle]"; + mes "But if they are not that kind of people..."; + mes "Yes, there were strangers."; + next; + select("Can you tell me about them?"); + mes "[Madelle]"; + mes "Um... One looked like a priest from Rachel."; + mes "A priest in this village..."; + mes "Maybe he is a soldier, I understand."; + next; + mes "[Madelle]"; + mes "One day, there was a guy who seemed to be exhausted and bought food."; + mes "I remember him because he visited after closing a store."; + next; + mes "[Madelle]"; + mes "I'm not sure but there was a person who was wearing a hood."; + mes "He seemed be exhausted and they wanted to buy a small drink and a snack."; + next; + mes "[Madelle]"; + mes "I haven't seen any of them since."; + mes "So I don't know anymore."; + setquest 7112; + next; + mes "- The information of Madelle is attached on the guest board."; + mes "Then can we figure out what information you've collected? -"; + next; + switch(select("Do it.:Stop it.")) { + case 1: + callfunc "func_3rdgc",1; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + case 2: + mes "[Waitress]"; + mes "What? My name?"; + mes "Are you hitting on me?"; + mes "Don't do that."; + if (Sex) mes "You are not my type."; + else mes "I don't swing that way."; + close; + case 3: + mes "[Waitress]"; + mes "Do you want ice with that?"; + close; + } + } + } else { + if (checkquest(7112) == 1) { + mes "That's all the information that I know."; + mes "I haven't seen them since."; + next; + mes "- I wonder if I can figure it out with the information I've collected... -"; + next; + switch(select("Do it.:Stop it.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "Welcome."; + mes "Are you ready to order?"; + next; + switch(select("Suspicious people?:Which one is the best food?")) { + case 1: + mes "[Waitress]"; + mes "A suspicious person?"; + mes "You are a suspicious person."; + close; + case 2: + mes "[Waitress]"; + mes "Umm? well..."; + mes "If you want to have a simple dish, have a meal from our fixed menu."; + mes "It's 5000 zeny, Do you want it?"; + next; + switch(select("Yes, I'll try it.:......")) { + case 1: + if (Zeny > 4999) { + mes "[Waitress]"; + mes "Here you are, this is a meal from the fixed menu."; + mes "Feel free to call me when you need."; + next; + switch(select("How's your business?:Do you have lots of guests?")) { + case 1: + mes "[Waitress]"; + mes "Well... not bad."; + mes "This is the only pub here so it's good."; + break; + case 2: + mes "[Waitress]"; + mes "Not that much lately."; + mes "It's so-so."; + break; + } + next; + mes "[Waitress]"; + mes "A business in a village can keep up with customers."; + mes "Thesedays, adventurers have been visiting more often."; + next; + select("Any suspicious visitors?"); + mes "[Waitress]"; + mes "Sure, I see some everyday."; + mes "I can recognize when I see their outfits."; + mes "I have to memorize their characters because of business."; + next; + select("It's boring..."); + mes "[Waitress]"; + mes "Yeah sometimes."; + mes "Everyday I have to talk"; + mes "with same people."; + mes "But..."; + next; + mes "[Waitress]"; + mes "I'm refreshed when I see guests like you."; + mes "I remember something that happened a few days ago."; + next; + mes "[Waitress]"; + mes "When I closed the store,"; + mes "he seemed be exhausted and they wanted to buy a small drink and a snack."; + next; + mes "[Waitress]"; + mes "He was a stranger but I'm sure that he is from Rachel."; + mes "He looked like a priest."; + next; + mes "[Waitress]"; + mes "I thought that a priest came here, but it's wrong."; + mes "I was starting to get scared."; + next; + mes "[Waitress]"; + mes "I thought that I may have opened the door to a thief."; + mes "Ah, sorry, I must be talking too much."; + next; + mes "[Waitress]"; + mes "It was boring to talk with that old man..."; + mes "Anyway, don't let me disturb you anymore."; + mes "Bon Appetit!"; + next; + mes "[Waitress]"; + mes "Oh by the way, my name is Madelle."; + mes "I hope you remember my name."; + set Zeny, Zeny - 5000; + setquest 7112; + next; + mes "- Madelle's information is attached to a quest board. What information have I collected? -"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "[Waitress]"; + mes "A meal from our menu is 5000 zeny."; + mes "You have to pay."; + mes "It's prepay."; + close; + } + case 2: + mes "[Waitress]"; + mes "You feel annoyed."; + mes "I see. I won't push you."; + mes "Take a rest there."; + close; + } + } + } + } + } else { + mes "Hi~!"; + mes "We can see often each other."; + next; + mes "[Madelle]"; + mes "A meal? Liquor?"; + mes "Hoho, have a good time!"; + close; + } +} + +ve_in,246,303,3 script Young Merchant#3rdgc05 930,{ + if (job_3rd_gc < 6) { + mes "[Young Merchant]"; + mes "If you want to buy stuff, go to this person."; + mes "I'm a distributor."; + close; + } + else if (job_3rd_gc == 6) { + if (checkquest(7091) == 1) { + if (checkquest(7113) == 1) { + mes "[Crave]"; + mes "I already gave you all the information I have."; + mes "I'm quick in visual learning."; + mes "I can't find the other girl, only the one who matches your condition."; + next; + mes "Can we figure out with the information you collected?"; + next; + switch(select("Do it.:Stop it.")) { + case 1: + callfunc "func_3rdgc",1; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "[Young Merchant]"; + mes "How about increasing potion in next time..."; + mes "Um, do you have something to tell me?"; + next; + switch(select("Do you know Crave?:Give me a potion.")) { + case 1: + mes "[Crave]"; + mes "I'm Crave, who are you...?"; + //mes "You're not a usual stuff in connection.."; //FIXME: Dialogue. + next; + mes "[Crave]"; + mes "Ah, is it about Daora?"; + mes "Yes, what can I do for you?"; + next; + select("Did you see a stranger these past days?"); + mes "[Crave]"; + mes "Stranger... about Daora's business?"; + mes "Ok. I understand what you are talking about."; + next; + mes "[Crave]"; + mes "I found a new face while"; + mes "watching the stores."; + mes "It was a girl..."; + next; + mes "[Crave]"; + mes "She buys food and the necessities of life regularly in the morning and afternoon."; + mes "I wanted to know more about her, because she was pretty."; + mes "But there is no person who knows her residence."; + next; + mes "[Crave]"; + mes "Is it a mysterious person?"; + mes "I don't know who she is, or where she lives!"; + next; + mes "[Crave]"; + mes "I want to talk to her, but she runs away..."; + mes "She must be hiding something."; + setquest 7113; + next; + mes "- The information Crave gave is attached on the quest board."; + mes "Then can we figure out with information you collected? -"; + next; + switch(select("Do it.:Stop it.")) { + case 1: + callfunc "func_3rdgc",1; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + case 2: + mes "[Young Merchant]"; + mes "I carry on a wholesale trade, not a retail trade."; + mes "Buy that from a tool salesperson."; + close; + } + } + } else { + if (checkquest(7113) == 1) { + mes "[Crave]"; + mes "I already gave you all the information I have."; + mes "I'm quick in visual learning."; + mes "I can't find the other girl, only the one who matches your condition."; + next; + mes "Can we figure out with the information you collected?"; + next; + switch(select("Do it.:Stop it.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "[Young Merchant]"; + mes "What's wrong?"; + mes "I'm a merchant, but not a retail merchant."; + mes "If you want to buy things, go to the others."; + next; + switch(select("Suspicious people?:I heard that you are sharp.")) { + case 1: + mes "[Young Merchant]"; + mes "A suspicious person?"; + mes "There are lots of people who are suspicious."; + next; + mes "[Young Merchant]"; + mes "It's that lame person that's suspicious, isn't it?"; + close; + case 2: + mes "[Young Merchant]"; + mes "Hmm? It's reasonable."; + mes "I have to be quick in visual learning for living as a merchant."; + next; + mes "[Young Merchant]"; + mes "I have to memorize the faces of people who do business with me so I can make a profit."; + mes "Then I can make steady customers."; + next; + switch(select("I'm looking for a cousin...:End conversation.")) { + case 1: + mes "[Young Merchant]"; + mes "Is she a beautiful blonde?"; + next; + switch(select("No, it's a boy.:Yes, she is.")) { + case 1: + mes "[Young Merchant]"; + mes "Is he?"; + mes "I don't know."; + mes "I know only a mysterious blonde beauty."; + close; + case 2: + mes "[Crave]"; + mes "Oh, she is?"; + mes "I'm Crave. If you find her later, please contact me."; + next; + mes "[Crave]"; + mes "Don't give me a fierce scowl."; + mes "I'm a man of ability."; + next; + select("Where did you see her?"); + mes "["+strcharinfo(0)+"]"; + mes "A few days have passed already."; + mes "I want to find her as soon as possible."; + mes "You said you saw that child? Where did you see her?"; + next; + mes "[Crave]"; + mes "So... that's why we don't know her residence."; + mes "I can understand buying food and other supplies."; + next; + mes "[Crave]"; + mes "She always runs away without saying anything."; + mes "I like her because of her mysterious atmosphere."; + next; + mes "[Crave]"; + mes "I think that she ran away from home."; + mes "She visits here to buy stuff every day and every night regularly."; + next; + mes "[Crave]"; + mes "She may run away when she sees you."; + mes "It's probably better to hide in the alley to catch her."; + setquest 7113; + next; + mes "- Crave's information is attached to the quest board. What information have I collected? -"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } + case 2: + mes "[Young Merchant]"; + mes "Why do you change your face while I'm talking about a steady customer?"; + mes "Oh, you are..."; + mes "It's a sword of darkness that can't make a profit unrelated to memorizing people's faces."; + close; + } + } + } + } + } else { + mes "[Crave]"; + mes "Excuse me?"; + mes "Did you find who you were looking for?"; + close; + } +} + +veins,291,215,3 script Vigilante#3rdgc06 939,{ + if (job_3rd_gc < 6) { + mes "[Vigilante]"; + mes "Do you have any inconveniences while you are traveling?"; + mes "At the outskirts of the city, there are many monsters. Be careful."; + close; + } + else if (job_3rd_gc == 6) { + if (checkquest(7091) == 1) { + if (checkquest(7114) == 1) { + mes "[Trovan]"; + mes "I already gave you all the information I have."; + mes "He's the only suspicious person that's been seen."; + mes "But nothing has happened yet, so I'm keeping watch."; + next; + mes "- What information have I collected? -"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",1; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "[Vigilante]"; + mes "Hello?"; + mes "Do you need help?"; + next; + switch(select("Do you know Trovan?:No thanks.")) { + case 1: + mes "[Vigilante]"; + mes "Eh? I'm Trovan, a member of the vigilante corps of Veins."; + mes "What's the matter?"; + next; + mes "[Trovan]"; + mes "Ah, you were recommended by Daora."; + mes "I remember all of the faces of people who live in this village."; + next; + mes "[Trovan]"; + mes "Maybe he is a stranger."; + mes "We should exclude normal adventurers."; + next; + mes "[Trovan]"; + mes "And if Daora finds a person, he must not be a normal person."; + mes "So we should exclude normal guests..."; + next; + mes "[Trovan]"; + mes "Then we can set limits for guessing who it is."; + mes "A few days ago, a priest visited this village."; + mes "He covered his face with a hood, so I couldn't see him too well."; + next; + mes "[Trovan]"; + mes "I can detect suspicious people pretty well."; + mes "He might be a criminal if he were hiding his face."; + next; + mes "[Trovan]"; + mes "Why is he suspicious?"; + mes "He shows up here regularly, but he has no definite residence."; + mes "And I always lose him when I try to follow him."; + next; + mes "[Trovan]"; + mes "I can't offer any more information."; + mes "I always have to guard the entrance of the village, so I can't follow him for too long."; + next; + mes "[Trovan]"; + mes "Anyway. He is a only person who I suspect."; + mes "He hasn't been caught doing anything criminal,"; + mes "but he's always covering himself up."; + setquest 7114; + next; + mes "- Trovan's information is attached to the quest board. What information have I collected? -"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",1; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + case 2: + mes "[Trovan]"; + mes "Recently, I've seen many suspicious people."; + mes "I'm keeping strict watch."; + close; + } + } + } else { + if (checkquest(7114) == 1) { + mes "[Trovan]"; + mes "I already gave you all the information I have."; + mes "He's the only suspicious person that's been seen."; + mes "But nothing has happened yet, so I'm keeping watch."; + next; + mes "- Should I figure out the information collected? -"; + next; + switch(select("Check the information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "[Trovan]"; + mes "I'm Trovan, a guard of Veins."; + mes "What's wrong?"; + next; + switch(select("Is there a wanted man?:Nothing.")) { + case 1: + mes "[Trovan]"; + mes "A wanted man?"; + mes "No, what's the matter?"; + next; + mes "[Trovan]"; + mes "Did you find any suspicious people entering this village lately?"; + mes "Umm..."; + next; + mes "[Trovan]"; + mes "Recently, there's been a man in this village wearing a hood."; + mes "He is not a traveler. He bought food and slipped out of the village."; + next; + mes "[Trovan]"; + mes "I'm wondering about his identity."; + mes "I think he is related to a shrine..."; + mes "Or maybe he isn't..."; + next; + mes "[Trovan]"; + mes "There is no one else like him among the people living in this village."; + mes "I wonder where he is from."; + next; + mes "[Trovan]"; + mes "He might still be here."; + mes "There are no new people except for him. I know almost all of the adventurer's faces that visit here."; + mes "So that's not much news."; + setquest 7114; + next; + mes "- Trovan's information is attached to the quest board. What information have I collected? -"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + case 2: + mes "[Trovan]"; + mes "Don't go too far away."; + close; + } + } + } + } else { + mes "[Trovan]"; + mes "How's it going?"; + close; + } +} + +veins,187,143,5 script Peddler#3rdgc07 892,{ + mes "[Peddler]"; + if (job_3rd_gc < 6) { + mes "What a huge sandstorm."; + mes "Are you ok?"; + close; + } + else if (job_3rd_gc == 6) { + if (checkquest(7091) == 1) { + mes "What a huge sandstorm."; + mes "Are you ok?"; + close; + } else { + if (checkquest(7115) == 1) { + mes "So, did you find that girl?"; + mes "If you do, let her know that she has to come and visit me."; + next; + mes "- You can't get more information from the peddler. What information have I collected? -"; + next; + switch(select("check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",1; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "Hey. Hey!"; + mes "I'm talking to you!"; + next; + switch(select("Ignore him.:Listen to the story.")) { + case 1: + mes "[Peddler]"; + mes "You are too cold."; + close; + case 2: + mes "[Peddler]"; + mes "A pretty girl just bought food."; + mes "You know that freshness is important when buying fish..."; + next; + mes "[Peddler]"; + mes "But I gave the wrong fish to her."; + mes "Recently, she bought food from my store."; + mes "I can't find her, maybe she doesn't live here."; + next; + mes "[Peddler]"; + mes "She looks shabby but she always buys expensive food."; + mes "I thought that she was a maid but we don't have a mansion that can hire maids in Veins."; + next; + mes "[Peddler]"; + mes "Kind of suspicious, isn't it?"; + mes "But, I gave spoiled fish to her..."; + next; + mes "[Peddler]"; + mes "So I have to find her and exchange the fish for a refund."; + next; + mes "[Peddler]"; + mes "If you find her, send that message, please?"; + mes "I can't miss a guest like her."; + next; + mes "[Peddler]"; + mes "Ok, let's see..."; + mes "She is blonde girl."; + mes "You should be able"; + mes "to find her easily."; + next; + mes "[Peddler]"; + mes "Actually, nobody knows where she's from."; + mes "You're an adventurer, so I'm asking you."; + next; + select("I'll send her your message.:Hmm..."); + mes "["+strcharinfo(0)+"]"; + mes "- Even though I don't have time to spare, the girl mentioned by the peddler is suspicious. -"; + next; + mes "["+strcharinfo(0)+"]"; + mes "- A girl who has no clear residence and buys expensive food. I have to find out. -"; + next; + mes "[Peddler]"; + mes "Then send my message to her, please."; + mes "If I can't exchange the fish, it will spoil."; + setquest 7115; + next; + mes "- The peddler's information is attached to the quest board. What information have I collected? -"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } + } + } + } else { + mes "Did you send my message properly?"; + mes "Then why she hasn't she visited here to exchange the fish?"; + close; + } +} + +veins,235,126,3 script Old Man#3rdgc07 945,{ + mes "[Old Man]"; + if (job_3rd_gc < 6) { + mes "Haha... I can remember my past when I see a young adventurer like you..."; + close2; + } else if (job_3rd_gc == 6) { + if (checkquest(7091) == 1) { + mes "Haha... I can remember my past when I see a young adventurer like you..."; + close; + } else { + if (checkquest(7116) == 1) { + mes "Thanks for talking to me."; + next; + mes "- I can't get anymore information from the Old Man. What information have I collected? -"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } else { + mes "What? What's the matter?"; + mes "You want to talk with me?"; + next; + switch(select("Suspicious person...:You look good.")) { + case 1: + mes "[Old Man]"; + mes "A suspicious person?"; + mes "Well, Trovan may know more about her than me."; + close; + case 2: + mes "[Old Man]"; + mes "Thanks anyway."; + mes "I'll just sit down here..."; + next; + mes "[Old Man]"; + mes "I look around at people who pass by here all the time."; + mes "I can find out where they're from easily by watching what they wear."; + next; + mes "[Old Man]"; + mes "I can't forget her at all because of her funny outfit."; + mes "It's not difficult to forget a person wearing a formal dress."; + next; + select("Then what's funny?"); + mes "[Old Man]"; + mes "Umm, this village is not funny anymore."; + mes "I know everything~ I even found out everyone's job."; + next; + mes "[Old Man]"; + mes "But..."; + mes "Recently, a girl showed up."; + mes "In the morning, she buys some food from a peddler and then disappears."; + next; + mes "[Old Man]"; + mes "And in the afternoon she usually buys the necessities of life."; + mes "A little bit at a time."; + mes "And then she goes somewhere after..."; + next; + mes "[Old Man]"; + mes "I figure that she must be preparing something."; + mes "If she buys a lot of stuff, then she can be found easily."; + next; + mes "[Old Man]"; + mes "I think she stocks up heavily on foods that help during battles."; + next; + mes "[Old Man]"; + mes "She just recently started this routine."; + mes "Is she a newcomer?"; + next; + mes "[Old Man]"; + mes "I'm going to watch you for a while."; + mes "Ah, why am I bothering you with this story?"; + setquest 7116; + next; + mes "- The information of the Old Man is attached to the quest board. What information have I collected?"; + next; + switch(select("Check information.:Cancel.")) { + case 1: + callfunc "func_3rdgc",0; + close; + case 2: + mes "You stop the confirmation of information."; + close; + } + } + } + } + } else if (job_3rd_gc == 8) { + mes "You want to know something?"; + mes "We have a marvelous girl in our village."; + next; + mes "[Old Man]"; + mes "I don't know what kind of gift she has, but she knows how to find people."; + next; + mes "[Old Man]"; + mes "If you want to find her, ask that kid."; + close; + } else { + mes "I still don't know."; + mes "I'm too old..."; + close; + } +} + +veins,223,180,3 script Girl#3rdgc09 941,{ + mes "[Melissa]"; + if (job_3rd_gc == 8) { + mes "Hi?"; + mes "What?"; + mes "Have you lost a friend?"; + next; + switch(select("Do you know something?:No...")) { + case 1: + mes "[Melissa]"; + mes "I have a special gift that I've had my whole life."; + mes "People visit me when they need to find something."; + next; + mes "[Melissa]"; + mes "Are looking for someone?"; + mes "Can you tell me about their character?"; + next; + switch(select("You are joking.:Let me do it.")) { + case 1: + mes "[Melissa]"; + mes "Ha! But you'll come back to me when you need to find someone."; + mes "I know everything."; + close; + case 2: + set .@ans00, 0; + mes "[Melissa]"; + mes "Ok, answer my question."; + mes "Is it a boy or a girl?"; + next; + switch(select("A boy:A girl")) { + case 1: + mes "[Melissa]"; + mes "A boy and..."; + break; + case 2: + mes "[Melissa]"; + mes "A girl and..."; + set .@ans00, .@ans00+1; + break; + } + next; + mes "[Melissa]"; + mes "What is the hair color?"; + next; + switch(select("Dark:Red:Light yellowish:White")) { + case 1: + mes "[Melissa]"; + mes "Dark hair color... hmm..."; + mes "Dark brown or black hair..."; + break; + case 2: + mes "[Melissa]"; + mes "Light brown or dark orange... Red hair..."; + break; + case 3: + mes "[Melissa]"; + mes "Light orange to blonde hair."; + set .@ans00, .@ans00+1; + break; + case 4: + mes "[Melissa]"; + mes "Gray... white... gold... silver hair..."; + break; + } + next; + mes "[Melissa]"; + mes "Young or old?"; + next; + switch(select("Like a child.:Young.:Middle-aged.:Very old.")) { + case 1: + mes "[Melissa]"; + mes "And a child."; + break; + case 2: + mes "[Melissa]"; + mes "A young person."; + mes "Like you?"; + set .@ans00, .@ans00+1; + break; + case 3: + mes "[Melissa]"; + mes "Same age as a tool salesman?"; + mes "Middle-aged."; + break; + case 4: + mes "[Melissa]"; + mes "Yes, very old."; + break; + } + next; + mes "[Melissa]"; + mes "Hi, "+((Sex)?"brother":"sister")+"~ Let me collect all of the information you've provided..."; + next; + mes "- She begins to murmur and gestures toward the sky. Her hair springs up as she says... -"; + next; + if (.@ans00 == 3) { + mes "[Melissa]"; + mes "Got it!"; + mes "I know her."; + mes "Her name is ^4d4dffEstillda^000000."; + mes "Right?"; + next; + mes "[Melissa]"; + mes "Why are you looking for her? Is she your friend?"; + mes "She gave me candy the other day."; + next; + mes "[Melissa]"; + mes "Umm... this girl..."; + mes "will pass around"; + mes "a blind alley in"; + mes "about 1 hour!"; + mes "Hehehe!"; + erasequest 7103; + setquest 7104; + set job_3rd_gc, 9; + next; + mes "[Melissa]"; + mes "She has to be who you're looking for. I'm never wrong."; + mes "Tell me I did a good job!"; + next; + switch(select("Pat Melissa on the head.:Giver her a thumbs up sign.")) { + case 1: + mes "You pat Melissa on the head."; + mes "She reacts like a puppy would."; + next; + mes "[Melissa]"; + mes "Hehehe..."; + mes "I'm here to help~!"; + close; + case 2: + mes "[Melissa]"; + mes "Hehehe..."; + mes "I did good!"; + close; + } + } else { + mes "[Melissa]"; + mes "Umm..."; + mes "That person who has those characteristics is..."; + next; + mes "[Melissa]"; + mes "Wha-...? Eww, I've never been wrong."; + mes "I don't know why, but I can't see that person."; + next; + mes "[Melissa]"; + mes "Eeeahhh! Wahhh!"; + next; + mes "- All I can do is soothe Melissa as she cries. I have to think about the person's characteristics again. -"; + close; + } + } + case 2: + mes "[Melissa]"; + mes "It's strange."; + mes "In this village people are always looking for someone."; + close; + } + } else if (job_3rd_gc == 9) { + mes "Did you find her?"; + mes "Say thanks to her for giving me candy the other day."; + close; + } else { + mes "When I'm looking for people, an angel wearing black clothes gives me information."; + next; + mes "[Melissa]"; + mes "I told Daora about this story, then she said to me not to do it again."; + mes "Maybe she isn't a good angel."; + close; + } +} + +veins,337,284,0 script #ghostestilla_3rdgc 139,3,3,{ + end; +OnTouch: + if (job_3rd_gc == 9) { + if ((checkquest(7104,PLAYTIME) == 1) || (checkquest(7105,PLAYTIME) == 1)) { + mes ".....?"; + mes "There's a sign of somebody present."; + mes "You still have time."; + close; + } else if ((checkquest(7104,PLAYTIME) == 2) || (checkquest(7105,PLAYTIME) == 2)) { + mes "The blind alley that Melissa told me about must be this street."; + next; + mes "There's a sign of somebody present."; + mes "A blonde girl shows up!"; + donpcevent "Estillda#3rdgc10::OnEnable"; + next; + select("Make a surprise attack."); + set .@c_spec, readparam(bDex)+readparam(bAspd)+readparam(bCritical); + if (.@c_spec > 209 || (!rand(2) && .@c_spec > 190 && .@c_spec < 210) || (!rand(3) && .@c_spec < 191)) { + mes "You take her by the wrist trying not to let her see you."; + mes "The food that she is holding falls on the floor."; + next; + mes "[Estillda]"; + mes "Ahhhh!"; + mes "Who are you?"; + mes "What are you doing?"; + next; + if(select("Who sent you?:Who's from Rachel?") == 2) { + mes "[Estillda]"; + mes "I don't know! I don't have any idea. I don't know him!"; + next; + } + mes "[Estillda]"; + mes "If I buy stuff for him..."; + mes "He said that he can pay for my labor and production costs."; + next; + mes "[Estillda]"; + mes "I don't know who he is."; + mes "It's true."; + mes "Is he bad guy?"; + next; + mes "[Estillda]"; + mes "Help me, please?"; + mes "Help me."; + mes "I'll do anything you want."; + next; + mes "[Estillda]"; + mes "I didn't know anything about him, I don't know if he's a bad guy."; + mes "I just bought some stuff... (sobbing)..."; + next; + mes "- Estillda is in shock because she thinks that she's in trouble. -"; + next; + select("Calm her down."); + mes "["+strcharinfo(0)+"]"; + mes "Just relax for a second."; + mes "I totally understand what you're saying."; + mes "You won't get into any trouble."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I'm looking for a guy who committed a crime and ran away."; + mes "I have to catch him."; + next; + mes "["+strcharinfo(0)+"]"; + mes "So who made you get those supplies?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "If you cooperate with me, I'm going to protect you until this is all done."; + mes "The Assassin Guild will protect you."; + next; + mes "[Estillda]"; + mes "You promise, right?"; + mes "How can I help you?"; + next; + select("When are you supposed to meet?"); + mes "[Estillda]"; + mes "Oh, I already delivered the stuff."; + mes "I'm on my way back."; + next; + mes "[Estillda]"; + mes "Ah, these are mine."; + mes "I got a lot of zeny."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Then go straight this way and pretend that nothing happened."; + next; + mes "- I demand that she walks as usual and tell her how to get to Daora's pub. -"; + donpcevent "Estillda#3rdgc10::OnDisable"; + if (checkquest(7104) > -1) erasequest 7104; + if (checkquest(7105) > -1) erasequest 7105; + set job_3rd_gc, 10; + setquest 7106; + next; + mes "- The pub in the underground of Veins is the best place to keep her safe. -"; + close; + } else { + mes "- I tried to take her by the wrist, but she already knew and ran away screaming. -"; + donpcevent "Estillda#3rdgc10::OnDisable"; + if (checkquest(7104) > -1) erasequest 7104; + if (checkquest(7105) > -1) erasequest 7105; + setquest 7105; + next; + mes "You couldn't catch Estillda."; + close; + } + } else { + mes "An error has occurred."; + mes "Please contact the GM team to fix this situation."; + close; + } + } + end; +} + +veins,341,287,3 script Estillda#3rdgc10 919,{ +OnInit: +OnDisable: + disablenpc "Estillda#3rdgc10"; + end; +OnEnable: + enablenpc "Estillda#3rdgc10"; + end; +} + +job3_guil01,79,15,1 script Estillda#3rdgc11 919,{ + if (job_3rd_gc == 11) { + mes "Estillda is looking around with an anxious expression on her face."; + next; + switch(select("Are you ok?:Intimidate her.")) { + case 1: + mes "[Estillda]"; + mes "Yes? Yes..."; + mes "I thought assassins were scary."; + mes "But I don't think so..."; + next; + select("You don't look like you're from Veins"); + mes "[Estillda]"; + mes "Yes? Yes..."; + mes "I'm from Rachel."; + mes "I'm here to make zeny."; + mes "I had a desolate life in Rachel."; + next; + switch(select("You came here with alone?:Had a desolate life...")) { + case 1: + mes "[Estillda]"; + mes "No."; + mes "I don't think so."; + mes "I came here with a guy."; + next; + mes "[Estillda]"; + mes "I usually come here by myself. Sometimes he checks my destination."; + mes "I thought that he is an important person from some company."; + next; + mes "[Estillda]"; + mes "But I don't know who he is."; + break; + case 2: + mes "[Estillda]"; + mes "I'm a native,"; + mes "I work in his house."; + mes "I think it's not bad."; + mes "I just left my home..."; + next; + mes "[Estillda]"; + mes "He said that he needed a maid and that he could pay me enough money."; + break; + } + next; + mes "[Estillda]"; + mes "Actually I don't know him well."; + mes "...I'll never do it."; + mes "I want to go home. I miss my mommy."; + next; + switch(select("What can you tell me?:Tell me what you know!")) { + case 1: + mes "[Estillda]"; + mes "Yes. Right?"; + mes "I'm going to tell you everything that I know."; + break; + case 2: + mes "[Estillda]"; + mes "Sorry. I'm sorry."; + mes "I'm going to do what you want..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Your attitude is a problem."; + mes "Let's take up the main subject."; + break; + } + next; + mes "[Estillda]"; + mes "I usually supply food"; + mes "and other life necessities."; + next; + mes "[Estillda]"; + mes "I buy some food to eat for myself."; + mes "And I buy expensive food for him everyday."; + next; + mes "[Estillda]"; + mes "I think he is very fussy about food..."; + mes "And I get money whenever I deliver food.."; + next; + select("Where did you sleep?"); + mes "[Estillda]"; + mes "Yes? Yes, around here."; + mes "There is a place that soldiers stay."; + mes "He wants me to stay there..."; + next; + select("When are you supposed to meet?"); + mes "[Estillda]"; + mes "In a couple of hours."; + mes "At a warehouse underground in the south."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Thanks for your cooperation."; + mes "Your house is in Rachel?"; + mes "Estillda is your real name?"; + mes "Yes, I'm going to draw his rations in Rachel."; + next; + mes "["+strcharinfo(0)+"]"; + mes "To go back home without an accident."; + set job_3rd_gc, 12; + changequest 7106,7107; + close; + case 2: + mes "[Estillda]"; + mes "Yes?"; + mes "Please..."; + mes "Don't kill me."; + next; + mes "- Estillda looks scared. You need to change the subject. -"; + close; + } + } else if (job_3rd_gc == 12) { + mes "[Estillda]"; + mes "We usually meet at the same place at the same time."; + mes "It's in a warehouse underground in the south."; + mes "Don't tell him that I told you."; + close; + } + end; +} + +veins,206,56,0 script #3rdgc_battleroom01 139,1,1,{ + end; +OnInit: + set $@3rdgc_room01, 0; + end; +OnTouch: + if (job_3rd_gc == 12) { + if (checkquest(7107,PLAYTIME) == 2) { + mes "This must be the place Estillda told me about."; + next; + switch(select("Go inside.:Observe the situation.")) { + case 1: + if ($@3rdgc_room01 == 0) { + warp "job3_guil02",34,44; + set $@3rdgc_room01, 1; + } else { + mes "You tried to open the door but it's locked."; + mes "It doesn't show any signs of life."; + next; + mes "Come back here later."; + } + close; + case 2: + mes "I back up to watch the situation unfold."; + close; + } + } else if (checkquest(7107,PLAYTIME) == 1) { + mes "This must be the place Estillda told me about."; + mes "I have enough time for meeting."; + close; + } else { + mes "An error has occurred."; + mes "Contact the GM team to resolve the situation."; + close; + } + } + end; +} + +job3_guil02,34,44,0 script #3rdgc_room01_mag01 139,2,2,{ + end; +OnEnable: + enablenpc "#3rdgc_room01_mag01"; + end; +OnDisable: + disablenpc "#3rdgc_room01_mag01"; + end; +OnStop: + stopnpctimer; + end; +OnTouch: + if (job_3rd_gc == 12) { + initnpctimer; + donpcevent "A man with black clothes::OnEnable"; + disablenpc "#3rdgc_room01_mag01"; + } else { + mes "You don't have to come here now."; + close; + warp "veins",178,62; + set $@3rdgc_room01, 0; + end; + } + end; +OnTimer295000: + mapannounce "job3_guil02","Dandelion: ...Ha, you are strong and sticky!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + donpcevent "A man with black clothes::OnReset"; + end; +OnTimer296000: + mapannounce "job3_guil02","The Dandelion ran away.",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + end; +OnTimer298000: + mapwarp "job3_guil02","veins",186,65; + end; +OnTimer299000: + donpcevent "Dandelion#3rdgc12::OnDisable"; + donpcevent "A man with black clothes::OnDisable"; + donpcevent "#3rdgc_room01_mag01::OnEnable"; + end; +OnTimer300000: + set $@3rdgc_room01, 0; + stopnpctimer; + end; +} + +job3_guil02,51,43,7 script A man with black clothes 456,4,4,{ + end; +OnInit: +OnDisable: + hideonnpc "A man with black clothes"; + set .on,0; + end; +OnEnable: + hideoffnpc "A man with black clothes"; + set .on,1; + end; +OnReset: + killmonster "job3_guil02","A man with black clothes::OnMyMobDead"; + end; +OnTouch: + if (!.on) end; + mes "[A man with black clothes]"; + mes "You just arrived here."; + mes "Why are you so late?"; + mes "Put your stuff down."; + next; + select("......"); + mes "[A man with black clothes]"; + mes "May the goddess bless you eternally..."; + npcskill "AL_BLESSING",10,0,0; + next; + emotion e_gasp; + mes "[A man with black clothes]"; + mes "Who... who are you?!"; + mes "A... Assassin Guild?!"; + mes "What?!"; + mes "When did I give you a clue?!"; + next; + select("You lost your head..."); + mes "["+strcharinfo(0)+"]"; + mes "Is this the correct target?"; + mes "Can you talk with me for a sec?"; + next; + mes "[A man with black clothes]"; + mes "No way!!!!"; + mes "You... I'll make you close your eyes forever!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What?!"; + close2; + donpcevent "A man with black clothes::OnDisable"; + monster "job3_guil02",51,43,"Dandelion",2031,1,"A man with black clothes::OnMyMobDead"; + end; +OnMyMobDead: + donpcevent "#3rdgc_room01_mag01::OnStop"; + donpcevent "#3rdgc_2nd_timer::OnEnable"; + mapwarp "job3_guil02","job3_guil02",47,43; + end; +} + +job3_guil02,1,1,0 script #3rdgc_2nd_timer 844,{ + end; +OnEnable: + initnpctimer; + end; +OnTimer1000: + donpcevent "Dandelion#3rdgc12::OnEnable"; + end; +OnTimer60000: + mapwarp "job3_guil02","veins",186,65; + end; +OnTimer61000: + donpcevent "Dandelion#3rdgc12::OnDisable"; + donpcevent "A man with black clothes::OnDisable"; + donpcevent "#3rdgc_room01_mag01::OnEnable"; + set $@3rdgc_room01, 0; + stopnpctimer; + end; +} + +job3_guil02,49,43,5 script Dandelion#3rdgc12 457,{ + if (!checkweight(1201,2)) { + mes "- You can't continue this quest because you have too many items. -"; + close; + } + if (job_3rd_gc == 12) { + mes "[Dandelion]"; + mes "Eyah!"; + mes "You... won't find anything."; + mes "Everything... is guided... by the goddess..."; + mes "Keeek!"; + next; + mes "- He puts something in his mouth and swallows. -"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What is that?!"; + mes "What do you have in your mouth...?"; + mes "Why did you do that?"; + next; + mes "It's too late to save him."; + mes "He passed away."; + mes "You find a key with a fancy decoration around his neck."; + set job_3rd_gc, 13; + getitem 6150,1; //Key_Of_The_Mansion + changequest 7107,7108; + close; + } else { + if (job_3rd_gc == 13) { + mes "There is nothing to do."; + mes "Let's get out of here."; + } else + mes "You are shoved by an unknown force."; + close2; + warp "veins",178,62; + end; + } +OnInit: +OnDisable: + disablenpc "Dandelion#3rdgc12"; + end; +OnEnable: + enablenpc "Dandelion#3rdgc12"; + end; +} + +rachel,115,77,3 script Girke#3rdgc13 85,{ + mes "[Girke]"; + mes "Oh~ young man."; + mes "I'm Girke Sara."; + mes "Just call me Girke."; + next; + mes "- He smells like alcohol. -"; + next; + mes "[Girke]"; + mes "You know what?"; + mes "A man who is a legendary key artisan lives in our village."; + mes "Hiccup~"; + next; + mes "[Girke]"; + mes "Ah~hahahaha"; + mes "My dad likes pieces of work like that."; + mes "One day, he said to me."; + next; + mes "[Girke]"; + mes "'Girke, my wish is having a key crafted from Oresa.'"; + next; + mes "[Girke]"; + mes "But Oresa already disappeared after handing everything over to his apprentice."; + mes "Finally, my dad passed away without seeing such a key..."; + next; + mes "[Girke]"; + mes "You know."; + mes "That Oresa! He lives in our town?!"; + mes "Hiccup~"; + next; + mes "[Girke]"; + mes "But he is too old..."; + mes "But the artisan is..."; + next; + mes "[Girke]"; + mes "...difficult to meet."; + mes "Like my dad... He's a bit of a loner."; + next; + mes "[Girke]"; + mes "What am I talking to you about."; + mes "Are you drunken? Daddy... (sobbing)"; + mes "Ah... Daddy..."; + next; + mes "- Girke starts to cry. -"; + close; +} + +ra_in01,175,196,3 script Oresa Rava#3rdgc13 866,{ + mes "[Oresa Rava]"; + if (job_3rd_gc == 13) { + mes "I don't know why you are visiting me, but I'm not crafting anymore."; + mes "I'm too old to craft."; + next; + select("Do you know this key?"); + mes "[Oresa Rava]"; + mes "Hmm? Umm... Give it to me."; + mes "This pattern..."; + mes "Where did you get this from?"; + next; + switch(select("I just picked it up.:I have a story...")) { + case 1: + mes "[Oresa Rava]"; + mes "Umm? Did you just pick it up?"; + mes "That's impossible."; + mes "Did something happen in that house."; + next; + mes "[Oresa Rava]"; + mes "So what will you do with this key?"; + next; + select("I'm going to find the owner."); + mes "[Oresa Rava]"; + mes "Ah~! That's why you came here to see me."; + mes "I gave that key to a person who was a priest."; + next; + mes "[Oresa Rava]"; + mes "I couldn't see my home after he became a priest, but I made a key for a celebration."; + next; + mes "[Oresa Rava]"; + mes "It's a key to his mansion."; + mes "Now I don't know where he lives."; + mes "But can you visit there and send over the caretaker of the summer cottage?"; + next; + break; + case 2: + mes "[Oresa Rava]"; + mes "I don't know what's going on."; + mes "I gave that key to a person who was a priest."; + next; + mes "[Oresa Rava]"; + mes "I couldn't see my home after he became a priest, but I made a key for a celebration."; + next; + mes "[Oresa Rava]"; + mes "It's a key to his mansion."; + mes "Now I don't know where he lives."; + mes "But can you visit there and send over the caretaker of the summer cottage?"; + next; + mes "[Oresa Rava]"; + mes "Actually, I can't trust you..."; + mes "But you showed up with a key. It may be an act of providence."; + next; + select("Sure."); + break; + } + mes "[Oresa Rava]"; + mes "That mansion was..."; + mes "built in a gorge of Veins."; + mes "I don't know the exact location of it though."; + next; + select("That should be enough."); + mes "[Oresa Rava]"; + mes "Are you sure?"; + mes "You are so kind."; + mes "Send over that key."; + next; + mes "- Find the owner of that key soon and tell Mayshell. -"; + set job_3rd_gc, 14; + close; + } else if (job_3rd_gc == 14) { + mes "That key is of a mansion built in a gorge of Veins."; + mes "I'm sure of it."; + close; + } else { + mes "It's an old story about that artisan."; + mes "Now... It's best to see my grandchild."; + next; + mes "[Oresa Rava]"; + mes "You are laughing now, but you will understand me soon."; + close; + } +} + +ve_fild05,327,308,3 script Girl#3rdgc14 466,{ + if (job_3rd_gc > 14 && job_3rd_gc < 18) { + mes "[Renzak]"; + if (job_3rd_gc == 15) { + mes "You are here."; + mes "I'm Renzak."; + mes "You sent here from Mayshell?"; + //mes "I'm not dwelling on."; //FIXME: Dialogue. + next; + mes "[Renzak]"; + mes "Our final target is over there."; + mes "The mansion is surrounded by cliffs."; + mes "You must remove the target in the mansion."; + next; + mes "[Renzak]"; + mes "I'm going to give you 10 min."; + mes "Complete your task and then wait in the backdoor of the mansion."; + mes "I'll wait for you there."; + } else if (job_3rd_gc == 16) { + mes "You have to attain our goal and come out of the mansion's backdoor within 10 minutes."; + mes "You can do it."; + } else { + mes "You failed."; + mes "You must succeed."; + next; + mes "[Renzak]"; + mes "You have to come out of the mansion's backdoor."; + mes "I'll wait for you."; + } + next; + switch(select("I got it.:I'll be ready.")) { + case 1: + if ($@3rdgc_room02 == 0) { + erasequest ((job_3rd_gc == 17)?7110:7109); + set job_3rd_gc, 17; + setquest 7110; + set $@3rdgc_room02, 1; + warp "job3_guil03",22,70; + } else { + mes "[Renzak]"; + mes "Wait a second."; + mes "Just wait until it gets dark."; + next; + mes "[Renzak]"; + mes "It'll be easy to infiltrate because it's covered by the cliff's shadow."; + set job_3rd_gc, 16; + } + close; + case 2: + mes "[Renzak]"; + mes "You don't have time to spare."; + mes "You should prepare for action."; + if (job_3rd_gc == 17) { + erasequest 7110; + setquest 7109; + } + set job_3rd_gc, 16; + close; + } + } else if (job_3rd_gc > 18) { + mes "[Renzak]"; + mes "You look good."; + mes "Me? I've always had the same figure."; + next; + mes "[Renzak]"; + mes "I just wait for guys who will do what I ask."; + close; + } else { + mes "[Shadow-faced girl]"; + mes "......"; + mes "This road is blocked."; + mes "Go back."; + close; + } +OnInit: + set $@3rdgc_room02, 0; + end; +} + +job3_guil03,22,70,0 script #3rdgc_event01 139,3,3,{ + end; +OnEnable: + enablenpc "#3rdgc_event01"; + end; +OnDisable: + disablenpc "#3rdgc_event01"; + end; +OnStop: + stopnpctimer; + end; +OnTouch: + if (job_3rd_gc == 17) { + initnpctimer; + donpcevent "#3rdgc_event_master::OnEnable"; + disablenpc "#3rdgc_event01"; + } else { + mes "You don't have to come here."; + close2; + warp "ve_fild05",341,303; + set $@3rdgc_room02, 0; + } + end; +OnTimer900000: + mapannounce "job3_guil03","Renzak : Withdraw!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + end; +OnTimer901000: + mapwarp "job3_guil03","ve_fild05",341,303; + end; +OnTimer902000: + donpcevent "#3rdgc_event_master::OnReset"; + stopnpctimer; + end; +} + +job3_guil03,1,4,0 script #3rdgc_event_master 844,{ + end; +OnEnable: + donpcevent "Barbed-Wire Entanglement::OnEnable"; + donpcevent "Guard Dog#dog01::OnEnable"; + donpcevent "Guard Dog#dog02::OnEnable"; + donpcevent "#3rdgc_sunchal_nomal::OnEnable"; + donpcevent "#3rdgc_sunchal_kill01::OnEnable"; + donpcevent "#3rdgc_sunchal_kill02::OnEnable"; + donpcevent "#3rdgc_sunchal_kill03::OnEnable"; + donpcevent "#3rdgc_gojung_kill01::OnEnable"; + donpcevent "#3rdgc_gojung_kill02::OnEnable"; + donpcevent "#3rdgc_gojung_kill03::OnEnable"; + donpcevent "Priest from Rachel::OnEnable"; + end; +OnReset: + donpcevent "#3rdgc_guard::OnStop"; + donpcevent "#3rdgc_guardoff::OnReset"; + donpcevent "#3rdgc_hide01::OnStop"; + donpcevent "#3rdgc_hide02::OnStop"; + donpcevent "#3rdgc_hide03::OnStop"; + donpcevent "#3rdgc_sunchal_kill01::OnStop"; + donpcevent "#3rdgc_sunchal_kill02::OnStop"; + donpcevent "#3rdgc_sunchal_kill03::OnStop"; + donpcevent "#3rdgc_gojung_kill01::OnStop"; + donpcevent "#3rdgc_gojung_kill02::OnStop"; + donpcevent "#3rdgc_gojung_kill03::OnStop"; + donpcevent "Guard Dog#dog01::OnReset"; + donpcevent "Guard Dog#dog02::OnReset"; + donpcevent "#3rdgc_sunchal_nomal::OnReset"; + donpcevent "#3rdgc_sunchal_kill01::OnReset"; + donpcevent "#3rdgc_sunchal_kill02::OnReset"; + donpcevent "#3rdgc_sunchal_kill03::OnReset"; + donpcevent "#3rdgc_gojung_kill01::OnReset"; + donpcevent "#3rdgc_gojung_kill02::OnReset"; + donpcevent "#3rdgc_gojung_kill03::OnReset"; + donpcevent "Priest from Rachel::OnReset"; + donpcevent "Barbed-Wire Entanglement::OnDisable"; + donpcevent "Guard Dog#dog01::OnDisable"; + donpcevent "Guard Dog#dog02::OnDisable"; + donpcevent "#3rdgc_gojung_kill01::OnDisable"; + donpcevent "#3rdgc_gojung_kill02::OnDisable"; + donpcevent "#3rdgc_gojung_kill03::OnDisable"; + donpcevent "Priest from Rachel::OnDisable"; + donpcevent "Renzak#3rdgc16::OnDisable"; + donpcevent "#3rdgc_event01::OnEnable"; + set $@3rdgc_room02, 0; + end; +} + +//Original name: Barbed-Wire Entanglements#3rdgc_door01 +job3_guil03,55,79,0 script Barbed-Wire Entanglement 844,1,1,{ + end; +OnEnable: + enablenpc "Barbed-Wire Entanglement"; + end; +OnDisable: + disablenpc "Barbed-Wire Entanglement"; + end; +OnTouch: + mes "There is space on the bottom of the old fence."; + next; + if(select("Find another way.:Climb into the space.") == 2) { + mes "You climb into the narrow space."; + mes "The hole is blocked with the old barbed-wire entanglements."; + close2; + warp "job3_guil03",57,79; + disablenpc "Barbed-Wire Entanglement"; + end; + } + close; +} + +job3_guil03,98,46,0 script #3rdgc_hide01 139,1,4,{ + end; +OnStop: + killmonster "job3_guil03","#3rdgc_hide01::OnMyMobDead"; + stopnpctimer; + end; +OnTouch: + mapannounce "job3_guil03","Man's voice : Umm? Is that a shadow in the window?",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + initnpctimer; + end; +OnTimer2000: + monster "job3_guil03",97,49,"Guard",1985,1,"#3rdgc_hide01::OnMyMobDead"; + monster "job3_guil03",98,49,"Guard",1985,1,"#3rdgc_hide01::OnMyMobDead"; + monster "job3_guil03",99,49,"Guard Dog",1866,1,"#3rdgc_hide01::OnMyMobDead"; + mapannounce "job3_guil03","Guards : An invader!!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + end; +OnTimer60000: + mapannounce "job3_guil03","Guards : Keep strict watch!!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "#3rdgc_guard::OnEnable"; + stopnpctimer; + end; +OnMyMobDead: + if (mobcount("job3_guil03","#3rdgc_hide01::OnMyMobDead") < 1) + stopnpctimer; + end; +} + +job3_guil03,98,55,0 script #3rdgc_hide02 139,1,4,{ + end; +OnStop: + killmonster "job3_guil03","#3rdgc_hide02::OnMyMobDead"; + stopnpctimer; + end; +OnTouch: + mapannounce "job3_guil03","Man's voice : There is something outside!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + initnpctimer; + end; +OnTimer2000: + monster "job3_guil03",97,57,"Guard",1985,1,"#3rdgc_hide02::OnMyMobDead"; + monster "job3_guil03",98,57,"Guard",1985,1,"#3rdgc_hide02::OnMyMobDead"; + monster "job3_guil03",99,57,"Guard Dog",1866,1,"#3rdgc_hide02::OnMyMobDead"; + mapannounce "job3_guil03","Guards : An invader!!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + end; +OnTimer60000: + mapannounce "job3_guil03","Guards : Keep strict watch!!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "#3rdgc_guard::OnEnable"; + stopnpctimer; + end; +OnMyMobDead: + if (mobcount("job3_guil03","#3rdgc_hide02::OnMyMobDead") < 1) + stopnpctimer; + end; +} + +job3_guil03,98,64,0 script #3rdgc_hide03 139,1,4,{ + end; +OnStop: + killmonster "job3_guil03","#3rdgc_hide03::OnMyMobDead"; + stopnpctimer; + end; +OnTouch: + mapannounce "job3_guil03","Man's voice : What is that?",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + initnpctimer; + end; +OnTimer2000: + monster "job3_guil03",97,67,"Guard",1985,1,"#3rdgc_hide03::OnMyMobDead"; + monster "job3_guil03",98,67,"Guard",1985,1,"#3rdgc_hide03::OnMyMobDead"; + monster "job3_guil03",99,67,"Guard Dog",1866,1,"#3rdgc_hide03::OnMyMobDead"; + mapannounce "job3_guil03","Guards : An invader!!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + end; +OnTimer60000: + mapannounce "job3_guil03","Guards : Keep strict watch!!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "#3rdgc_guard::OnEnable"; + stopnpctimer; + end; +OnMyMobDead: + if (mobcount("job3_guil03","#3rdgc_hide03::OnMyMobDead") < 1) + stopnpctimer; + end; +} + +job3_guil03,1,2,0 script #3rdgc_guard 844,{ + end; +OnEnable: + initnpctimer; + end; +OnStop: + stopnpctimer; + end; +OnTimer5000: + mapannounce "job3_guil03","Guards : Take strict precaution outside!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "Exterior Guard#g01::OnEnable"; + donpcevent "Exterior Guard#g02::OnEnable"; + donpcevent "Exterior Guard#g03::OnEnable"; + donpcevent "Exterior Guard#g04::OnEnable"; + donpcevent "Exterior Guard#g05::OnEnable"; + donpcevent "Exterior Guard#g06::OnEnable"; + end; +OnTimer8000: + mapannounce "job3_guil03","Guards : Take strict precaution of the front gate!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "Front Gate Guard#g01::OnEnable"; + donpcevent "Front Gate Guard#g03::OnEnable"; + donpcevent "Front Gate Guard#g04::OnEnable"; + donpcevent "Front Gate Guard#g05::OnEnable"; + end; +OnTimer13000: + mapannounce "job3_guil03","Guards : Take strict precaution of the back gate!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "Back Gate Guard#g01::OnEnable"; + donpcevent "Back Gate Guard#g03::OnEnable"; + donpcevent "Back Gate Guard#g04::OnEnable"; + donpcevent "Back Gate Guard#g05::OnEnable"; + end; +OnTimer16000: + mapannounce "job3_guil03","Guards : Take strict precaution of the interior!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "Interior Guard#g01::OnEnable"; + donpcevent "Interior Guard#g03::OnEnable"; + donpcevent "Interior Guard#g04::OnEnable"; + donpcevent "Interior Guard#g05::OnEnable"; + stopnpctimer; + end; +} + +job3_guil03,1,3,0 script #3rdgc_guardoff 844,{ + end; +OnDisable: + initnpctimer; + end; +OnReset: + stopnpctimer; + donpcevent "Front Gate Guard#g01::OnDisable"; + donpcevent "Front Gate Guard#g03::OnDisable"; + donpcevent "Front Gate Guard#g04::OnDisable"; + donpcevent "Front Gate Guard#g05::OnDisable"; + donpcevent "Back Gate Guard#g01::OnDisable"; + donpcevent "Back Gate Guard#g03::OnDisable"; + donpcevent "Back Gate Guard#g04::OnDisable"; + donpcevent "Back Gate Guard#g05::OnDisable"; + donpcevent "Interior Guard#g01::OnDisable"; + donpcevent "Interior Guard#g03::OnDisable"; + donpcevent "Interior Guard#g04::OnDisable"; + donpcevent "Interior Guard#g05::OnDisable"; + donpcevent "Exterior Guard#g01::OnDisable"; + donpcevent "Exterior Guard#g02::OnDisable"; + donpcevent "Exterior Guard#g03::OnDisable"; + donpcevent "Exterior Guard#g04::OnDisable"; + donpcevent "Exterior Guard#g05::OnDisable"; + donpcevent "Exterior Guard#g06::OnDisable"; + donpcevent "Front Gate Guard#g01::OnReset"; + donpcevent "Back Gate Guard#g01::OnReset"; + donpcevent "Interior Guard#g01::OnReset"; + donpcevent "Exterior Guard#g01::OnReset"; + donpcevent "Exterior Guard#g02::OnReset"; + donpcevent "Exterior Guard#g03::OnReset"; + donpcevent "Exterior Guard#g04::OnReset"; + donpcevent "Exterior Guard#g05::OnReset"; + donpcevent "Exterior Guard#g06::OnReset"; + end; +OnTimer1000: + mapannounce "job3_guil03","Guards : Umm? I'm imagining things.",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + end; +OnTimer4000: + mapannounce "job3_guil03","Guards : Let's go back.",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + end; +OnTimer5000: + donpcevent "Front Gate Guard#g01::OnDisable"; + donpcevent "Front Gate Guard#g03::OnDisable"; + donpcevent "Front Gate Guard#g04::OnDisable"; + donpcevent "Front Gate Guard#g05::OnDisable"; + donpcevent "Back Gate Guard#g01::OnDisable"; + donpcevent "Back Gate Guard#g03::OnDisable"; + donpcevent "Back Gate Guard#g04::OnDisable"; + donpcevent "Back Gate Guard#g05::OnDisable"; + donpcevent "Interior Guard#g01::OnDisable"; + donpcevent "Interior Guard#g03::OnDisable"; + donpcevent "Interior Guard#g04::OnDisable"; + donpcevent "Interior Guard#g05::OnDisable"; + donpcevent "Exterior Guard#g01::OnDisable"; + donpcevent "Exterior Guard#g02::OnDisable"; + donpcevent "Exterior Guard#g03::OnDisable"; + donpcevent "Exterior Guard#g04::OnDisable"; + donpcevent "Exterior Guard#g05::OnDisable"; + donpcevent "Exterior Guard#g06::OnDisable"; + stopnpctimer; + end; +} + +- script #3rdgc_guard00 -1,{ + end; +OnInit: +OnDisable: + disablenpc strnpcinfo(0); + end; +OnEnable: + enablenpc strnpcinfo(0); + end; +} + +job3_guil03,93,35,3 script Front Gate Guard#g01 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Front Gate Guard#g01"; + end; +OnEnable: + enablenpc "Front Gate Guard#g01"; + end; +OnReset: + killmonster "job3_guil03","Front Gate Guard#g01::OnMyMobDead"; + end; +OnTouch: + disablenpc "Front Gate Guard#g01"; + disablenpc "Front Gate Guard#g03"; + disablenpc "Front Gate Guard#g04"; + disablenpc "Front Gate Guard#g05"; + monster "job3_guil03",93,37,"Guard Dog",1866,1; + monster "job3_guil03",93,36,"Front Gate Guard",1985,1; + monster "job3_guil03",93,35,"Front Gate Guard",1985,1; + monster "job3_guil03",93,34,"Front Gate Guard",1985,1; + monster "job3_guil03",93,33,"Front Gate Guard",1985,1; + monster "job3_guil03",93,32,"Guard Dog",1866,1; + end; +} +job3_guil03,93,36,3 duplicate(#3rdgc_guard00) Front Gate Guard#g03 456 +job3_guil03,93,34,3 duplicate(#3rdgc_guard00) Front Gate Guard#g04 456 +job3_guil03,93,33,3 duplicate(#3rdgc_guard00) Front Gate Guard#g05 456 + +job3_guil03,133,52,5 script Back Gate Guard#g01 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Back Gate Guard#g01"; + end; +OnEnable: + enablenpc "Back Gate Guard#g01"; + end; +OnReset: + killmonster "job3_guil03","Back Gate Guard#g01::OnMyMobDead"; + end; +OnTouch: + disablenpc "Back Gate Guard#g01"; + disablenpc "Back Gate Guard#g03"; + disablenpc "Back Gate Guard#g04"; + disablenpc "Back Gate Guard#g05"; + monster "job3_guil03",133,54,"Guard Dog",1866,1; + monster "job3_guil03",133,53,"Back Gate Guard",1985,1; + monster "job3_guil03",133,52,"Back Gate Guard",1985,1; + monster "job3_guil03",133,51,"Back Gate Guard",1985,1; + monster "job3_guil03",133,50,"Back Gate Guard",1985,1; + monster "job3_guil03",133,49,"Guard Dog",1866,1; + end; +} +job3_guil03,133,53,5 duplicate(#3rdgc_guard00) Back Gate Guard#g03 456 +job3_guil03,133,51,5 duplicate(#3rdgc_guard00) Back Gate Guard#g04 456 +job3_guil03,133,50,5 duplicate(#3rdgc_guard00) Back Gate Guard#g05 456 + +job3_guil03,117,51,4 script Interior Guard#g01 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Interior Guard#g01"; + end; +OnEnable: + enablenpc "Interior Guard#g01"; + end; +OnReset: + killmonster "job3_guil03","Interior Guard#g01::OnMyMobDead"; + end; +OnTouch: + disablenpc "Interior Guard#g01"; + disablenpc "Interior Guard#g03"; + disablenpc "Interior Guard#g04"; + disablenpc "Interior Guard#g05"; + monster "job3_guil03",117,53,"Guard Dog",1866,1; + monster "job3_guil03",117,52,"Interior Guard",1985,1; + monster "job3_guil03",117,51,"Interior Guard",1985,1; + monster "job3_guil03",117,50,"Interior Guard",1985,1; + monster "job3_guil03",117,49,"Interior Guard",1985,1; + monster "job3_guil03",117,48,"Guard Dog",1866,1; + end; +} +job3_guil03,117,52,4 duplicate(#3rdgc_guard00) Interior Guard#g03 456 +job3_guil03,117,50,4 duplicate(#3rdgc_guard00) Interior Guard#g04 456 +job3_guil03,117,49,4 duplicate(#3rdgc_guard00) Interior Guard#g05 456 + +job3_guil03,88,44,4 script Exterior Guard#g01 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Exterior Guard#g01"; + end; +OnEnable: + enablenpc "Exterior Guard#g01"; + end; +OnReset: + killmonster "job3_guil03","Exterior Guard#g01::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","Guards : Who are you?!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + disablenpc "Exterior Guard#g01"; + monster "job3_guil03",88,44,"Exterior Guard",1985,1; + monster "job3_guil03",88,43,"Exterior Guard",1985,1; + monster "job3_guil03",88,45,"Guard Dog",1866,1; + end; +} + +job3_guil03,88,55,4 script Exterior Guard#g02 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Exterior Guard#g02"; + end; +OnEnable: + enablenpc "Exterior Guard#g02"; + end; +OnReset: + killmonster "job3_guil03","Exterior Guard#g02::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","Guards : Enemy?!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + disablenpc "Exterior Guard#g02"; + monster "job3_guil03",88,55,"Exterior Guard",1985,1; + monster "job3_guil03",88,54,"Exterior Guard",1985,1; + monster "job3_guil03",88,56,"Guard Dog",1866,1; + end; +} + +job3_guil03,88,64,4 script Exterior Guard#g03 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Exterior Guard#g03"; + end; +OnEnable: + enablenpc "Exterior Guard#g03"; + end; +OnReset: + killmonster "job3_guil03","Exterior Guard#g03::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","Guards : An invader, remove!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + disablenpc "Exterior Guard#g03"; + monster "job3_guil03",88,64,"Exterior Guard",1985,1; + monster "job3_guil03",88,63,"Exterior Guard",1985,1; + monster "job3_guil03",88,65,"Guard Dog",1866,1; + end; +} + +job3_guil03,73,62,4 script Exterior Guard#g04 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Exterior Guard#g04"; + end; +OnEnable: + enablenpc "Exterior Guard#g04"; + end; +OnReset: + killmonster "job3_guil03","Exterior Guard#g04::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","Guards : Who are you?!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + disablenpc "Exterior Guard#g04"; + monster "job3_guil03",73,62,"Exterior Guard",1985,1; + monster "job3_guil03",73,61,"Exterior Guard",1985,1; + monster "job3_guil03",73,63,"Guard Dog",1866,1; + end; +} + +job3_guil03,77,51,4 script Exterior Guard#g05 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Exterior Guard#g05"; + end; +OnEnable: + enablenpc "Exterior Guard#g05"; + end; +OnReset: + killmonster "job3_guil03","Exterior Guard#g05::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","Guards : Who are you?!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + disablenpc "Exterior Guard#g05"; + monster "job3_guil03",77,51,"Exterior Guards",1985,1; + monster "job3_guil03",77,50,"Exterior Guards",1985,1; + monster "job3_guil03",77,49,"Guard Dog",1866,1; + end; +} + +job3_guil03,73,34,4 script Exterior Guard#g06 456,5,5,{ + end; +OnInit: +OnDisable: + disablenpc "Exterior Guard#g06"; + end; +OnEnable: + enablenpc "Exterior Guard#g06"; + end; +OnReset: + killmonster "job3_guil03","Exterior Guard#g06::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","Guard : Who are you?!",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + disablenpc "Exterior Guard#g06"; + monster "job3_guil03",73,34,"Exterior Guards",1985,1; + monster "job3_guil03",73,33,"Exterior guards",1985,1; + monster "job3_guil03",73,32,"Guard Dog",1866,1; + end; +} + +job3_guil03,110,27,3 script Guard Dog#dog01 1866,3,1,{ + end; +OnEnable: + enablenpc "Guard Dog#dog01"; + end; +OnDisable: + disablenpc "Guard Dog#dog01"; + end; +OnReset: + killmonster "job3_guil03","Guard Dog#dog01::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","You have been detected by the guard dog.",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0 + disablenpc "Guard Dog#dog01"; + monster "job3_guil03",110,27,"Guard Dog",1866,1; + monster "job3_guil03",103,27,"Dog Trainer",1985,1; + monster "job3_guil03",104,27,"Dog Trainer's Assistant",1985,1; + monster "job3_guil03",98,27,"Guard",1985,1; + end; +} + +job3_guil03,119,27,3 script Guard Dog#dog02 1866,3,1,{ + end; +OnEnable: + enablenpc "Guard Dog#dog02"; + end; +OnDisable: + disablenpc "Guard Dog#dog02"; + end; +OnReset: + killmonster "job3_guil03","Guard Dog#dog02::OnMyMobDead"; + end; +OnTouch: + mapannounce "job3_guil03","You have been detected by the guard dog.",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0 + disablenpc "Guard Dog#dog02"; + monster "job3_guil03",124,27,"Guard Dog",1866,1; + monster "job3_guil03",126,27,"Dog Trainer",1985,1; + monster "job3_guil03",104,27,"Trainer's Assistant",1985,1; + monster "job3_guil03",131,27,"Guard",1985,1; + end; +} + +job3_guil03,2,1,0 script #3rdgc_sunchal_nomal 844,{ + end; +OnEnable: + monster "job3_guil03",62,35,"Guard",1985,1; + monster "job3_guil03",108,78,"Guard",1985,1; + monster "job3_guil03",133,77,"Guard",1985,1; + monster "job3_guil03",79,69,"Guard",1985,1; + monster "job3_guil03",117,27,"Guard",1985,1; + monster "job3_guil03",62,48,"Guard",1985,1; + monster "job3_guil03",116,24,"Guard Dog",1866,1; + monster "job3_guil03",137,24,"Guard Dog",1866,1; + monster "job3_guil03",49,74,"Guard Dog",1866,1; + monster "job3_guil03",48,50,"Guard Dog",1866,1; + monster "job3_guil03",62,48,"Guard Dog",1866,1; + monster "job3_guil03",61,38,"Guard Dog",1866,1; + monster "job3_guil03",74,47,"Guard Dog",1866,1; + monster "job3_guil03",90,34,"Guard Dog",1866,1; + monster "job3_guil03",91,51,"Guard Dog",1866,1; + monster "job3_guil03",155,77,"Guard Dog",1866,1; + monster "job3_guil03",127,67,"Guard Dog",1866,1; + monster "job3_guil03",131,43,"Guard Dog",1866,1; + monster "job3_guil03",103,27,"Guard Dog",1866,1; + monster "job3_guil03",63,74,"Guard Dog",1866,1; + monster "job3_guil03",79,69,"Guard Dog",1866,1; + monster "job3_guil03",0,0,"Watch Light",1129,1; + monster "job3_guil03",0,0,"Watch Light",1129,1; + monster "job3_guil03",0,0,"Watch Light",1129,1; + monster "job3_guil03",0,0,"Watch Light",1129,1; + monster "job3_guil03",0,0,"Watch Light",1129,1; + end; +OnReset: + killmonster "job3_guil03","#3rdgc_sunchal_nomal::OnMyMobDead"; + end; +} + +job3_guil03,2,2,0 script #3rdgc_sunchal_kill01 844,{ + end; +OnEnable: + set .@i, atoi(charat(strnpcinfo(0),20)); + setarray .@x[1],74,124,103; + setarray .@y[1],63, 78, 24; + monster "job3_guil03",.@x[.@i],.@y[.@i],"Guard",1985,1,strnpcinfo(0)+"::OnMyMobDead"; + end; +OnStop: + mapannounce "job3_guil03","Guard : Am I imagining things? I just heard something...",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + stopnpctimer; + end; +OnReset: + killmonster "job3_guil03",strnpcinfo(0)+"::OnMyMobDead"; + end; +OnMyMobDead: + initnpctimer; + end; +OnTimer3000: + mapannounce "job3_guil03","Guard : Huh? What's that sound. Hey, what's going on?",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + end; +OnTimer70000: + mapannounce "job3_guil03","Guard : What's the matter?",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + end; +OnTimer10000: + mapannounce "job3_guil03","Guard : Something's wrong, take caution!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "#3rdgc_guard::OnEnable"; + stopnpctimer; + end; +} +job3_guil03,2,3,0 duplicate(#3rdgc_sunchal_kill01) #3rdgc_sunchal_kill02 844 +job3_guil03,2,4,0 duplicate(#3rdgc_sunchal_kill01) #3rdgc_sunchal_kill03 844 + +job3_guil03,64,68,3 script #3rdgc_gojung_kill01 456,7,7,{ + end; +OnEnable: + enablenpc strnpcinfo(0); + end; +OnDisable: + disablenpc strnpcinfo(0); + end; +OnStop: + mapannounce "job3_guil03","Guard : Am I imagining things? I just heard something.",bc_map,"0xA8A8A8"; //FW_NORMAL 12 0 0 + stopnpctimer; + end; +OnReset: + killmonster "job3_guil03",strnpcinfo(0)+"::OnMyMobDead"; + end; +OnTouch: + set .@i, atoi(charat(strnpcinfo(0),19)); + setarray .@x[1],64,86,83; + setarray .@y[1],68,63,36; + mapannounce "job3_guil03","Guard : Who are you?!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + disablenpc strnpcinfo(0); + monster "job3_guil03",.@x[.@i],.@y[.@i],"Guard",1985,1,strnpcinfo(0)+"::OnMyMobDead"; + initnpctimer; + end; +OnMyMobDead: + stopnpctimer; + end; +OnTimer5000: + if (strnpcinfo(0) == "#3rdgc_gojung_kill03") end; +OnTimer10000: + mapannounce "job3_guil03","Guard : I need support! Take caution!",bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0 + donpcevent "#3rdgc_guard::OnEnable"; + stopnpctimer; + end; +} +job3_guil03,86,63,1 duplicate(#3rdgc_gojung_kill01) #3rdgc_gojung_kill02 456,8,8 +job3_guil03,83,36,5 duplicate(#3rdgc_gojung_kill01) #3rdgc_gojung_kill03 456,6,6 + +job3_guil03,88,71,0 script #3rdgc_safezone01 139,1,1,{ + end; +OnTouch: + mes "It's a good bush to hide yourself."; + donpcevent strnpcinfo(0)+"::OnTimer"; + close; +OnTimer: + //FIXME: This is a workaround for... + //var pccount_tt = GetNeighborPcNumber 2 + getmapxy(.@map$,.@x,.@y,1); + setarray .@x[1],.@x-2,.@x+2; + setarray .@y[1],.@y-2,.@y+2; + sleep 1000; + for(set .@i,0; .@i<9; set .@i,.@i+1) { + if (getareausers(.@map$,.@x[1],.@y[1],.@x[2],.@y[2]) < 1) + end; + sleep 1000; + } + if (getareausers(.@map$,.@x[1],.@y[1],.@x[2],.@y[2]) > 0) + donpcevent "#3rdgc_guardoff::OnDisable"; + end; +} +job3_guil03,82,45,0 duplicate(#3rdgc_safezone01) #3rdgc_safezone02 139,1,1 +job3_guil03,72,53,0 duplicate(#3rdgc_safezone01) #3rdgc_safezone03 139,1,1 + +job3_guil03,111,51,7 script Priest from Rachel 928,{ + if (!.on) end; + mes "[Priest from Rachel]"; + if (job_3rd_gc == 17) { + mes "Are you from the Assassin Guild?"; + next; + mes "[Priest from Rachel]"; + mes "The reason that our organization was dissolved was because of you guys."; + mes "You are a thorough person?"; + next; + mes "[Priest from Rachel]"; + mes "Because of you, you ruined everything!"; + setnpcdisplay(strnpcinfo(0),2030); + next; + mes "[Priest from Rachel]"; + mes "You want to destroy us forever!"; + mes "I can't put the Goddess to shame on a dirty Odin!"; + next; + mes "[Priest from Rachel]"; + mes "I'll never forgive you!!!"; + mes "Pagan! Justice will be swift!"; + donpcevent "Priest from Rachel::OnDisable"; + monster "job3_guil03",111,51,"Priest from Rachel",2030,1,"Priest from Rachel::OnMyMobDead"; + close; + } + mes "Who are you?"; + mes "Get out of here."; + close2; + warp "ve_fild05",341,303; + end; +OnInit: +OnDisable: + set .on,0; + hideonnpc "Priest from Rachel"; + end; +OnEnable: + set .on,1; + hideoffnpc "Priest from Rachel"; + end; +OnReset: + killmonster "job3_guil03","Priest from Rachel::OnMyMobDead"; + end; +OnMyMobDead: + donpcevent "Renzak#3rdgc16::OnEnable"; + mapannounce "job3_guil03","I... I can't die in vain...",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0 + donpcevent "#3rdgc_event01::OnStop"; + initnpctimer; + end; +OnTimer3000: + mapannounce "job3_guil03","Renzak : Hey! Come out!",bc_map,"0x4d4dff"; //FW_NORMAL 12 0 0 + end; +OnTimer40000: + mapannounce "job3_guil03","Renzak : Don't lag!",bc_map,"0x4d4dff"; //FW_NORMAL 12 0 0 + end; +OnTimer60000: + mapwarp "job3_guil03","ve_fild05",341,303; + end; +OnTimer61000: + donpcevent "#3rdgc_guard::OnStop"; + donpcevent "#3rdgc_guardoff::OnReset"; + donpcevent "#3rdgc_hide01::OnStop"; + donpcevent "#3rdgc_hide02::OnStop"; + donpcevent "#3rdgc_hide03::OnStop"; + donpcevent "#3rdgc_sunchal_kill01::OnStop"; + donpcevent "#3rdgc_sunchal_kill02::OnStop"; + donpcevent "#3rdgc_sunchal_kill03::OnStop"; + donpcevent "#3rdgc_gojung_kill01::OnStop"; + donpcevent "#3rdgc_gojung_kill02::OnStop"; + donpcevent "#3rdgc_gojung_kill03::OnStop"; + donpcevent "Guard Dog#dog01::OnReset"; + donpcevent "Guard Dog#dog02::OnReset"; + donpcevent "#3rdgc_sunchal_nomal::OnReset"; + donpcevent "#3rdgc_sunchal_kill01::OnReset"; + donpcevent "#3rdgc_sunchal_kill02::OnReset"; + donpcevent "#3rdgc_sunchal_kill03::OnReset"; + donpcevent "#3rdgc_gojung_kill01::OnReset"; + donpcevent "#3rdgc_gojung_kill02::OnReset"; + donpcevent "#3rdgc_gojung_kill03::OnReset"; + donpcevent "Priest from Rachel::OnReset"; + donpcevent "Barbed-Wire Entanglement::OnDisable"; + donpcevent "Guard Dog#dog01::OnDisable"; + donpcevent "Guard Dog#dog02::OnDisable"; + donpcevent "#3rdgc_gojung_kill01::OnDisable"; + donpcevent "#3rdgc_gojung_kill02::OnDisable"; + donpcevent "#3rdgc_gojung_kill03::OnDisable"; + donpcevent "Priest from Rachel::OnDisable"; + donpcevent "Renzak#3rdgc16::OnDisable"; + end; +OnTimer61500: + donpcevent "#3rdgc_event01::OnEnable"; + set $@3rdgc_room02, 0; + stopnpctimer; + end; +} + +job3_guil03,146,70,3 script Renzak#3rdgc16 466,{ + mes "[Renzak]"; + if (checkquest(7110,HUNTING) == 2) { + mes "My peers will come here to settle this affair."; + mes "Go to Mayshell for the report."; + next; + mes "[Renzak]"; + if (checkquest(7110,PLAYTIME) == 1) { + mes "You finished quickly."; + mes "Good job."; + set job_3rd_gc, 18; + } else { + mes "I told you that you have to finish within 10 minutes."; + mes "You might be exhausted."; + mes "Fortunately you are ok."; + set job_3rd_gc, 19; + } + erasequest 7110; + setquest 7111; + close2; + warp "job3_guil01",51,50; + end; + } + mes "Get the target!"; + mes "Actually, I'm not supposed to be here. Is something wrong with you?"; + close; +OnInit: + disablenpc "Renzak#3rdgc16"; + end; +OnEnable: + enablenpc "Renzak#3rdgc16"; + end; +OnDisable: + disablenpc "Renzak#3rdgc16"; + end; +} + +job3_guil01,148,53,3 script Bercasell#3rdgc16 467,{ + if (!checkweight(1201,2)) { + mes "- You can't continue this quest because you have too many items. -"; + close; + } + mes "[Bercasell]"; + if (Class == Job_Assassin || Class == Job_Assassin_Cross || Class == Job_Baby_Assassin) { + if (job_3rd_gc == 20) { + if (JobLevel > 49 && SkillPoint == 0 && BaseLevel > 98) { + mes "I'm so tired..."; + mes "You were sent by Mayshell?"; + mes "Tell me why you came to see me."; + next; + switch(select("What is a Guillotine Cross?:I want to be a Guillotine Cross.:Nothing.")) { + case 1: + mes "[Bercasell]"; + mes "....."; + next; + mes "[Bercasell]"; + mes "So you want to know about the Guillotine Cross?"; + mes "Get out!"; + next; + switch(select("Just tell me...:......")) { + case 1: + mes "[Bercasell]"; + callsub L_Info; + mes "[Bercasell]"; + mes "It's funny that I'm talking to you like this."; + mes "I want to stop you from becoming a Guillotine Cross because of your defiance."; + close; + case 2: + mes "[Bercasell]"; + mes "Yes, you don't ask questions."; + mes "That's good. You are qualified. What about being a Guillotine Cross?"; + mes "Do you want to be a Guillotine Cross?"; + next; + switch(select("Yes, change my job.:I need to think about it.")) { + case 1: + L_JobChange: + mes "[Bercasell]"; + mes "You don't regret it?"; + callsub L_Info; + mes "[Bercasell]"; + mes "You can become a living offensive weapon."; + mes "Do you really want to become a Guillotine Cross?"; + next; + switch(select("Yes, change my job.:I need to rethink it.")) { + case 1: + mes "[Bercasell]"; + if (ismounting()) { + mes "I cannot perform the job change."; + mes "Please remove your mount and try again."; + close; + } else if (SkillPoint != 0) { + mes "You still have unspent skill points."; + mes "Please use all your skill points and try again."; + close; + } + mes "Is your decision final?"; + mes "Good."; + next; + mes "[Bercasell]"; + mes "Now, you are an assassin, yet you are not an assassin anymore."; + mes "You are in the shadows, but it's different from the other shadows."; + next; + mes "[Bercasell]"; + mes "Your enemy is everything you can see."; + mes "Don't forget yourself."; + mes "A weight of the blood on your weapons."; + next; + mes "[Bercasell]"; + mes "Ok, change your clothes to your new uniform."; + mes "You are now a Guillotine Cross."; + next; + mes "[Bercasell]"; + mes "A sword of the shadow..."; + setlook 7,0; + jobchange roclass(eaclass()|EAJL_THIRD); + if (checkquest(7096) == 1) { + set job_3rd_gc, 25; + erasequest 7096; + } else if (checkquest(7097) == 1) { + set job_3rd_gc, 26; + erasequest 7097; + } else if (checkquest(7098) == 1) { + set job_3rd_gc, 27; + erasequest 7098; + } else if (checkquest(7099) == 1) { + set job_3rd_gc, 28; + erasequest 7099; + } + getitem 2795,1; //Green_Apple_Ring + getitem 5755,1; //Silent_Executer + next; + mes "[Bercasell]"; + mes "And... these are presents to celebrate your becoming a Guillotine Cross."; + close; + case 2: + mes "[Bercasell]"; + mes "You are prudent. That's a good thing."; + mes "I'll wait for the day that you decide to join us as a Guillotine Cross."; + close; + } + case 2: + mes "[Bercasell]"; + mes "You are prudent. That's a good thing."; + mes "I'll wait for the day that you decide to join us as a Guillotine Cross."; + close; + } + } + case 2: + goto L_JobChange; + case 3: + mes "[Bercasell]"; + mes "Don't bother me."; + close; + } + } + mes "......"; + mes "What can I do for you?"; + next; + switch(select("I want to be a Guillotine.:Nothing.")) { + case 1: + mes "[Bercasell]"; + mes "Do you?"; + mes "What for...?"; + mes "Of course, you came here with your own will..."; + next; + mes "[Bercasell]"; + mes "Guillotine Cross is an enforcer of the Assassin Guild's laws."; + mes "Can you put a dagger in the back of one of your peers?"; + next; + mes "[Bercasell]"; + mes "You are not ready to do it yet..."; + close; + case 2: + mes "[Bercasell]"; + mes "Don't bother me."; + close; + } + } else if (job_3rd_gc > 20) { + mes "Don't pursue only strength."; + mes "You'll get tired."; + mes "It's no better than living."; + mes "If you only seek power..."; + next; + mes "[Bercasell]"; + mes "Someday, it'll come back to you."; + mes "Well, I'm just a weapon, suppose I have no right to talk about life..."; + close; + } else { + mes "What's going on with Daora?"; + mes "Why are you in here?"; + mes "Did I say you could come here?"; + next; + mes "[Bercasell]"; + mes "Or did Mayshell send you?"; + mes "Or what, are you my fan?"; + mes "You found the wrong place!"; + next; + mes "[Bercasell]"; + mes "Get out of here now!!!"; + close; + } + } else if (Class == Job_Guillotine_Cross || Class == Job_Guillotine_Cross_T || Class == Job_Baby_Cross) { + mes "Don't pursue only strength."; + mes "You'll get tired."; + mes "It's no better than living."; + mes "If you only seek power..."; + next; + mes "[Bercasell]"; + mes "Someday, it'll come back to you."; + mes "Well, I'm just a weapon, suppose I have no right to talk about life..."; + close; + } + mes "What?"; + mes "Hey, you aren't supposed to be here!"; + mes "Get out now!"; + close; + +L_Info: + mes "Guillotine Cross is an enforcer."; + mes "A living offensive weapon..."; + next; + mes "[Bercasell]"; + mes "Who is an assassin's natural enemy?"; + mes "Swordman? Priest?"; + mes "Wizard?"; + mes "Things of evil in great abundance?"; + next; + mes "[Bercasell]"; + mes "No, an assassin's natural enemy is other assassins."; + mes "The most threatening thing to us is us."; + next; + mes "[Bercasell]"; + mes "In the darkness of the guild, in the shadows we are the Guillotine Crosses."; + mes "We maintain the law and order within the Assassin Guild."; + next; + mes "[Bercasell]"; + mes "Sometimes we set examples for our peers, sometimes we aim swords at our members' necks in the name of the Guild."; + mes "We are the Guillotine Cross, the sword of the Assassin Guild."; + next; + mes "[Bercasell]"; + mes "We have the skill to find members who are in the darkness, and you are being way too pushy."; + next; + mes "[Bercasell]"; + mes "We have highly advanced combat skills."; + next; + return; +} + +// Warp Portals +//============================================================ +job3_guil01,80,77,0 script #gate_to_guil05 45,1,1,{ + end; +OnTouch: + if (job_3rd_gc > 3) + warp "job3_guil01",60,50; + else { + mes "[Daora]"; + mes "Hey, there!"; + mes "No trespassing!"; + close; + } + end; +} +job3_guil01,51,55,0 script #gate_to_guil07 45,1,1,{ + end; +OnTouch: + if (job_3rd_gc == 4 || job_3rd_gc == 14 || job_3rd_gc > 17) + warp "job3_guil01",12,7; + else { + mes " [-----------------------------]"; + mes " No trespassing without "; + mes " permission. "; + mes " I'm not a "; + mes " generous person. "; + mes " - Mayshell "; + mes " [-----------------------------]"; + close; + } + end; +} +job3_guil01,51,44,0 script #gate_to_guil09 45,1,1,{ + end; +OnTouch: + if (job_3rd_gc == 11 || job_3rd_gc == 12) + warp "job3_guil01",79,23; + else if (job_3rd_gc > 19) + warp "job3_guil01",144,57; + else { + mes "You don't have anything to do."; + close; + } + end; +} + +/* +job3_guil02,1,3,0 script #GMhelper01_gc 844,{ + mes "What can I do for you?"; + next; + input .@input; + if (.@input == 1854) { + set .@room01, $@3rdgc_room01; + mes "I check the recent situation."; + mes "The battle situation of storage: "+.@room01+""; + mes "1 : In progress. 0 : Standby status."; + next; + switch(select("Reset a situation of storage:Stop it.")) { + case 1: + mes "Do you wish to reset a situation of storage?"; + mes "Check the inside that there is a person or not, please."; + next; + switch(select("No.:Reset.")) { + case 1: + mes "I did nothing."; + close; + case 2: + mes "Reset a situation of storage."; + donpcevent "Dandelion#3rdgc12::OnDisable"; + donpcevent "A man with black clothes::OnDisable"; + donpcevent "#3rdgc_room01_mag01::OnEnable"; + set $@3rdgc_room01, 0; + next; + mes "Complete a reset."; + close; + } + case 2: + mes "A management for mansion is in mansion."; + close; + } + } + mes "-_-."; + close; +} + +job3_guil03,1,8,0 script #GMhelper02_gc 844,{ + mes "What can I do for you?"; + next; + input .@input; + if (.@input == 1854) { + set .@room02, $@3rdgc_room02; + mes "Check the recent situation."; + mes "The battle situation of the mansion is: "+.@room02+""; + mes "1 : In progress. 0 : Standby status."; + next; + switch(select("Reset the mansion:Stop it.")) { + case 1: + mes "Do you want to reset the mansion?"; + mes "With completion a rest all players of inside will be expelled."; + next; + switch(select("No.:Reset.")) { + case 1: + mes "I don't anything."; + close; + case 2: + mes "Reset the mansion."; + donpcevent "#3rdgc_guard::OnStop"; + donpcevent "#3rdgc_guardoff::OnReset"; + donpcevent "#3rdgc_hide01::OnStop"; + donpcevent "#3rdgc_hide02::OnStop"; + donpcevent "#3rdgc_hide03::OnStop"; + donpcevent "#3rdgc_sunchal_kill01::OnStop"; + donpcevent "#3rdgc_sunchal_kill02::OnStop"; + donpcevent "#3rdgc_sunchal_kill03::OnStop"; + donpcevent "#3rdgc_gojung_kill01::OnStop"; + donpcevent "#3rdgc_gojung_kill02::OnStop"; + donpcevent "#3rdgc_gojung_kill03::OnStop"; + donpcevent "Guard Dog#dog01::OnReset"; + donpcevent "Guard Dog#dog02::OnReset"; + donpcevent "#3rdgc_sunchal_nomal::OnReset"; + donpcevent "#3rdgc_sunchal_kill01::OnReset"; + donpcevent "#3rdgc_sunchal_kill02::OnReset"; + donpcevent "#3rdgc_sunchal_kill03::OnReset"; + donpcevent "#3rdgc_gojung_kill01::OnReset"; + donpcevent "#3rdgc_gojung_kill02::OnReset"; + donpcevent "#3rdgc_gojung_kill03::OnReset"; + donpcevent "Priest from Rachel::OnReset"; + donpcevent "Barbed-Wire Entanglement::OnDisable"; + donpcevent "Guard Dog#dog01::OnDisable"; + donpcevent "Guard Dog#dog02::OnDisable"; + donpcevent "#3rdgc_gojung_kill01::OnDisable"; + donpcevent "#3rdgc_gojung_kill02::OnDisable"; + donpcevent "#3rdgc_gojung_kill03::OnDisable"; + donpcevent "Priest from Rachel::OnDisable"; + donpcevent "Renzak#3rdgc16::OnDisable"; + next; + mes "Complete a reset of NPC inside."; + mes "The global var is organized."; + mes "We start to expel by force."; + mes "Just put the enter button now."; + donpcevent "#3rdgc_event01::OnEnable"; + set $@3rdgc_room02, 0; + close2; + mapwarp "job3_guil03","ve_fild05",341,303; + end; + } + case 2: + mes "The management of storage is in a storage."; + close; + } + } + mes "-_-."; + close; +} +*/
\ 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..94792439d --- /dev/null +++ b/npc/re/jobs/3-1/mechanic.txt @@ -0,0 +1,733 @@ +//===== rAthena Script ======================================= +//= Mechanic Job Quest +//===== By: ================================================== +//= Muad_Dib +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Jobchange Quest from Blacksmith / Whitesmith -> Mechanic. +//===== Additional Comments: ================================= +//= 1.0 First Version. [Masao] +//= 1.1 Fixed the Door NPC [JayPee]. +//= 1.2 Updated script. [Euphy] +//============================================================ + +yuno,129,156,3 script Chainheart 923,{ + mes "[Chainheart]"; + if (BaseLevel > 99) { + 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 "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; + } else if (job__mechanic == 11) { + if (BaseJob == Job_Blacksmith && BaseLevel > 98 && JobLevel > 49 && SkillPoint == 0) { + if (ismounting()) { + mes "You are on a riding pet,"; + mes "so you cannot change your job."; + mes "Please unequip your riding pet and try again!"; + close; + } + 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 a 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) + getitem 5749,1; //Driver_Band + else + getitem 5760,1; //Driver_Band_ + getitem 2795,1; //Green_Apple_Ring + jobchange roclass(eaclass()|EAJL_THIRD); + mes "[Chainheart]"; + mes "This is a gift that I give to you."; + 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 "It seems something not enough?"; + close; + } else if (job__mechanic >= 3) { + 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; + } else if (job__mechanic == 2) { + 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 the"; + 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; + } + } else if (job__mechanic == 1) { + 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 the 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 (BaseJob == Job_Blacksmith) { + if (BaseLevel > 98 && JobLevel > 49 && SkillPoint == 0) { + 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 "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 "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) == 0 || MaxWeight - Weight < 300) { + mes "- Your pack is too heavy. -"; + mes "- Lighten your body first -"; + mes "- and please try again. -"; + close; + } + mes "[Scholar]"; + if (job__mechanic > 10) { + mes "How was Juperos?"; + mes "I am so scared that I still"; + mes "cannot go there."; + close; + } else if (job__mechanic > 3) { + 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; + } + } + 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 get 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."; + if (job__mechanic != 3) close; + next; + mes "[Scholar]"; + mes "Umm? Are you also going to Juperos to get something?"; + mes "I have no courage to go in there."; + mes "Good luck 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. 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; +} + +jupe_core2,149,273,3 script Ghostfire#1 802,{ + mes "[?]"; + if (job__mechanic == 11) { + 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; + } else if (job__mechanic == 10) { + 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; + } else if (job__mechanic > 4) { + 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; + } else if (job__mechanic > 2) { + mes "Talented one."; + mes "Make sure there are"; + mes "no enemies around."; + mes "If you focus on me,"; + mes "you might get attacked."; + next; + if(select("Well then, later.:Focus.") == 1) close; + 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,"; + mes "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 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; + if (job__mechanic == 3 || job__mechanic == 4) + 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; + } + end; +} + +jupe_core2,53,75,3 script Ghostfire#2 802,{ + mes "[?]"; + if (job__mechanic > 5) { + mes "Juperos... I..."; + mes "Juperos... What I want"; + mes "exists all in here..."; + mes "The power of science...the paradise of machines..."; + close; + } else if (job__mechanic == 5) { + mes "Talented one."; + mes "Make sure there are"; + mes "no enemies around."; + mes "If you focus on me,"; + mes "you might get attacked."; + next; + if(select("Well then, later:Focus") == 1) close; + 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; + } + end; +} + +jupe_core2,242,62,3 script Ghostfire#3 802,{ + mes "[?]"; + if (job__mechanic > 6) { + 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; + } else if (job__mechanic == 6) { + mes "Talented one."; + mes "Make sure there are"; + mes "no enemies around."; + mes "If you focus on me,"; + mes "you might get attacked."; + next; + if(select("Well then, later:Focus") == 1) close; + 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 the foothold of this statue, 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 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 figured that I could move my energy to different statues."; + close; + } + end; +} + +jupe_core2,29,150,0 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; + } else 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; + } else if (job__mechanic > 2) { + percentheal 0,-30; + mes "-Suddenly I feel power is-"; + mes "-escaping from my body-"; + mes "-What is happening?-"; + close; + } + end; +} + +jupe_core2,272,149,0 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; + } else 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::OnEnable"; + changequest 10097,10098; + mes "-I think that I am becoming-"; + mes "-the sacrificial offering.-"; + close; + } else if (job__mechanic > 2) { + percentheal 0,-30; + mes "-Suddenly I feel power is-"; + mes "-escaping from my body-"; + mes "-What is happening?-"; + close; + } + end; +} + +jupe_core2,288,142,3 script #Door 844,1,1,{ + end; +OnInit: +OnDisable: + disablenpc "#Door"; + end; +OnEnable: + enablenpc "#Door"; + specialeffect EF_MAPPILLAR; + initnpctimer; + end; +OnTimer180000: + donpcevent "#Door::OnDisable"; + end; +OnTouch: + 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 foothold.-"; + close2; + set job__mechanic,9; + changequest 10098,10099; + donpcevent "#Door::OnDisable"; + end; +} + +jupe_core2,149,34,0 script #Acquiring Knowledge 139,1,0,{ +OnTouch: + if (job__mechanic == 9) { + mes "-The moment I stepped on-"; + mes "-the foothold 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 knowledge-"; + mes "-is enough. Let's get finished-"; + mes "-and find a way out.-"; + close; + } + end; +} +jupe_core2,150,33,0 duplicate(#Acquiring Knowledge) #Acquiring Knowledge2 139,1,0 + +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..e499b03b2 --- /dev/null +++ b/npc/re/jobs/3-1/ranger.txt @@ -0,0 +1,1806 @@ +//===== rAthena Script ======================================= +//= Ranger Job Quest +//===== By: ================================================== +//= Muad_Dib +//===== Current Version: ===================================== +//= 1.5 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Job change Quest from Hunter / Sniper -> Ranger. +//===== Additional Comments: ================================= +//= 1.0 First Version. [Masao] +//= 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, commented the SC_STONE +//= part until M_DESERT_WOLF_B Mercenary is fully working. +//= 1.3 Fixed waves not being announced and counted [Elias] +//= 1.3a Little beauty fix, changed break; to next; . [Masao] +//= 1.4 Some optimization. [Euphy] +//= 1.5 Updated script, optimized. [Euphy] +//============================================================ + +tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ + mes "[Survival Instructor, Rescue]"; + if (BaseJob == Job_Hunter) { + if (job_ranger01 < 1) { + mes "eeeeei~ 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."; + next; + if(select("I came here to become to a Ranger.:I just came to look around.") == 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 < 99 || JobLevel < 50) { + 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 "Ok!"; + mes "It looks like you have"; + mes "enough experience."; + next; + 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 a job into a Ranger from a Hunter,"; + mes "you won't get any chance to learn the skills of a Sniper, would that be okay?"; + next; + switch(select("I'll think about it more.:I want to be a Ranger already.")) { + case 1: + mes "[Survival Instructor, Rescue]"; + 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; + } + 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, Rescue]"; + mes "So in order to check your abilities, I'll need to evaluate your pure abilities.~"; + next; + } else { + mes "[Survival Instructor, Rescue]"; + 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 "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 "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."; + close; + } else if (job_ranger01 == 2) { + if (Weight < 1) { + 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; + if(select("I'll think about it more:I'll take the test") == 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; + } + 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; + if(select("Wait a second:Yes, I'm ready") == 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; + } + 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; //Bow__ + getitem 12323,10; //N_Fly_Wing + getitem 1750,500; //Arrow + close; + } + 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 "Umm?"; + mes "What are you waiting for?"; + next; + if(select("Tell me the mission again.:I just wanted to talk.") == 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; + if(select("Wait a minute:I will start") == 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; + } + mes "[Survival Instructor, Rescue]"; + mes "Okay, let's start."; + mes "There's no time to hesitate, so do your best."; + close; + } + 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 "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 "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 "Do 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; + } + } + mes "Oh, hey. Who's this?"; + 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; + } + if (Class == Job_Ranger || Class == Job_Ranger_T || Class == Job_Baby_Ranger) { + if (job_ranger01 == 8) { + mes "Ho. Who's this~"; + mes "You really look talented..."; + next; + mes "[Survival Instructor, Rescue]"; + mes "Next time, try not to intimidate other people."; + close; + } + } + 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,{ + mes "[Test Instructor, Teardrop]"; + if (BaseJob == Job_Hunter) { + if (job_ranger01 < 3) { + 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 "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 "That you are coming and going bugs me so, would you please stop?!"; + next; + if(select("Ranger practical test building?:I came for the test.") == 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; + } + 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 > 500) { + 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 "Hmm. It's doubtful..."; + next; + 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,HUNTING) == 2) { + if (countitem(7064) > 0) { + 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; //Dragon_Fly_Wing + set job_ranger01,5; + changequest 8257,8258; + close; + } + } + 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 "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; + if(select("Please wait a little:Let's go to the practical test field!") == 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; + } + callsub L_Start,0; + close; + } else if (job_ranger01 == 6) { + 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 e_gg; + 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: + callsub L_Start,1; + close; + 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: + 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; + 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; //Bow__ + set job_ranger01,0; + for(set .@i,8254; .@i<=8262; set .@i,.@i+1) + if (checkquest(.@i) > -1) erasequest .@i; + close; + } + mes "[Test Instructor, Teardrop]"; + mes "Huh? Where's the bow that I gave you for the practical tests?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "If you don't return it, I can't cancel you job change request."; + close; + } + } + } else if (job_ranger01 == 7) { + 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 "Do 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: + mes "[Test Instructor, Teardrop]"; + mes "Then I'll send you, please be well."; + close2; + warp "job3_rang01",89,38; + end; + } + } + mes "Wow. Who's this?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "It seems that your dull eyes became somewhat keen now?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Then, enjoy an adventure well as a Ranger."; + close; + } + mes "Good to gooooooooooooooo!!!!!!"; + next; + mes "[Test Instructor]"; + mes "Huh? What are you? Where are you from?"; + mes "Don't hang around here doing nothing. This is my area!"; + close; +L_Start: + if (getmercinfo(1)) { + mes "[Test Instructor, Teardrop]"; + mes "Stop!"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Where do you think you're going with that 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 (getarg(0) == 1) { + if (countitem(12380)) { + mes "[Test Instructor, Teardrop]"; + mes "What, what is this?"; + mes "You shouldn't keep this around!"; + delitem 12380,countitem(12380); //Desert_Wolf_Babe_Scroll + next; + } + if (countitem(12258)) { + 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); //Bombring_Box + next; + } + if (countitem(6156)) { + 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); //Approval_Report + next; + } + } + if (Weight > 500) { + 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; + } + mes "[Test Instructor, Teardrop]"; + mes "See, for the last time, I warn you that cheating is strictly banned."; + next; + if (countitem(1750) < 100) { + mes "[Test Instructor, Teardrop]"; + mes "Okay, once again I'll provide you with arrows, then I'll let you in."; + set .@arrow,1; + next; + } + mes "[Test Instructor, Teardrop]"; + mes "Good luck."; + mes "Become a Ranger and we shall meet again."; + set job_ranger01,6; + if (getarg(0) == 0) + changequest 8258,8259; + else { + erasequest 8260; + erasequest 8261; + } + if (.@arrow) getitem 1750,100; //Arrow + close2; + warp "job3_rang01",30,36; + 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: + mes "[Staff DTS]"; + mes "If you want to continue with the practical test, please enter into the chat room."; + close; + 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; //Bow__ + set job_ranger01,0; + for(set .@i,8254; .@i<=8262; set .@i,.@i+1) + if (checkquest(.@i) > -1) erasequest .@i; + close; + close2; + warp "alberta",117,57; + end; + } + mes "[Staff DTS]"; + mes "Huh? Where's the bow that I gave you for the practical tests?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "If you don't return it, I can't cancel you job change request."; + close; + } + } + while (1) { + 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."; + next; + break; + 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 hidden equipment, and survive, you will be sent to the 3rd test field."; + next; + break; + case 3: + mes "[Staff DTS]"; + mes "The 3rd is to test how you can efficiently use a wolf which is given Rangers."; + next; + mes "[Staff DTS]"; + mes "The tester is provided with disposable wolf 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."; + next; + break; + case 4: + mes "[Staff DTS]"; + mes "When you want to progress with the practical test, please enter into the chat room."; + close; + } + } + end; +OnInit: + waitingroom "Practical Test Waiting Room",20,"Test Waiting Room#jr_03::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_rang02,100,95,0 script Test Supervisor#jr_04 139,{ +OnInit: + set $@job_rang_point01,0; + disablenpc "Test Supervisor#jr_04"; + end; +OnEnable: + enablenpc "Test Supervisor#jr_04"; + set $@job_rang_point01,0; + initnpctimer; + end; +OnDisable: + stopnpctimer; + disablenpc "Test Supervisor#jr_04"; + end; +OnStart: + stopnpctimer; + donpcevent "CallCorrectAnswer#jr::OnEnable"; + donpcevent "CallWrongAnswer#jr::OnEnable"; + donpcevent "First Test Timer#jr_05::OnEnable"; + disablenpc "Test Supervisor#jr_04"; + end; +OnTimer3000: + mapannounce "job3_rang02","Test Supervisor, Notice : Welcome to the Ranger Job Change Test. I am Test Supervisor, Notice.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer6000: + mapannounce "job3_rang02","Test Supervisor, Notice : The 1st test is to test your eyesight and accuracy.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0xffb6c1"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer18000: + stopnpctimer; + mapannounce "job3_rang02","Test Supervisor, Notice : Then let's begin the test. Good luck.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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: + enablenpc "First Test Timer#jr_05"; + set $@job_rang_point01,0; + set $@job_rang_text01,0; + setarray .text$[1], + "First","Second","Third","Fourth","Fifth","Sixth","Seventh","Eighth","Ninth","Tenth","Eleventh", + "Twelfth","Thirteenth","Fourteenth","Fifteenth","Sixteenth","Seventeenth","Eighteenth","Nineteenth","Last"; + initnpctimer; + end; +OnDisable: + stopnpctimer; + disablenpc "First Test Timer#jr_05"; + end; +OnTimer8000: +OnTimer15000: +OnTimer22000: +OnTimer29000: +OnTimer36000: +OnTimer43000: +OnTimer50000: +OnTimer57000: +OnTimer64000: +OnTimer71000: +OnTimer78000: +OnTimer85000: +OnTimer92000: +OnTimer99000: +OnTimer106000: +OnTimer113000: +OnTimer120000: +OnTimer127000: +OnTimer134000: +OnTimer141000: + donpcevent "CallCorrectAnswer#jr::OnReset"; + donpcevent "CallWrongAnswer#jr::OnReset"; + end; +OnTimer3000: +OnTimer10000: +OnTimer17000: +OnTimer24000: +OnTimer31000: +OnTimer38000: +OnTimer45000: +OnTimer52000: +OnTimer59000: +OnTimer66000: +OnTimer73000: +OnTimer80000: +OnTimer87000: +OnTimer94000: +OnTimer101000: +OnTimer108000: +OnTimer115000: +OnTimer122000: +OnTimer129000: +OnTimer136000: + set $@job_rang_text01,$@job_rang_text01+1; + mapannounce "job3_rang02","Test Supervisor, Notice : "+.text$[$@job_rang_text01]+" Wave! Kill the Poring!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + donpcevent "CallCorrectAnswer#jr::OnStart"; + end; +OnTimer143000: + mapannounce "job3_rang02","Test Supervisor, Notice : Well done! Now for your test result!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer146000: + if ($@job_rang_point01 < 1) + set $@job_rang_point01,0; + mapannounce "job3_rang02","Test Supervisor, Notice : I'll announce the test result. The number of Porings you killed out of 20 is ..." + $@job_rang_point01 + "!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer149000: + if ($@job_rang_point01 > 14) { + mapannounce "job3_rang02","Test Supervisor, Notice : Congratulations! You've killed " + $@job_rang_point01 + " out of 20 Porings total, so you've passed the 1st test. I will send you to the 2nd test field.",bc_map,"0xffb6c1"; //FW_NORMAL 12 0 0 + mapwarp "job3_rang02","job3_rang02",113,58; + donpcevent "Second Test Timer#jr_08::OnEnable"; + stopnpctimer; + } 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer151000: + mapannounce "job3_rang02","Test Supervisor, Notice : The adventurer's 1st test ends now. Please make yourself more capable. Goodbye.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + mapwarp "job3_rang02","tur_dun01",93,165; + end; +OnTimer154000: + mapwarp "job3_rang02","tur_dun01",93,165; + donpcevent "CallCorrectAnswer#jr::OnDisable"; + donpcevent "CallWrongAnswer#jr::OnDisable"; + end; +OnTimer157000: + stopnpctimer; + mapwarp "job3_rang02","tur_dun01",93,165; + set $@job_rang_point01,0; + set $@job_rang_text01,0; + donpcevent "Test Supervisor#jr_04::OnDisable"; + donpcevent "Test Waiting Room#jr_03::OnEnable"; + donpcevent "First Test Timer#jr_05::OnDisable"; + end; +} + +job3_rang02,104,95,0 script CallCorrectAnswer#jr 139,{ +OnInit: +OnDisable: + disablenpc "CallCorrectAnswer#jr"; + end; +OnEnable: + enablenpc "CallCorrectAnswer#jr"; + end; +OnStart: + setarray .@label$[0],"OnOne","OnTwo","OnThree","OnFour","OnFive","OnSix","OnSeven","OnEight"; + setarray .@x[0],35,44,54,35,54,35,44,54; + setarray .@y[0],58,58,58,49,49,39,39,39; + setarray .@id[0],1002,1031,1242,1113; + set .@i, rand(8); + donpcevent "CallWrongAnswer#jr::"+.@label$[.@i]; + monster "job3_rang02",.@x[.@i],.@y[.@i],"Poring",.@id[rand(4)],1,"CallCorrectAnswer#jr::OnMyMobDead"; + end; +OnReset: + killmonster "job3_rang02","CallCorrectAnswer#jr::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,"0xffb6c1"; //FW_NORMAL 12 0 0 + end; +} + +job3_rang02,106,95,0 script CallWrongAnswer#jr 139,{ +OnInit: +OnDisable: + disablenpc "CallWrongAnswer#jr"; + end; +OnEnable: + enablenpc "CallWrongAnswer#jr"; + end; +OnOne: + monster "job3_rang02",44,58,"Poing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,58,"Horing",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,49,"Poporing",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,49,"Puring",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,39,"Poriring",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,39,"Marine",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,39,"Dropporing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + end; +OnTwo: + monster "job3_rang02",35,58,"Poyong",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,58,"Puding",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,49,"Porin",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,49,"Poja",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,39,"Poporing",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,39,"Drops",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,39,"Pororing",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + end; +OnThree: + monster "job3_rang02",35,58,"Poporing",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,58,"Podaegi",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,49,"Poing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,49,"Poja",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,39,"Maporing",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,39,"Drops",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,39,"Pororing",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + end; +OnFour: + monster "job3_rang02",35,58,"Poing",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,58,"Hoing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,58,"Marine",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,49,"Drops",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,39,"Puding",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,39,"Droporing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,39,"Marine",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + end; +OnFive: + monster "job3_rang02",35,58,"Popuri",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,58,"Poporing",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,58,"Mariring",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,49,"Poyong",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,39,"Marine",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,39,"Puding",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,39,"Hoing",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + end; +OnSix: + monster "job3_rang02",35,58,"Pork",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,58,"Drops",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,58,"Poja",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,49,"Poporing",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,49,"Horing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,39,"Marun",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,39,"Drawing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + end; +OnSeven: + monster "job3_rang02",35,58,"Marine",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,58,"Pororing",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,58,"Pork",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,49,"Porin",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,49,"Poporing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,39,"Horin",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,39,"Puding",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + end; +OnEight: + monster "job3_rang02",35,58,"Marun",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,58,"Poja",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,58,"Drops",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,49,"Poing",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,49,"Puding",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,39,"Horing",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,39,"Poporing",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + end; +OnReset: + killmonster "job3_rang02","CallWrongAnswer#jr::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,"0xffb6c1"; //FW_NORMAL 12 0 0 + 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"; + donpcevent "CallCorrectAnswer#jr::OnDisable"; + donpcevent "CallWrongAnswer#jr::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,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer6000: + mapannounce "job3_rang02","Test Supervisor, Caution : The Second Test is about test performance ability and the effective usage of traps.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0xffb6c1"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0xffb6c1"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer26000: + mapannounce "job3_rang02","Test Supervisor, Caution : Well the test begins now!! Start going!!!!!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + donpcevent "Staff Rust#jr_09::OnEnable"; + end; +OnTimer80000: + mapannounce "job3_rang02","Test Supervisor, Caution : 1 Minute has passed. You are coming to see me, right?",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer140000: + mapannounce "job3_rang02","Test Supervisor, Caution : 2 Minutes have passed. Getting here on time should be your top priority.?",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer170000: + mapannounce "job3_rang02","Test Supervisor, Caution : 2 Minutes and 30 Seconds have passed. There's not much time left!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer173000: + mapannounce "job3_rang02","Test Supervisor, Caution : Hurry up! Hurry up! Come on.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer205000: + mapannounce "job3_rang02","Test Supervisor, Caution : 5 Seconds remaining!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer206000: + mapannounce "job3_rang02","Test Supervisor, Caution : 4 Seconds remaining!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer207000: + mapannounce "job3_rang02","Test Supervisor, Caution : 3 Seconds remaining!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer208000: + mapannounce "job3_rang02","Test Supervisor, Caution : 2 Seconds remaining!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer209000: + mapannounce "job3_rang02","Test Supervisor, Caution : 1 Second remaining!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer210000: + mapannounce "job3_rang02","Test Supervisor, Caution : Ugh... What are you doing? Your time is up!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer213000: + mapannounce "job3_rang02","Test Supervisor, Caution : You couldn't get here on time, therefore the 2nd practical test ends here!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + mapwarp "job3_rang02","tur_dun01",93,165; + donpcevent "Staff Rust#jr_09::OnDisable"; + donpcevent "Summon Monster#jr_10::OnDisable"; + donpcevent "Test Supervisor#jr_11::OnDisable"; + end; +OnTimer223000: + stopnpctimer; + donpcevent "Test Waiting Room#jr_03::OnEnable"; + donpcevent "Second Test Timer#jr_08::OnDisable"; + end; +} + +job3_rang02,111,56,3 script Staff Rust#jr_09 89,{ + if (job_ranger01 == 6) { + if (countitem(12258) < 1) { + 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."; + if (countitem(6156)) { + getitem 12258,5; //Bombring_Box + close; + } + next; + emotion e_an; + 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, (MaxWeight-Weight-2000)/10; //Approval_Report + getitem 12258,10; //Bombring_Box + getitem 569,100; //Novice_Potion + 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 "Excuse me, 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#jr_09"; + end; +OnEnable: + enablenpc "Staff Rust#jr_09"; + donpcevent "Summon Monster#jr_10::OnEnable"; + donpcevent "Test Supervisor#jr_11::OnEnable"; + end; +OnDisable: + disablenpc "Staff Rust#jr_09"; + end; +} + +job3_rang02,136,21,0 script Summon Monster#jr_10 139,5,5,{ +OnInit: + disablenpc "Summon Monster#jr_10"; + end; +OnEnable: + enablenpc "Summon Monster#jr_10"; + monster "job3_rang02",112,45,"Mandragora",1020,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",114,45,"Mandragora",1020,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",116,45,"Mandragora",1020,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",110,30,"Flora",1118,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",112,30,"Flora",1118,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",114,30,"Flora",1118,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",116,30,"Flora",1118,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",116,41,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",112,41,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",111,34,"Flora",1118,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",117,22,"Muscipular",1780,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",114,21,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",115,23,"Parasite",1500,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",135,25,"Drosera",1781,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",135,23,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",137,36,"Drosera",1781,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",139,34,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",144,41,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",152,41,"Parasite",1500,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",168,49,"Drosera",1781,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",165,48,"Muscipular",1780,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",160,56,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",158,56,"Drosera",1781,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",170,53,"Flora",1118,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",168,56,"Parasite",1500,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",174,63,"Muscipular",1780,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",176,60,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",170,59,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",126,19,"Nepenthes",1988,1,"Summon Monster#jr_10::OnMyMobDead"; + end; +OnDisable: + killmonster "job3_rang02","Summon Monster#jr_10::OnMyMobDead"; + disablenpc "Summon Monster#jr_10"; + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnMyMobDead: + end; +} + +job3_rang02,180,78,3 script Test Supervisor#jr_11 882,1,1,{ + mes "[Test Supervisor, Caution]"; + mes "Come, come near, nearer, nearer!!"; + close; +OnInit: + disablenpc "Test Supervisor#jr_11"; + end; +OnEnable: + enablenpc "Test Supervisor#jr_11"; + end; +OnDisable: + stopnpctimer; + disablenpc "Test Supervisor#jr_11"; + end; +OnTouch: + if (job_ranger01 == 6) { + if (countitem(12258)) { + 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; + } + if (countitem(6156) > 0) { + mes "[Test Supervisor, Caution]"; + mes "You've arrived safely!!!"; + donpcevent "Second Test Timer#jr_08::OnDisable"; + donpcevent "Staff Rust#jr_09::OnDisable"; + donpcevent "Summon Monster#jr_10::OnDisable"; + initnpctimer; + next; + mes "[Test Supervisor, Caution]"; + mes "What are those documents?"; + emotion e_no; + next; + select("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); //Approval_Report + erasequest 8260; + next; + mes "[Test Supervisor, Caution]"; + mes "I've never imagined this could be a test..."; + emotion e_sob; + 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; +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,"0xffb6c1"; //FW_NORMAL 12 0 0 + 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,"0xffb6c1"; //FW_NORMAL 12 0 0 + end; +OnTimer93000: + mapannounce "job3_rang02","Test Supervisor, Caution : Hurry up! Hurry up! Come on.",bc_map,"0xffb6c1"; //FW_NORMAL 12 0 0 + end; +OnTimer96000: + mapannounce "job3_rang02","Test Supervisor, Caution : You couldn't get here on time, therefore the 2nd practical test ends here!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer99000: + mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidity! Start over from the beginning! You fool!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + mapwarp "job3_rang02","tur_dun01",93,165; + end; +OnTimer102000: + mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidity! Start over from the beginning! You fool!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + mapwarp "job3_rang02","tur_dun01",93,165; + donpcevent "Staff Rust#jr_09::OnDisable"; + donpcevent "Summon Monster#jr_10::OnDisable"; + donpcevent "Second Test Timer#jr_08::OnDisable"; + end; +OnTimer105000: + stopnpctimer; + donpcevent "Test Waiting Room#jr_03::OnEnable"; + donpcevent "Test Supervisor#jr_11::OnDisable"; + end; +} + +job3_rang02,104,93,0 script Third Test Timer#jr_12 139,{ +OnInit: + disablenpc "Third Test Timer#jr_12"; + end; +OnEnable: + enablenpc "Third Test Timer#jr_12"; + initnpctimer; + end; +OnDisable: + stopnpctimer; + set $@job_rang_point03,0; + disablenpc "Third Test Timer#jr_12"; + end; +OnTimer3000: + mapannounce "job3_rang02","Test Supervisor, Freeze : Well, then let's start the 3rd practical test! Are you ready?",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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 or more points, you pass the practical test, so go for it! Then I'll start!!!!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + set .n,14; + end; +OnTimer15000: +OnTimer20000: +OnTimer25000: +OnTimer30000: +OnTimer35000: +OnTimer40000: +OnTimer45000: +OnTimer50000: +OnTimer55000: +OnTimer60000: +OnTimer65000: +OnTimer70000: +OnTimer75000: +OnTimer80000: +OnTimer85000: +OnTimer90000: +OnTimer95000: +OnTimer100000: +OnTimer105000: +OnTimer110000: + donpcevent "Egg Bomb#"+(.n+rand(3))+"::OnEnable"; + if (.n == 26) set .n,14; + else set .n,.n+3; + end; +OnTimer113000: + mapannounce "job3_rang02","Test Supervisor, Freeze : The test is ooooooooooooooveeeeerrr!!!!!!!!!!!!!!!!!!!!!!!!!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + for(set .@i,14; .@i<=28; set .@i,.@i+1) + donpcevent "Egg Bomb#"+.@i+"::OnDisable"; + set .n,0; + end; +OnTimer116000: + mapannounce "job3_rang02","Test Supervisor, Freeze : Well let's see the result?!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer119000: + mapannounce "job3_rang02","Test Supervisor, Freeze : Your score is ..." + $@job_rang_point03 + " out of 20!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer121000: + if ($@job_rang_point03 > 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + set $@job_rang_point03,0; + mapwarp "job3_rang02","tur_dun01",93,165; + donpcevent "Test Supervisor#jr_13::OnDisable"; + end; +OnTimer130000: + stopnpctimer; + set $@job_rang_point03,0; + donpcevent "Test Waiting Room#jr_03::OnEnable"; + donpcevent "Third Test Timer#jr_12::OnDisable"; + end; +} + +job3_rang02,251,49,3 script Test Supervisor#jr_13 732,{ + mes "[Test Supervisor, Freeze]"; + if (job_ranger01 == 6) { + if (checkquest(8261) == -1) { + 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; //Desert_Wolf_Babe_Scroll + setquest 8261; + close; + } + if (getmercinfo(1) == 2034) { + erasequest 8261; + 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; + close2; + donpcevent "Test Supervisor#jr_13::OnDisable"; + donpcevent "Third Test Timer#jr_12::OnEnable"; + end; + } + if (countitem(12380) < 1) { + 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; //Desert_Wolf_Babe_Scroll + close; + } + 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 "Who are you?"; + next; + mes "[Test Supervisor, Freeze]"; + mes "This area is for the Ranger Job Change test!"; + mes "You are not authorized to be here, please get out!"; + close; +OnInit: + disablenpc "Test Supervisor#jr_13"; + end; +OnEnable: + enablenpc "Test Supervisor#jr_13"; + initnpctimer; + donpcevent "Second Test Timer#jr_08::OnDisable"; + donpcevent "Staff Rust#jr_09::OnDisable"; + donpcevent "Summon Monster#jr_10::OnDisable"; + donpcevent "Test Supervisor#jr_11::OnDisable"; + end; +OnDisable: + stopnpctimer; + disablenpc "Test Supervisor#jr_13"; + end; +OnTimer3000: + mapannounce "job3_rang02","Test Supervisor, Freeze : Welcome to the 3rd practical test field! I am the 3rd practical Test Supervisor Freeze!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer9000: + mapannounce "job3_rang02","Test Supervisor, Freeze : Don't hesitate and let's begin!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer63000: + mapannounce "job3_rang02","Test Supervisor, Freeze : Don't hesitate and let's begin!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer120000: + mapannounce "job3_rang02","Test Supervisor, Freeze : Why aren't you starting the test?",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + 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,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnTimer127000: + set $@job_rang_point03,0; + mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but try again!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + mapwarp "job3_rang02","tur_dun01",93,165; + end; +OnTimer130000: + mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but try again!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + mapwarp "job3_rang02","tur_dun01",93,165; + end; +OnTimer133000: + stopnpctimer; + donpcevent "Third Test Timer#jr_12::OnDisable"; + donpcevent "Test Waiting Room#jr_03::OnEnable"; + donpcevent "Test Supervisor#jr_13::OnDisable"; + end; +} + +- script Egg Bomb#0 -1,{ +OnInit: + disablenpc strnpcinfo(0); + end; +OnEnable: + enablenpc strnpcinfo(0); + initnpctimer; + getmapxy(.@map$,.@x,.@y,1); + monster "job3_rang02",.@x,.@y,"Egg Bomb",1047,1,strnpcinfo(0)+"::OnMyMobDead"; + switch(atoi(strnpcinfo(2))%3) { + case 0: set .@str$,"Hey, I am going to explode. What are you going to do?"; break; + case 1: set .@str$,"I... no, I can't stand anymore!!"; break; + case 2: set .@str$,"I am almost done now... Don't stop me."; break; + } + mapannounce "job3_rang02","Egg Bomb : "+.@str$,bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + end; +OnDisable: + stopnpctimer; + killmonster "job3_rang02",strnpcinfo(0)+"::OnMyMobDead"; + disablenpc strnpcinfo(0); + end; +OnMyMobDead: + set $@job_rang_point03, $@job_rang_point03+1; + switch(atoi(strnpcinfo(2))%3) { + case 0: set .@str$,"The world is meaningless and my dream is so far away..."; break; + case 1: set .@str$,"Don't be relieved. Misery always comes from carelessness."; break; + case 2: set .@str$,"Alas, it was only a dream for a short time..."; break; + } + mapannounce "job3_rang02","Egg Bomb : "+.@str$,bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + donpcevent strnpcinfo(0)+"::OnDisable"; + end; +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!",bc_map,"0xFF9900"; //FW_NORMAL 12 0 0 + donpcevent strnpcinfo(0)+"::OnDisable"; + end; +} +job3_rang02,246,42,0 duplicate(Egg Bomb#0) Egg Bomb#14 139 +job3_rang02,249,46,0 duplicate(Egg Bomb#0) Egg Bomb#15 139 +job3_rang02,256,43,0 duplicate(Egg Bomb#0) Egg Bomb#16 139 +job3_rang02,243,54,0 duplicate(Egg Bomb#0) Egg Bomb#17 139 +job3_rang02,246,58,0 duplicate(Egg Bomb#0) Egg Bomb#18 139 +job3_rang02,255,56,0 duplicate(Egg Bomb#0) Egg Bomb#19 139 +job3_rang02,260,48,0 duplicate(Egg Bomb#0) Egg Bomb#20 139 +job3_rang02,244,53,0 duplicate(Egg Bomb#0) Egg Bomb#21 139 +job3_rang02,254,50,0 duplicate(Egg Bomb#0) Egg Bomb#22 139 +job3_rang02,241,41,0 duplicate(Egg Bomb#0) Egg Bomb#23 139 +job3_rang02,259,41,0 duplicate(Egg Bomb#0) Egg Bomb#24 139 +job3_rang02,256,52,0 duplicate(Egg Bomb#0) Egg Bomb#25 139 +job3_rang02,259,58,0 duplicate(Egg Bomb#0) Egg Bomb#26 139 +job3_rang02,254,52,0 duplicate(Egg Bomb#0) Egg Bomb#27 139 +job3_rang02,247,42,0 duplicate(Egg Bomb#0) Egg Bomb#28 139 + +job3_rang01,90,43,3 script Ranger Master#jr_29 832,{ + mes "[Ranger Master, Neveragain]"; + if (job_ranger01 < 6) { + mes "... ...Huh?"; + mes "It's weird... How did you get here?"; + next; + mes "[Ranger Master, Neveragain]"; + mes "You don't seem to belong here..."; + next; + mes "[Ranger Master, Neveragain]"; + mes "Go away."; + mes "You are not supposed to be here."; + close2; + warp "alberta",117,57; + end; + } else if (job_ranger01 == 6 || job_ranger01 == 7) { + if (BaseLevel < 99 || JobLevel < 50) { + mes "No."; + mes "I can tell just by looking at you that you seem to be inexperienced."; + 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; + } + mes "Congratulations!"; + mes "You've completed all the rough practical tests!"; + if (job_ranger01 == 6) { + set job_ranger01,7; + changequest 8259,8262; + } + 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; + if(select("Wait a minute:I am ready") == 1) { + mes "[Ranger Master, Neveragain]"; + mes "I am not running away so take your time."; + close; + } + mes "[Ranger Master, Neveragain]"; + if (checkfalcon()) { + mes "Didn't you dismiss your falcon??"; + next; + mes "[Ranger Master, Neveragain]"; + mes "Please dismiss your falcon, and come back to me."; + close; + } + if (SkillPoint != 0) { + mes "I think you need to learn more."; + next; + mes "[Ranger Master Neveragain]"; + mes "Use up all of your skill points before continuing on."; + close; + } + mes "Good. No falcon and you've used up all your skill points."; + next; + 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; + if(select("No:Yes!") == 1) { + mes "[Ranger Master, Neveragain]"; + mes "...Um? 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; + } + mes "[Ranger Master, Neveragain]"; + if (ismounting()) { + mes "You are on a riding pet,"; + mes "so you cannot change your job."; + mes "Please unequip your riding pet and try again!"; + close; + } + if (BaseJob != Job_Hunter) { + mes "Wait, 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 are not supposed to be here. Get out!"; + set job_ranger01,0; + for(set .@i,8254; .@i<=8262; set .@i,.@i+1) + if (checkquest(.@i) > -1) erasequest .@i; + close2; + warp "alberta",117,57; + end; + } + mes "Your firm answer seems very trustworthy!"; + next; + nude; + if (countitem(1703) < 1) { + mes "[Ranger Master, Neveragain]"; + mes "Umm?"; + mes "You need to return the borrowed stuff."; + mes "Where is the bow that was given to you for the job change test?"; + close; + } + 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; //Bow__ + set job_ranger01,8; + completequest 8262; + jobchange roclass(eaclass()|EAJL_THIRD); + getitem 5748,1; //Sniper_Goggle + getitem 2795,1; //Green_Apple_Ring + getitem 6124,1; //Wolf's_Flute + close; + } + 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: + 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 Worker#job_ranger 88,{ + 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 "Test Waiting Room#jr_03::OnEnable"; + close; + case 2: + mes "Disabled Waiting Room"; + donpcevent "Test Waiting Room#jr_03::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 "CallCorrectAnswer#jr::OnReset"; + donpcevent "CallWrongAnswer#jr::OnReset"; + donpcevent "CallCorrectAnswer#jr::OnDisable"; + donpcevent "CallWrongAnswer#jr::OnDisable"; + close; + case 5: + mes "2nd Test Enabled"; + donpcevent "Second Test Timer#jr_08::OnEnable"; + close; + case 6: + mes "2nd Test Disabled"; + donpcevent "Second Test Timer#jr_08::OnDisable"; + close; + case 7: + mes "3rd Test has been Enabled"; + donpcevent "Third Test Timer#jr_12::OnEnable"; + close; + case 8: + mes "3rd Test has been Disabled"; + donpcevent "Third Test Timer#jr_12::OnDisable"; + for(set .@i,14; .@i<=28; set .@i,.@i+1) + donpcevent "Egg Bomb#"+.@i+"::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..f6638bbc3 --- /dev/null +++ b/npc/re/jobs/3-1/rune_knight.txt @@ -0,0 +1,2166 @@ +//===== rAthena Script ======================================= +//= Rune Knight Job Quest +//===== By: ================================================== +//= L0ne_W0lf, Muad_Dib +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Job change Quest from Knight / Lord Knight -> Rune Knight. +//===== Additional Comments: ================================= +//= 1.0 First version. +//= 1.1 Added forgoten Header. [Masao] +//= 1.2 Added Energy Rune item reward. [Masao] +//= 1.3 Updated script, optimized. [Euphy] +//= 1.3a Added 'npcskill' command. [Euphy] +//= 1.4 Fixed a few bugs. [Euphy] +//============================================================ + +prt_in,162,24,3 script Splendid-Looking Knight 470,2,2,{ + mes "[Rune Knight Manuel]"; + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + mes "You 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 "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; + if(select("Sure, let's have a drink.:I refuse.") == 2) { + mes "[Rune Knight Manuel]"; + mes "Are you sure? You don't know the true elegance of these drinks..."; + close; + } + mes "[Rune Knight Manuel]"; + if (BaseJob == Job_Knight) { + 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; + mes "[Rune Knight Manuel]"; + if (BaseLevel > 98 && JobLevel > 49) { + 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 "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 "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; + } else if (job_rune_edq == 1) { + 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 "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,2,2,{ + mes "[Guide, Jungberg]"; + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + 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 (BaseJob != Job_Knight) { + mes "I am the only knight who's keeping the way of the Swordsman 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; + } + if (job_rune_edq < 2) { + 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; + if (job_rune_edq == 0) { + switch(select("Who are you?:What are you doing here?:Cancel.")) { + case 1: + mes "[Guide, Jungberg]"; + mes "I am the only knight who's keeping the way of the Swordsman in this cursed place Glast Heim."; + next; + mes "[Guide, Jungberg]"; + mes "If you also follow the way of the Swordsman our paths will most certainly cross again when you have reached your full potential."; + close; + case 2: + 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; + case 3: + close; + } + } else if (job_rune_edq == 1) { + 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 any more 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; + } + } + } else if (job_rune_edq == 2) { + 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 "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; + } +} + +gl_knt02,150,55,3 script Rune Knight Staff 83,2,2,{ + mes "[Rune Knight Staff]"; + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + 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 (BaseJob == Job_Knight) { + if (job_rune_edq == 1) { + 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; + } else if (job_rune_edq > 1) { + 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; + } + } + mes "Wait! This place is prohibited. I don't mind you wandering about but, don't ever disturb me again."; + close; +} + +job3_rune01,80,60,3 script Rune Knight Captain 470,2,2,{ + if (checkweight(1201,1) == 0 || 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) { + mes "[Captain Tigris]"; + if (job_rune_edq == 23) { + 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; + mes "[Captain Tigris]"; + if (job_rune_edq3 == 0) { + mes "Hm... This is perfect. You've come here with very rare good records."; + set .@item,2140; //Energy_Rune_Guard + } else if (job_rune_edq3 > 2 && job_rune_edq3 < 6) { + mes "Hmm... This is great. You've come here with decent records."; + set .@item,2794; //Magic_Stone_Ring + } else { + mes "Hmm, not bad. It's not a great record but you tried your best."; + set .@item,15002; //Rune_Plate + } + next; + mes "[Captain Tigris]"; + mes "Here, take this. It's a gift that I like to give to the younger generation like yourself."; + getitem .@item,1; //Energy_Rune_Guard + set job_rune_edq,24; + close; + } + 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 (BaseJob == Job_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; + } else 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; + } else 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; + } else 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 Swordsman 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; + } else 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; + } else 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; + } else 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; + } else 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; + callsub L_Warning; + 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 (SkillPoint != 0 || checkriding()) { + mes "[Captain Tigris]"; + mes "Weren't you listening?"; + next; + callsub L_Warning; + mes "[Captain Tigris]"; + mes "If you understood, then make your preparations and come back."; + close; + } + if (BaseLevel < 99 || JobLevel < 50) { + mes "[Captain Tigris]"; + mes "It seems not enough?"; + close; + } + if (ismounting()) { + mes "[Captain Tigris]"; + mes "Please unequip your mount and come back again."; + close; + } + 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; + getitem 5746,1; //Rune_Circlet + getitem 2795,1; //Green_Apple_Ring + set job_rune_edq,23; + completequest 3219; + jobchange roclass(eaclass()|EAJL_THIRD); + mes "[Captain Tigris]"; + mes "Congratulations."; + mes "You are now an honorable Rune Knight."; + mes "Remember this day from this day forth!"; + 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; + case 2: + close; + } + } + } + mes "[Captain Tigris]"; + mes "I don't know how you were able to get here. But it looks like you've come to a place where you shouldn't be."; + next; + mes "[Captain Tigris]"; + mes "Go back to where you belong."; + close2; + warp "gl_knt02",150,55; + end; +L_Warning: + 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 remaining 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; + return; +} + +job3_rune01,90,50,3 script Rune Knight Lunarea 469,2,2,{ + 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 (BaseJob == Job_Knight) { + 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: + callsub L_Test,0; + close; + case 2: + close; + } + } else 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) { + 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; + } + callsub L_Test,1; + close; + case 2: + close; + } + } else 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; + } else 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; + } + } + 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; +L_Test: + mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal."; + if ($@job_rune_test1 == 0) { + if (getarg(0) == 0) { + set job_rune_edq,4; + changequest 3202,3203; + setquest 3220; // ? + } else if (checkquest(3220) > -1) { + erasequest 3220; + setquest 3220; + } + set $@job_rune_test1,1; + close2; + warp "job3_rune02",38,40; + end; + } + // Custom translation + 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 one by one."; + next; + mes "[Rune Knight, Lunarea]"; + mes "Just wait 5 minutes and it should be your turn."; + close; +} + +job3_rune01,55,50,3 script Rune Knight, Renoa 469,2,2,{ + mes "[Rune Knight, Renoa]"; + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + 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 (BaseJob == Job_Knight) { + if (job_rune_edq < 7) { + 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; + } else if (job_rune_edq == 7) { + 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; + } else if (job_rune_edq > 7 && job_rune_edq < 11) { + 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; + } else if (job_rune_edq == 11) { + 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_book,0; + set job_rune_edq,12; + changequest 3206,3207; + close; + } else if (job_rune_edq > 11 && job_rune_edq < 14) { + 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; + } + } else if (job_rune_edq == 14) { + 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 it's 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; + } else if (job_rune_edq == 15) { + 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 "Hey! I think I told you to make at least 20."; + close; + } + 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; + } else { + 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."; + mes "I'll hand over all the made 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; + if (job_rune_edq2 == 20) + changequest 3214,3215; + close; + } + } + mes "Become a proud Rune Knight."; + close; + } + 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? Don't talk in such a manner! You make us sound like criminals."; + next; + mes "[Rune Knight, Renoa]"; + mes "Well, there is an unidentified person here."; + next; + mes "[Captain Tigris]"; + mes "Ah... hey, friend, come over here and let us talk for a minute..."; + 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; + } else if (job_rune_edq == 15) { + 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; + if(select("Use the Rune Heating Furnace:Stop.") == 2) close; + switch(rand(24)) { + case 0: setarray .@str$[0],"Ehwaz","This red hot spiral is..."; break; + case 1: setarray .@str$[0],"Osilla","The rune flashing with this violet oblique line shape is..."; break; + case 2: setarray .@str$[0],"Mannaz","This live emerald diamond rune is..."; break; + case 3: setarray .@str$[0],"Ansuz","The rune flashing with an emerald round shape is..."; break; + case 4: setarray .@str$[0],"Hagalaz","The rune flashing with this sky-blue star shape is..."; break; + case 5: setarray .@str$[0],"Kano","The rune flashing with a red diamond shape is..."; break; + case 6: setarray .@str$[0],"Rhydo","The rune flashing with this sky-blue oblique line shape is..."; break; + case 7: setarray .@str$[0],"Turisus","The rune flashing with this yellow round shape is..."; break; + case 8: setarray .@str$[0],"Dagaz","The rune flashing with this emerald spiral line shape is..."; break; + case 9: setarray .@str$[0],"Sowilo","The rune flashing with this sky-blue fan-shape is..."; break; + case 10: setarray .@str$[0],"Laguz","The rune flashing with this yellow diamond shape is..."; break; + case 11: setarray .@str$[0],"Isia","The rune flashing with this violet spiral line is..."; break; + case 12: setarray .@str$[0],"Pertz","The rune flashing with this silver spiral shape is..."; break; + case 13: setarray .@str$[0],"Verkana","The rune flashing with this gold star shape is..."; break; + case 14: setarray .@str$[0],"Gebo","The rune flashing with this yellow cone shape is..."; break; + case 15: setarray .@str$[0],"Algiz","The rune flashing with this emerald oblique line is..."; break; + case 16: setarray .@str$[0],"Arwez","The rune flashing with this gray diamond is..."; break; + case 17: setarray .@str$[0],"Teiwaz","The rune flashing with this gold sphere is..."; break; + case 18: setarray .@str$[0],"Wunjo","The rune flashing with this emerald star shape is..."; break; + case 19: setarray .@str$[0],"Jera","The rune flashing with this yellow sphere is..."; break; + case 20: setarray .@str$[0],"Nosiege","The rune flashing with this yellow fan-shape is..."; break; + case 21: setarray .@str$[0],"Ingz","The rune flashing with this violet diamond shape is..."; break; + case 22: setarray .@str$[0],"Fehu","The rune flashing with this silver round shape is..."; break; + case 23: setarray .@str$[0],"Urj","The rune flashing with this violet spiral is..."; break; + } + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes .@str$[1]; + next; + input .@inputstr$; + if (.@inputstr$ == .@str$[0]) { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modeled rune stone match perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 "+.@str$[0]+" rune was created normally."; + set job_rune_edq2, job_rune_edq2+1; + close; + } + if (rand(1,(6 + job_rune_edq3)) == 3) { + mes "[Rune Knight Renoa]"; + mes "I was lucky. The image of the rune stone in my head and the modelled rune stone didn't match but it's made normally. This case is rare."; + next; + mes "[Rune Knight Renoa]"; + mes "1 "+.@str$[0]+" rune was created normally."; + set job_rune_edq2, job_rune_edq2+1; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modeled rune stone didn't match so the success rate just got lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone has failed... Please try again."; + set job_rune_edq3, job_rune_edq3+1; + 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 permission."; + close; + } + while(1) { + switch(select("The birth of Rune Knights:Runes and Magic Energy:Stop Reading")) { + case 1: + set .@book1,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 swordsman 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 unsuited 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 imbue their swords with rune stones became known as Rune Knights."; + next; + break; + case 2: + set .@book2,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 (.@book1 && .@book2 && job_rune_edq < 11 && (job_rune_edq_book & 1) == 0) { + set job_rune_edq_book, job_rune_edq_book | 1; + set job_rune_edq, job_rune_edq+1; + } + close; + } + } +} + +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 permission."; + close; + } + while(1) { + switch(select("The principle use of Runes:The types of Runes:Stop Reading")) { + case 1: + set .@book1,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 "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 sub consciousness."; + 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 .@book2,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 (.@book1 && .@book2 && job_rune_edq < 11 && (job_rune_edq_book & 2) == 0) { + set job_rune_edq_book, job_rune_edq_book | 2; + set job_rune_edq, job_rune_edq+1; + } + close; + } + } +} + +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 permission."; + close; + } + while(1) { + switch(select("The Making of Rune Stones:Rune Stone Ability Details:Stop Reading")) { + case 1: + set .@book1,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 .@book2,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 sky-blue 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 sky-blue 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 sky-blue 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: + close; + } + break; + case 3: + if (.@book1 && .@book2 && job_rune_edq < 11 && (job_rune_edq_book & 4) == 0) { + set job_rune_edq_book, job_rune_edq_book | 4; + set job_rune_edq, job_rune_edq+1; + } + close; + } + } +} + +mid_camp,238,250,3 script Rune Knight Sage Guard 468,2,2,{ + mes "[Rune Knight Sage Guard]"; + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + 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 (BaseJob == Job_Knight) { + if (job_rune_edq < 11) { + 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; + } + 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 "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#1 83,2,2,{ + mes "[Dispatched Rune Knight]"; + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + mes "Thanks for your work. We will continue our mission for the Rune Knight testers."; + close; + } + if (BaseJob == Job_Knight && job_rune_edq > 10) { + 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]"; + if (strnpcinfo(0) == "Dispatched Rune Knight#1") { + mes "Do you want to go out to the Splendide field?"; + next; + if(select("Move to Splendide field:Cancel.") == 1) + warp "spl_fild01",355,325; + close; + } else if (strnpcinfo(0) == "Dispatched Rune Knight#2") { + mes "Do you want to go back to the expeditionary team's post?"; + next; + if(select("Yes please.:Not yet.") == 1) + warp "mid_camp",50,153; + close; + } + close; + } + mes "Shh... Our mission is not something to be revealed to the public. Please just move along."; + close; +} +spl_fild01,361,327,3 duplicate(Dispatched Rune Knight#1) Dispatched Rune Knight#2 83,2,2 + +spl_fild02,13,241,0 script #Barricade1 139,10,10,{ + end; +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; +} + +mid_camp,235,250,3 script Sage Serpeone 435,2,2,{ + mes "[Sage Serpeone]"; + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + 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 (BaseJob == Job_Knight) { + if (job_rune_edq < 12) { + 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; + } else if (job_rune_edq == 12) { + 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; + } else if (job_rune_edq == 13) { + 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; + close; + } + 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; + if(select("I want to go back.:I want to cancel.") == 1) + warp "job3_rune01",80,65; + close; + case 3: + close; + } + } else if (job_rune_edq == 14) { + mes "Are you ready to go back to the Rune Knight gathering place?"; + next; + if(select("I want to go back now.:I am not ready yet.") == 1) + warp "job3_rune01",80,65; + close; + } + 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; + if(select("I'll go back now.:I'll stay.") == 1) + warp "job3_rune01",80,65; + close; + } + 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,{ + 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 (BaseJob == Job_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; + } else 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 headquarters in Al De Baran by employing a Kafra Employee 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; + } else if (job_rune_edq > 17 && job_rune_edq < 21) { + if (countitem(12388)+countitem(12389)+countitem(12390) == 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; + if(select("Enter the final test field.:I'm not ready yet.") == 2) close; + if (getequipisequiped(EQI_HEAD_TOP) || getequipisequiped(EQI_ARMOR) || getequipisequiped(EQI_GARMENT) || getequipisequiped(EQI_SHOES) || + getequipisequiped(EQI_ACC_L) || getequipisequiped(EQI_ACC_R) || getequipisequiped(EQI_HEAD_MID) || getequipisequiped(EQI_HEAD_LOW)) { + 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; + } + 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 ($@job_rune_test1 == 0) { + if (Weight < 4001) { + set $@job_rune_test1,1; + sc_start SC_INCINT,300000,40; + getitem 12389,30; //Runstone_Storm + getitem 12390,30; //Runstone_Millennium + if (checkquest(3220) > -1) 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 remaining 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 "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."; + if (countitem(12388)) delitem 12388,countitem(12388); //Runstone_Crush + if (countitem(12389)) delitem 12389,countitem(12389); //Runstone_Storm + if (countitem(12390)) delitem 12390,countitem(12390); //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; + } else if (job_rune_edq == 21) { + mes "[Rune Knight Velpino]"; + mes "You've been very successful up to the last test."; + next; + if (countitem(12388)+countitem(12389)+countitem(12390) == 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; + } + 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."; + if (countitem(12388)) delitem 12388,countitem(12388); //Runstone_Crush + if (countitem(12389)) delitem 12389,countitem(12389); //Runstone_Storm + if (countitem(12390)) delitem 12390,countitem(12390); //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; +} + +job3_rune02,38,40,0 script #RK Test Hidden Portal 1 139,15,15,{ + end; +OnEnable: + enablenpc "#RK Test Hidden Portal 1"; + end; +OnDisable: + disablenpc "#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; + } else if (job_rune_edq > 17 && job_rune_edq < 21) { + donpcevent "job_rune_edq#3rd_tb::OnEnable"; + donpcevent "#RK Test Hidden Portal 1::OnDisable"; + end; + } else { + 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: + disablenpc "job_rune_edq#1st_tb"; + end; +OnEnable: + enablenpc "job_rune_edq#1st_tb"; + initnpctimer; + end; +OnDisable: + stopnpctimer; + disablenpc "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: + disablenpc "job_rune_edq#1st_tc"; + end; +OnEnable: + enablenpc "job_rune_edq#1st_tc"; + initnpctimer; + donpcevent "job_rune_edq#1st_tcmc::OnEnable"; + donpcevent "job_rune_edq#1st_tcnc::OnEnable"; + end; +OnDisable: + stopnpctimer; + disablenpc "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: + disablenpc "job_rune_edq#1st_tcmc"; + end; +OnEnable: + enablenpc "job_rune_edq#1st_tcmc"; + initnpctimer; + end; +OnDisable: + killmonster "job3_rune02","job_rune_edq#1st_tcmc::OnMyMobDead"; + stopnpctimer; + disablenpc "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,2,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; +OnTimer50000: +OnTimer100000: +OnTimer150000: +OnTimer200000: + switch(rand(6)) { + case 0: + monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,2,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + case 1: + case 2: + monster "job3_rune02",0,0,"Rideword",1478,4,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + case 3: + case 4: + 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; + case 5: + monster "job3_rune02",0,0,"Wraith Dead",1475,4,"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: + disablenpc "job_rune_edq#1st_tcmc2"; + end; +OnEnable: + enablenpc "job_rune_edq#1st_tcmc2"; + switch(rand(6)) { + case 0: + monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,2,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + end; + case 1: + case 2: + monster "job3_rune02",0,0,"Rideword",1478,4,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + end; + case 3: + case 4: + 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; + case 5: + monster "job3_rune02",0,0,"Wraith Dead",1475,4,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + end; + } + end; +OnDisable: + killmonster "job3_rune02","job_rune_edq#1st_tcmc2::OnMyMobDead"; + disablenpc "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: + disablenpc "job_rune_edq#1st_tcnc"; + end; +OnEnable: + enablenpc "job_rune_edq#1st_tcnc"; + initnpctimer; + end; +OnDisable: + 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"; + disablenpc "job_rune_edq#1st_tcnc"; + end; +OnUse: + mapannounce "job3_rune02","Captain Tigris : Gentlemen, 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,2,2,{ + if (job_rune_edq != 4 || $@job_rune_test2 != 0) { + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + end; + } + switch(rand(6)) { + case 0: + mapannounce "job3_rune02","Captain Tigris : May Beljeve bless you!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + npcskill "AL_BLESSING",1,0,0; + break; + case 1: + case 2: + mapannounce "job3_rune02","Captain Tigris : The Spark of life... may flame again.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + npcskill "AL_HEAL",8,70,99; + break; + case 3: + mapannounce "job3_rune02","Captain Tigris : Evil demons! I will send you back to your graves!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + specialeffect2 EF_METEORSTORM; + donpcevent "job_rune_edq#1st_tcmc::OnReset"; + break; + case 4: + 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; + break; + case 5: + 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; + break; + } + set $@job_rune_test2,1; + initnpctimer; + end; +OnInit: +OnDisable: + disablenpc "Captain Tigris#jrt1"; + end; +OnEnable: + enablenpc "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,{ + if (job_rune_edq != 4 || $@job_rune_test2 != 0) { + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + end; + } + switch(rand(6)) { + case 0: + mapannounce "job3_rune02","Rune Knight Lunarea : Quickly... find and strike at the enemy's weakness!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + npcskill "AL_INCAGI",1,0,0; + break; + case 1: + case 2: + mapannounce "job3_rune02","Rune Knight Lunarea : It's not over... you need more power...",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + npcskill "AL_HEAL",8,60,90; + break; + case 3: + mapannounce "job3_rune02","Rune Knight Lunarea : Everything starts from the beginning!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + npcskill "AL_CURE",1,0,0; + break; + case 4: + 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; + break; + case 5: + 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; + break; + } + set $@job_rune_test2,1; + initnpctimer; + end; +OnInit: +OnDisable: + disablenpc "Rune Knight Lunarea#jrt1"; + end; +OnEnable: + enablenpc "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,{ + if (job_rune_edq != 4 || $@job_rune_test2 != 0) { + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + end; + } + switch(rand(6)) { + case 0: + mapannounce "job3_rune02","Rune Knight Renoa : The rune of Wind! May it give you strength!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + npcskill "AL_INCAGI",1,0,0; + break; + case 1: + case 2: + 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 + npcskill "AL_HEAL",8,60,90; + break; + case 3: + mapannounce "job3_rune02","Rune Knight Renoa : I am faster than all of them! Different then the others!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + specialeffect2 EF_PIERCESELF; + donpcevent "job_rune_edq#1st_tcmc::OnReset"; + break; + case 4: + 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; + break; + case 5: + 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; + break; + } + set $@job_rune_test2,1; + initnpctimer; + end; +OnInit: +OnDisable: + disablenpc "Rune Knight Renoa#jrt1"; + end; +OnEnable: + enablenpc "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,2,2,{ + if (job_rune_edq != 4 || $@job_rune_test2 != 0) { + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + end; + } + switch(rand(6)) { + case 0: + 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 + npcskill "AL_HEAL",8,60,90; + break; + case 1: + case 2: + mapannounce "job3_rune02","Rune Knight Velpino : Move on! There are obstacles to overcome.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + npcskill "AL_INCAGI",1,0,0; + break; + case 3: + mapannounce "job3_rune02","Rune Knight Velpino : You are not alone. We are by your side.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + npcskill "AL_BLESSING",1,0,0; + break; + case 4: + mapannounce "job3_rune02","Rune Knight Velpino : Fight and win! Don't give in to the pain!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_FREEZE,10000,0; + break; + case 5: + 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; + break; + } + set $@job_rune_test2,1; + initnpctimer; + end; +OnInit: +OnDisable: + disablenpc "Rune Knight Velpino#jrt1"; + end; +OnEnable: + enablenpc "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: + disablenpc "job_rune_edq#3rd_tb"; + end; +OnEnable: + enablenpc "job_rune_edq#3rd_tb"; + initnpctimer; + end; +OnDisable: + stopnpctimer; + disablenpc "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: + disablenpc "job_rune_edq#3rd_tc"; + end; +OnEnable: + enablenpc "job_rune_edq#3rd_tc"; + 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"; + disablenpc "job_rune_edq#3rd_tc"; + end; +OnTimer480000: + killmonster "job3_rune02","job_rune_edq#3rd_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; +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: + disablenpc "job_rune_edq#3rd_tc1"; + end; +OnEnable: + enablenpc "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"; + disablenpc "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: + disablenpc "job_rune_edq#3rd_tc2"; + end; +OnEnable: + enablenpc "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"; + disablenpc "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: + disablenpc "job_rune_edq#3rd_tc3"; + end; +OnEnable: + enablenpc "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"; + disablenpc "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 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::kaf_rune 114,{ + cutin "kafra_04",2; + callfunc "F_KafSet"; + callfunc "F_Kafra",0,9,2,80,700; + callfunc "F_KafEnd",0,0; +} + +/* +sec_in02,34,167,3 script R.Knight Job Manager 470,1,1,{ + mes "Enter the Password."; + next; + input .@inputstr$; + if (.@inputstr$ == "1854") { + mes "Rune Knight Job Change Managing Module Start"; + next; + switch(select("GlobalVar check:GlobalVar Oneshot Modification")) { + case 1: + mes "Rune Knight Job Change GlobalVar right now is " + $@job_rune_test1 + "."; + mes "The number of Rune Knight Test field right now is... " + getmapusers("job3_rune02") + "."; + close; + case 2: + set $@job_rune_test1,0; + mes "Rune Knight Job Change GlobalVar is modified to 0. The use of the test field is now available."; + close; + } + } + close; +} +job3_rune01,1,1,3 duplicate(R.Knight Job Manager) #renshucheck 844 +*/
\ 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..363597c10 --- /dev/null +++ b/npc/re/jobs/3-1/warlock.txt @@ -0,0 +1,1094 @@ +//===== rAthena Script ======================================= +//= Warlock Job Quest +//===== By: ================================================== +//= Muad_Dib, Gepard & L0ne_W0lf +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Job change Quest from Wizard / High Wizard -> Warlock. +//===== Additional Comments: ================================= +//= 1.0 First version. [Masao] +//= 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] +//= 1.3 Updated script, optimized. [Euphy] +//============================================================ + +morocc,103,144,0 script #distorted_space_1 139,1,1,{ +OnTouch: + if (job_wl > 1) { + mes " - There is a strange distortion here - "; + if (strnpcinfo(0) == "#distorted_space_1" && (Class == Job_Warlock || Class == Job_Warlock_T || Class == Job_Baby_Warlock)) { + close2; + if (countitem(6153) > 0) + warp "spl_in02",79,102; + end; + } + 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 && (strnpcinfo(0) == "#distorted_space_2" || BaseJob == Job_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 duplicate(#distorted_space_1) #distorted_space_2 139,1,1 + +function script F_Warlock { + 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"; + if (BaseJob == Job_Wizard) { + 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) { + select("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; + select("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; + select("Could I become Warlock?"); + mes "[Master Egnoloria]"; + mes "You?"; + mes "You want to 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."; + 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; +} + +spl_in02,77,107,5 script Assistant#Warlock1 446,{ + if (job_wl == 0) { + callfunc "F_Warlock"; + end; + } else 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; + } + } else if (job_wl == 2 || job_wl == 3) { + mes "[Yoop]"; + if (job_wl == 2) { + 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 "First, use all of your remaining job skill points before continuing."; + set job_wl,3; + close; + } + 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; + callsub L_Quest,1; + close; + } else if (job_wl == 4) { + if (countitem(6152) == 0 || countitem(6151) == 0) + callsub L_Quest,0; + else { + 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; + } else if (job_wl == 5) { + mes "[Yoop]"; + mes "This stone is well made."; + mes "Please go to my Master."; + close; + } else { + 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; + } + +L_Quest: + 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; + if (getarg(0)) { + 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."; + return; +} + +spl_in02,60,231,5 script Yoop#Warlock 446,{ + mes "[Yoop]"; + if (job_wl < 4) { + mes "Who are you?"; + mes "Get out of here!"; + close; + } else if (job_wl == 4) { + mes "You're back?"; + next; + switch(select("I brought the materials.:I've lost the Magical Stones.:Nothing.")) { + case 1: + mes "[Yoop]"; + if (countitem(6152) == 0 || countitem(6151) == 0) { + mes "......"; + mes "......Where?"; + mes "Don't bother me!"; + 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 "Bring these stones with you or else you won't be able to return!"; + mes "Be careful!"; + close; + } else if (countitem(6152) && countitem(6151)) { + if (isequipped(2796) || isequipped(2797)) { + mes "Bring me back the magical stones."; + close; + } + if (countitem(2796) == 0 || countitem(2797) == 0) { + 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; + } + mes "Alright! All the materials are ready!"; + 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 misplaced 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 ((isequipped(2796) == 0 && countitem(2796) == 0) || (isequipped(2797) == 0 && countitem(2797) == 0)) { + if (countitem(732) > 0) { + switch(select("Give 3 carat diamond.:Just quit it.")) { + case 1: + mes "[Yoop]"; + mes "I will overlook your fault."; + mes "Please be careful with it."; + delitem 732,1; //Crystal_Jewel__ + if (isequipped(2796) == 0 && countitem(2796) == 0) + getitem 2796,1; //Magical_Stone + if (isequipped(2797) == 0 && countitem(2797) == 0) + 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 a 3 carat diamond..."; + close; + } + mes "[Yoop]"; + if (isequipped(2796) || isequipped(2797)) { + mes "Please check your equipment window..."; + mes "You sure you don't have it?"; + close; + } + mes "Then what's that you are holding now...?"; + close; + } + case 3: + mes "[Yoop]"; + mes "What...?"; + mes "Don't bother me, I am quite busy."; + close; + } + } else { + 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 439,{ + if (job_wl == 0) { + callfunc "F_Warlock"; + end; + } else if (job_wl == 1) { + mes "[Assistant]"; + mes "Human! What do you want?"; + close; + } else if (job_wl < 6) { + mes "[Assistant]"; + mes "It's not me you are looking for currently."; + close; + } else if (job_wl == 6) { + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 3500) { + mes "You're carring out too many items."; + mes "You'd better minimize your weight."; + 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 12386,5; //Rainbow_Ruby_Wind + getitem 12387,5; //Rainbow_Ruby_Earth + getitem 12385,5; //Rainbow_Ruby_Fire + close2; + warp "job3_war01",23,20; + end; + } else if (job_wl == 7) { + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 3500) { + mes "You're carring out too many items."; + mes "You'd better minimize your weight."; + close; + } + mes "[Yoop]"; + 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(12386)) delitem 12386,countitem(12386); //Rainbow_Ruby_Wind + if (countitem(12387)) delitem 12387,countitem(12387); //Rainbow_Ruby_Earth + if (countitem(12385)) delitem 12385,countitem(12385); //Rainbow_Ruby_Fire + getitem 12384,5; //Rainbow_Ruby_Water + getitem 12386,5; //Rainbow_Ruby_Wind + getitem 12387,5; //Rainbow_Ruby_Earth + getitem 12385,5; //Rainbow_Ruby_Fire + close2; + warp "job3_war01",23,20; + end; + } else if (job_wl == 8) { + mes "[Yoop]"; + 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(12386)) delitem 12386,countitem(12386); //Rainbow_Ruby_Wind + if (countitem(12387)) delitem 12387,countitem(12387); //Rainbow_Ruby_Earth + if (countitem(12385)) delitem 12385,countitem(12385); //Rainbow_Ruby_Fire + next; + mes "[Yoop]"; + 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; + } else if (job_wl == 9) { + mes "[Yoop]"; + mes "All of the tests are done. Now talk to Master Engoloria."; + mes "I'm so happy that you have succeeded."; + close; + } else { + mes "[Yoop]"; + mes "I can feel that you have strong magic."; + mes "I envy you."; + next; + mes "[Yoop]"; + mes "It deserves something special."; + mes "Don't abuse it."; + close; + } +} + +spl_in02,78,110,5 script Assistant#Warlock3 437,{ + if (job_wl == 0) { + callfunc "F_Warlock"; + end; + } + mes "[Assistant]"; + mes "......"; + switch(job_wl) { + case 1: mes "If you don't have anything to say to me, would you just leave?"; break; + case 2: mes "I don't have a pony-tail..."; break; + default: mes "Please be quiet while my master is meditating."; break; + } + 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; + } +} + +spl_in02,80,108,5 script Guild Master#Warlock 465,{ + if (job_wl == 0) { + callfunc "F_Warlock"; + end; + } else 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."; + close2; + warp "splendide",200,100; + end; + } + } else 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; + } else if (job_wl == 3 || job_wl == 4) { + mes "[Master Egnoloria]"; + mes "......"; + next; + mes "[Assistant]"; + mes "Master is meditating."; + mes "Be quiet."; + close; + } else if (job_wl == 5) { + mes "[Master Egnoloria]"; + mes "I've heard from Yoop that a very useful stone can be created."; + 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,0,"Assistant#Warlock2"; + set job_wl,6; + changequest 11108,11109; + close; + } else if (job_wl < 9) { + mes "[Master Egnoloria]"; + mes "......"; + next; + mes "[Yoop]"; + mes "My master is meditating now, please follow me."; + close; + } else if (job_wl == 9) { + if (BaseLevel < 99 || BaseJob != Job_Wizard) { + mes "[Master Egnoloria]"; + mes "Hm...?"; + mes "How did you come this far..."; + close; + } + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 3500) { + mes "You've got too many items."; + mes "Please come back after reducing the number of items you have."; + close; + } + mes "[Master Egnoloria]"; + if (SkillPoint != 0) { + mes "Unless you like your current job, you should use all your skill points."; + close; + } + if (ismounting()) { + mes "You are on a riding pet,"; + mes "so you cannot change your job."; + mes "Please unequip your riding pet and try again!"; + close; + } + 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; + if (SkillPoint != 0) { + mes "^0000ffYou still have left the skill points, Please use all the skill points and try to start again!^000000"; + close; + } + mes "[Master Egnoloria]"; + mes "This crystallized magical stone will keep you safe."; + if (Class == Job_High_Wizard) { + if (JobLevel > 69) set job_wl,13; + else if (JobLevel > 59) set job_wl,12; + else set job_wl,11; + } + else set job_wl,10; + jobchange roclass(eaclass()|EAJL_THIRD); + completequest 11112; + getitem 5753,1; //Magic_Stone_Hat + getitem 2795,1; //Green_Apple_Ring + close; + } else 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; + } +} + +job3_war01,29,25,5 script The chamber of magic#1 437,{ + end; +OnInit: + disablenpc "The chamber of magic#1"; + waitingroom "The chamber of magic",20,"The chamber of magic#1::OnStartArena",1; + enablewaitingroomevent; + end; +OnStartArena: + warpwaitingpc "job3_war02",29,25; + donpcevent "The chamber of magic#2::OnEnable"; + initnpctimer; + disablewaitingroomevent; + end; +OnTimer10000: + if (getmapusers("job3_war02") == 0) { + donpcevent "The chamber of magic#2::OnReset"; + donpcevent "The chamber of magic#2::OnDisable"; + stopnpctimer "The chamber of magic#2"; + donpcevent "The chamber of magic#3::OnReset"; + donpcevent "The chamber of magic#3::OnDisable"; + stopnpctimer "The chamber of magic#3"; + donpcevent "The chamber of magic#4::OnReset"; + donpcevent "The chamber of magic#4::OnDisable"; + stopnpctimer "The chamber of magic#4"; + donpcevent "Hollow Stone#Warlock::OnReset"; + donpcevent "Hollow Stone#Warlock::OnDisable"; + stopnpctimer "Hollow Stone#Warlock"; + stopnpctimer; + enablewaitingroomevent; + end; + } + initnpctimer; + end; +OnEnable: + enablewaitingroomevent; + end; +OnDisable: + disablewaitingroomevent; + end; +} + +- script The chamber of magic#2 -1,{ +OnInit: + disablenpc strnpcinfo(0); + end; +OnEnable: + enablenpc strnpcinfo(0); + monster "job3_war02",23,32,"Magic Monster",2047,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",2048,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",2049,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",2050,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",23,32,"Magic Monster",2047,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",2048,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",2049,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",2050,1,strnpcinfo(0)+"::OnMyMobDead"; + initnpctimer; + end; +OnReset: + killmonster "job3_war02",strnpcinfo(0)+"::OnMyMobDead"; + end; +OnDisable: + disablenpc strnpcinfo(0); + end; +OnMyMobDead: + if (mobcount("job3_war02",strnpcinfo(0)+"::OnMyMobDead") < 1) { + stopnpctimer; + mapannounce "job3_war02","The Monster Invasion has been stopped.",bc_map; + set .@str$, "The chamber of magic#"+((strnpcinfo(0) == "The chamber of magic#2")?"3":"4"); + donpcevent .@str$+"::OnEnable"; + } + end; +OnTimer3000: + if (strnpcinfo(0) != "The chamber of magic#2") end; + 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.",bc_map; + donpcevent "The chamber of magic#2::OnReset"; + donpcevent "The chamber of magic#3::OnReset"; + donpcevent "The chamber of magic#4::OnReset"; + end; +OnTimer304000: + mapwarp "job3_war02","spl_in02",79,102; + end; +OnTimer305000: + donpcevent "The chamber of magic#2::OnDisable"; + donpcevent "The chamber of magic#3::OnDisable"; + donpcevent "The chamber of magic#4::OnDisable"; + donpcevent "The chamber of magic#1::OnEnable"; + stopnpctimer; + end; +} +- duplicate(The chamber of magic#2) The chamber of magic#3 -1 + +- script The chamber of magic#4 -1,{ +OnInit: + disablenpc "The chamber of magic#4"; + end; +OnEnable: + enablenpc "The chamber of magic#4"; + monster "job3_war02",23,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",23,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + initnpctimer; + end; +OnReset: + killmonster "job3_war02","The chamber of magic#4::OnMyMobDead"; + end; +OnDisable: + disablenpc "The chamber of magic#4"; + end; +OnMyMobDead: + if (mobcount("job3_war02","The chamber of magic#4::OnMyMobDead") < 1) { + mapannounce "job3_war02","Once it's stabilized, the fragments are toward the center.",bc_map; + stopnpctimer; + donpcevent "Hollow Stone#Warlock::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 its power.",bc_map; + donpcevent "The chamber of magic#2::OnReset"; + donpcevent "The chamber of magic#3::OnReset"; + donpcevent "The chamber of magic#4::OnReset"; + end; +OnTimer64000: + mapwarp "job3_war02","spl_in02",79,102; + end; +OnTimer65000: + donpcevent "The chamber of magic#2::OnDisable"; + donpcevent "The chamber of magic#3::OnDisable"; + donpcevent "The chamber of magic#4::OnDisable"; + donpcevent "The chamber of magic#1::OnEnable"; + stopnpctimer; + end; +} + +- script Hollow Stone#Warlock -1,{ +OnInit: + disablenpc "Hollow Stone#Warlock"; + end; +OnEnable: + enablenpc "Hollow Stone#Warlock"; + donpcevent "The chamber of magic#2::OnReset"; + donpcevent "The chamber of magic#2::OnDisable"; + donpcevent "The chamber of magic#3::OnReset"; + donpcevent "The chamber of magic#3::OnDisable"; + donpcevent "The chamber of magic#4::OnReset"; + donpcevent "The chamber of magic#4::OnDisable"; + monster "job3_war02",29,27,"Hollow Stone",2035,1,"Hollow Stone#Warlock::OnMyMobDead"; + initnpctimer; + end; +OnReset: + killmonster "job3_war02","Hollow Stone#Warlock::OnMyMobDead"; + end; +OnDisable: + disablenpc "Hollow Stone#Warlock"; + end; +OnMyMobDead: + if (mobcount("job3_war02","Hollow Stone#Warlock::OnMyMobDead") < 1) { + mapannounce "job3_war02","The Hollow Stone is crystallized with enough magic power.",bc_map; + set job_wl,8; + changequest 11110,11111; + donpcevent "Hollow Stone#Warlock::OnReset"; + donpcevent "Hollow Stone#Warlock::OnDisable"; + stopnpctimer; + donpcevent "Ebein#E1::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 with 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#Warlock::OnReset"; + end; +OnTimer605000: + mapwarp "job3_war02","spl_in02",79,102; + end; +OnTimer607000: + donpcevent "Hollow Stone#Warlock::OnDisable"; + stopnpctimer; + donpcevent "The chamber of magic#1::OnEnable"; + end; +} + +- script Ebein#E1 -1,{ +OnInit: + disablenpc "Ebein#E1"; + end; +OnEnable: + initnpctimer; + end; +OnDisable: + disablenpc "Ebein#E1"; + end; +OnTimer2000: + mapannounce "job3_war01","Congratulations! You've succeeded in creating a magic crystal.",bc_map; + end; +OnTimer3000: + mapannounce "job3_war01","The Magic Chamber is starting to fill with magic power.",bc_map; + end; +OnTimer6000: + donpcevent "Ebein#E1::OnDisable"; + stopnpctimer; + donpcevent "The chamber of magic#1::OnEnable"; + end; +} + +- script Ebein#E2 -1,{ +OnInit: + disablenpc "Ebein#E2"; + end; +OnEnable: + initnpctimer; + end; +OnDisable: + disablenpc "Ebein#E2"; + end; +OnTimer3000: + mapannounce "job3_war02","Congratulations! You've succeeded in creating a magic crystal.",bc_map; + 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 Button Girl 66,{ + switch(select("Open Arena:Close Arena:Open the Chamber of Magic:Close the Chamber of Magic:Hollow Stone On:Hollow Stone Off:Cancel")) { + case 1: + mes "Opening the Arena."; + donpcevent "The chamber of magic#1::OnEnable"; + close; + case 2: + mes "Closing the Arena."; + donpcevent "The chamber of magic#1::OnDisable"; + close; + case 3: + mes "Opening the Chamber of Magic."; + donpcevent "The chamber of magic#2::OnEnable"; + close; + case 4: + mes "Closing the Chamber of Magic."; + donpcevent "The chamber of magic#2::OnReset"; + donpcevent "The chamber of magic#2::OnDisable"; + donpcevent "The chamber of magic#3::OnReset"; + donpcevent "The chamber of magic#3::OnDisable"; + donpcevent "The chamber of magic#4::OnReset"; + donpcevent "The chamber of magic#4::OnDisable"; + close; + case 5: + mes "Enabing Hollow Stone."; + donpcevent "Hollow Stone#Warlock::OnEnable"; + close; + case 6: + mes "Disabling Hollow Stone."; + donpcevent "Hollow Stone#Warlock::OnReset"; + donpcevent "Hollow Stone#Warlock::OnDisable"; + close; + case 7: + close; + } +} +*/ + +spl_fild02,0,0,0,0 monster Bradium Golem 2049,20,5000,0,0 +spl_fild02,0,0,0,0 monster Naga 2047,20,5000,0,0
\ No newline at end of file diff --git a/npc/re/jobs/3-2/genetic.txt b/npc/re/jobs/3-2/genetic.txt new file mode 100644 index 000000000..1d0d8cbe9 --- /dev/null +++ b/npc/re/jobs/3-2/genetic.txt @@ -0,0 +1,1047 @@ +//===== rAthena Script ======================================= +//= Genetic Job Quest +//===== By: ================================================== +//= Muad_Dib, Aeomin +//===== Current Version: ===================================== +//= 1.3a +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Job change Quest from Alchemist / Creator -> Genetic. +//===== Additional Comments: ================================= +//= 1.0 First Version. [Masao] +//= 1.1 Fixed Scatter Stuff NPCs [JayPee]. +//= 1.2 Updated dialogue. Credits to Muad_Dib. [Joseph] +//= 1.3 Updated script, optimized. [Euphy] +//= 1.3a Moved warps to separate file. [Euphy] +//============================================================ + +alde_alche,35,186,5 script Alchemist Union Member 805,{ + mes "[Alchemist Union Member]"; + if (BaseLevel > 98 && JobLevel > 49){ + if (BaseJob == Job_Alchemist) { + if (SkillPoint != 0) { + mes "- You still have unused skill points. Come back when you have used all of them. -"; + close; + } + if (job_gen == 0) { + mes "Our Alchemist Union brings up many junior alchemists with various promotions and investigations."; + next; + mes "[Alchemist Union Member]"; + mes "They have spread to all corners of Rune-Midgart and were active in many fields like sciences or special item production methods."; + next; + mes "[Alchemist Union Member]"; + mes "We call the members of our new union ^3131FF'Geneticists'^000000."; + next; + mes "[Alchemist Union Member]"; + mes "Geneticists are the ones who have reached their peak potential in the world of Alchemy. They are the ones who currently spearhead alchemy throughout all of Rune-Midgart."; + next; + mes "[Alchemist Union Member]"; + mes "It looks like you are an expert in this field, how about meeting other geneticists?"; + next; + mes "[Alchemist Union Member]"; + mes "Not long ago there was a Geneticist who announced a sensational new life studying research."; + mes "You are very knowledgeable. Do you think you might understand her work?"; + next; + mes "[Alchemist Union Member]"; + mes "Her study may help you gain the knowledge to help you make a Geneticist!";; + next; + mes "[Alchemist Union Member]"; + mes "How's that sound? Do you want to meet a Geneticist?"; + next; + switch(select("Of course, I want to meet a Geneticist.:I don't want to meet a Geneticist.")) { + case 1: + mes "[Alchemist Union Member]"; + mes "Wise choice!"; + mes "The infamous Geneticist 'Devries'."; + next; + mes "[Alchemist Union Member]"; + mes "You can find her in the Alchemy Lab at the western part of Lighthalzen. There is also another Geneticist studying weaponry there, you might want to pay her a visit as well."; + set job_gen,1; + setquest 2215; + close; + case 2: + mes "[Alchemist Union Member]"; + mes "Aren't you interested in the study of life?"; + close; + } + } + mes "The infamous Geneticist is studying at the Alchemy Lab in the western part of Lighthalzen."; + mes "If you are interested, go meet with her."; + close; + } + } + mes "Our Alchemist Union brings up many junior alchemists with various promotions and investigations."; + next; + mes "[Alchemist Union Member]"; + mes "They have spread to all corners of Rune-Midgart and were active in many fields like sciences or special item production methods."; + next; + mes "[Alchemist Union Member]"; + mes "We call the members of our new union ^3131FF'Geneticists'^000000."; + next; + mes "[Alchemist Union Member]"; + mes "Geneticists are the ones who have reached their peak potential in the world of Alchemy. They are the ones who currently spearhead alchemy throughout all of Rune-Midgard."; + close; +} + +job3_gen01,25,58,3 script Devries#gen 865,{ + if (SkillPoint != 0) { + mes "- You still have some unused skill points. -"; + close; + } + if (job_gen == 1) { + mes "[Devries]"; + mes "Oh! The bloodsucking plant sample C is withering again."; + mes "Should I change the ingredient of the growth care?"; + mes "Hey please cheer up soon!"; + next; + mes "[Devries]"; + mes "Oh? A stranger?"; + mes "Your look tells me that you are doing Alchemy as well right?"; + next; + mes "[Devries]"; + mes "People say the number of alchemists is increasing nowadays though there aren't may who study this field properly!"; + next; + mes "[Devries]"; + mes "They're all too worried about saying things like, ''Look at my bomb damage!'' or ''isn?t my homunculus prettier?''"; + next; + mes "[Devries]"; + mes "The Alchemist Union was saying they'd support the researchers but actually what you get from the studying is just 'Spores Which Can Be Easily Raised'!"; + next; + mes "[Devries]"; + mes "Thanks to that, there are spores everywhere in my lab! There are spores everywhere!"; + next; + select("Why do you talk like that?"); + mes "[Devries]"; + mes "'Cause I'm from Rune-Midgart!"; + mes "Have you ever been to Rune-Midgart? Everyone in Rune-Midgart speaks like this."; + next; + switch(select("Impossible?!:I'm also from Rune-Midgart.")) { + case 1: + mes "[Devries]"; + mes "Impossible?"; + mes "Do you come from a Rune-Midgart village?"; + mes "My village is very big, everyone there speaks like this."; + break; + case 2: + emotion e_lv; + mes "[Devries]"; + mes "Really! That's why I felt some kind of familiar atmosphere around you."; + mes "Meeting a hometown person in Schwaltzvalt, it's my pleasure to meet you!"; + break; + } + next; + mes "- Thump!! -"; + next; + emotion e_ag; + mes "[Devries]"; + mes "Ughhhhh! That woman started again!"; + next; + select("What's that sound?"); + mes "[Devries]"; + mes "That's the sound of an experiment being carried out by my roommate, Demi Calberine.."; + mes "Demi's a fire shell technician so she's always noisy like that."; + next; + emotion e_sob; + mes "[Devries]"; + mes "Look at that!"; + mes "My spores and plants are all freaked out!"; + mes "I can't do my work with those noisy sounds. It gives me so much stress!!"; + next; + mes "- Munch Crunch -"; + next; + mes "[Devries]"; + mes "When I don't feel good, I savor Mr. Orlean's handmade cookies little by little."; + next; + mes "[Devries]"; + mes "It's a high-quality cookie that I got from Prontera. When I get one bite, it seems like I'm floating to Asgard."; + mes "The softness of the sweet cookie drowns out the clashing sounds from Demi Calberine."; + next; + mes "[Devries]"; + mes "Wanna try one?"; + mes "Ah, I've eaten all of it."; + next; + mes "[Devries]"; + mes "But it's okay! On the 2nd floor of my room, there are boxes of those!"; + mes "I couldn't stop buying it all in bulk. Ho ho ho."; + next; + mes "- Zooooooooooooooooing -"; + specialeffect EF_ENDURE; + next; + specialeffect EF_REPAIRWEAPON,AREA,"#from1to2gen"; + mes "- (Screeching Sounds)!!! -"; + mes "- (Screeching)!!! -"; + next; + specialeffect EF_CRASHEARTH,AREA,"#from1to2gen"; + mes "- Bump! Bump! Bump! -"; + next; + mes "[Devries]"; + mes ".................."; + next; + mes "[Devries]"; + mes "Yoooooooooooow"; + mes "Yipeeeeeeeeee!!!"; + next; + mes "[Devries]"; + mes "Demiiiiiiiiiiiiiiiiiiiiiiii!!!"; + mes "Demiiiiiiiiiiiiiiiiiiiii!!!"; + next; + mes "- For now it seems that I -"; + mes "- need to calm down Devries. -"; + set job_gen,2; + close; + } else if (job_gen == 2) { + mes "[Devries]"; + mes "Yipeeeeeeeeee!!!"; + mes "Demiiiiii!!!"; + mes "Demiiiiiiiii!!!"; + next; + mes "- Hmm. -"; + mes "- What'll make her calm? -"; + close; + } else if (job_gen == 3) { + mes "[Devries]"; + mes "Yipeeeeeeeeee!!!"; + mes "Demiiiiii!!!"; + mes "Demiiiiiiiii!!!"; + next; + select("Hand Devries a cookie."); + mes "- Devries quickly snatches -"; + mes "- away the cookie and stuffs -"; + mes "- it all in her mouth. -"; + next; + mes "- Crunch Crunch Crunch -"; + mes "- Crunch Crunch Crunch -"; + mes "- Crunch Crunch Crunch -"; + next; + mes "[Devries]"; + mes "Ah, The sweet buttery taste remains at the end of my tongue."; + mes "This really gives me peace of mind."; + next; + emotion e_pif; + mes "[Devries]"; + mes "Demi is studying hard today as well"; + mes "Huhuhu. She's really a hard worker."; + next; + mes "- That cookie changed her mood quick. -"; + emotion e_no1,1; + next; + mes "[Devries]"; + mes "You came here with a love for Alchemy?"; + next; + mes "[Devries]"; + mes "Oh wait, We haven't introduced ourselves yet."; + mes "My name is Devries."; + mes "I'm very interested in making living things that show new and peculiar growth."; + next; + mes "[Devries]"; + mes "What's your name, young alchemist?"; + next; + select("I'm "+strcharinfo(0)+"."); + mes "[Devries]"; + mes "Oh, "+strcharinfo(0)+"!"; + mes "That's a very unusual name. Pleased to meet you."; + next; + mes "[Devries]"; + mes "But I can't memorize the name well."; + mes "So I'll just call you <Popo>. Would that be ok?"; + next; + select("I uhh..."); + mes "[Devries]"; + mes "Great..."; + mes "Popo, have you heard of my research?"; + mes "You came here because of that, am I right?"; + next; + switch(select("No.:Yes.")) { + case 1: + mes "[Devries]"; + mes "Well, it's all over your face."; + mes "You don't have to be shy."; + break; + case 2: + mes "[Devries]"; + mes "That's right huh?"; + mes "Well, as I expected, there really is something that makes homeland people get each other"; + break; + } + next; + mes "[Devries]"; + mes "When you saw me in that feverish state, you remembered what I said before and that calmed me down."; + next; + mes "[Devries]"; + mes "I like the way you manage yourself and take care to remember small details."; + mes "You have the talent to become a Geneticist."; + next; + mes "[Devries]"; + mes "^FF0000If you become a Geneticist, you can't take the Alchemist's or Biochemist study course that you haven't investigated before.^000000"; + mes "If that's all right for you, how about giving it a shot right now?."; + next; + switch(select("I'll try later.:I want to become a Geneticist!")) { + case 1: + mes "[Devries]"; + mes "Alright."; + mes "Even though your knowledge is not that great as that of Geneticists, a fundamental knowledge is also important."; + mes "Popo, come back to me once you've finished your studies."; + set job_gen,4; + close; + case 2: + mes "[Devries]"; + mes "Good!"; + mes "Let's do it!"; + set job_gen,5; + close; + } + } else if (job_gen == 4) { + mes "[Devries]"; + mes "Popo!"; + mes "Are you ready to give it a shot?"; + next; + switch(select("No.:Yes!")) { + case 1: + mes "[Devries]"; + mes "You have to do your best! There is no easy way when looking for knowledge!"; + close; + case 2: + mes "[Devries]"; + mes "Very good!"; + mes "Let's do it!"; + set job_gen,5; + close; + } + } else if (job_gen == 5) { + mes "[Devries]"; + mes "What do you think of plants, Popo"; + mes "Do you like plants? What kind of plants are you interested in?"; + next; + mes "- Boom, Boom, Boom -"; + next; + emotion e_swt; + mes "[Devries]"; + mes "Ah, please tell me Demi Calberine is not starting again?"; + mes "Please let my expectation be wrong ... Please... Demi, please..."; + next; + mes "[Devries]"; + mes "Where did I stop talking"; + mes "Oh, right. Plants are very important in Alchemy."; + next; + mes "[Devries]"; + mes "Alchemy can make Flora's and Geographers grow immensely fast, so they can help in battle, like those Alchemists..."; + next; + mes "- Boom!! Boom!! Boom!! Boom!! -"; + next; + emotion e_dots; + mes "[Devries]"; + mes "......................."; + next; + emotion e_dots; + mes "[Devries]"; + mes "Techniques, plants are relatively easy to..."; + next; + mes "- Boom!!!!!! -"; + next; + emotion e_dots; + mes "[Devries]"; + mes "Crossbreed..."; + next; + mes "- Pop!!!!!! -"; + mes "- Keeeeeeeeeeeeeh!!!! -"; + mes "- Boooooooooooooom!!!! -"; + mes "- Boom!! Boom!! Boom!! -"; + next; + emotion e_dots; + mes "[Devries]"; + mes "......................."; + next; + emotion e_dots; + mes "[Devries]"; + mes "Popo."; + next; + emotion e_dots; + mes "[Devries]"; + mes "I'll give you the test to become a Geneticist."; + next; + mes "[Devries]"; + mes "The subject is <The Perfect Soundproof System>!"; + mes "Please think of a way to save me from Demi Calberine's noise, using plants and experimental equipment that are here on the 1st floor of the lab."; + next; + mes "[Devries]"; + mes "Well, you better get started!"; + set job_gen,6; + close; + } else if (job_gen == 6) { + mes "[Devries]"; + mes "The subject is <The Perfect Soundproof System>!"; + mes "Please think of a way to save me from Demi Calbereine's noise, using plants and experimental equipment that are here on the 1st floor of the lab."; + next; + mes "[Devries]"; + mes "There are some guides in the cabinet that you may use."; + mes "Well, you better get started!"; + close; + } else if (job_gen > 6 && job_gen < 60) { + mes "[Devries]"; + mes "Is there a problem?"; + next; + switch(select("Nothing.:The experiment failed.")) { + case 1: + mes "[Devries]"; + mes "Better get started, or I'll start to scream!!!"; + close; + case 2: + mes "[Devries]"; + mes "You can start from the beginning then?"; + mes "Why are you asking me such things?"; + set job_gen,7; + if (checkquest(2209) == 1) erasequest 2209; + if (checkquest(2210) == 1) erasequest 2210; + if (checkquest(2211) == 1) erasequest 2211; + if (checkquest(2212) == 1) erasequest 2212; + if (checkquest(2213) == 1) erasequest 2213; + if (checkquest(2214) == 1) erasequest 2214; + close; + } + } else if (job_gen == 60 || job_gen == 61) { + mes "- Zing Zing Zigi Zigi -"; + next; + mes "- Zing Zing Zigi Zigi -"; + next; + mes "[Devries]"; + mes "What the hell is Demi Calberine doing?"; + mes "That's really a noisy one."; + next; + mes "[Devries]"; + mes "Your study is done, Popo?"; + mes "Give me those seeds."; + next; + if (countitem(6273) == 0 && countitem(6272) == 0) { + mes "[Devries]"; + mes "What happened?"; + mes "How could you say the study is completed without any result?"; + mes "Start again."; + set job_gen,7; + } else { + mes "[Devries]"; + mes "Well, I'll take a look at the seeds Popo made."; + mes "What's the result?"; + next; + mes "[Devries]"; + mes "When you put a seed in a Super Cultivator, and adjust the temperature..."; + next; + mes "[Devries]"; + mes "Damn!"; + next; + if (job_gen == 60) { + specialeffect EF_FLASHER,AREA,"Super Cultivator#gen"; + specialeffect EF_PHARMACY_OK,AREA,"Super Cultivator#gen"; + mes "[Devries]"; + mes "Popo, look at that!"; + mes "That's really a mysterious plant!"; + next; + mes "[Devries]"; + mes "The inside of the Cultivator is now full of thorny stems!"; + mes "It's as if the stems are making a wall and growing very sturdily and those are getting tangled!"; + next; + mes "[Devries]"; + mes "This is it, Popo!"; + mes "This plant's properties can be used for many applications!"; + next; + mes "[Devries]"; + mes "This is really great, Popo."; + mes "I knew that you were knowledgeable but your ability is more than that!"; + next; + mes "[Devries]"; + mes "I will tell the outcome to the Alchemist Union."; + mes "I will send a recommendation letter saying that your ability is really great and that you could be a brilliant member."; + next; + mes "[Devries]"; + mes "Getting an answer from the Union will take some time, so could you wait a moment?"; + mes "Why don't you go up to Demi Calberine?"; + next; + mes "[Devries]"; + mes "She is a fellow Geneticist, specializing in mini cannons."; + mes "Go take a look at her experiment results."; + mes "Could you give this message to her? Tell her to conduct her experiments quietly."; + delitem 6273,1; //Altered_Seed + set job_gen,62; + changequest 2215,2216; + } else { + specialeffect EF_SPELLBREAKER,AREA,"Super Cultivator#gen"; + specialeffect EF_PHARMACY_FAIL,AREA,"Super Cultivator#gen"; + mes "[Devries]"; + mes "Uh oh! You failed, Popo."; + mes "It didn't grow at all, it's withered already."; + mes "Go and start over!"; + delitem 6272,1; //Experiment_Seed + set job_gen,7; + } + } + if (checkquest(2209) == 1) erasequest 2209; + if (checkquest(2210) == 1) erasequest 2210; + if (checkquest(2211) == 1) erasequest 2211; + if (checkquest(2212) == 1) erasequest 2212; + if (checkquest(2213) == 1) erasequest 2213; + if (checkquest(2214) == 1) erasequest 2214; + close; + } else if (job_gen > 61 && job_gen < 76) { + if (checkquest(2223,HUNTING) == 2) { + mes "[Devries]"; + mes "Oh, wait a second."; + mes "It seems that the mail's has arrived."; + set job_gen,76; + completequest 2223; + close; + } + mes "[Devries]"; + mes "You can take a look at the Demi Calberine's work place while we get an answer from the Union."; + close; + } else if (job_gen == 76) { + mes "[Devries]"; + mes "Popo!"; + mes "I've got good news for you!"; + next; + if (checkweight(1201,2) == 0 || MaxWeight - Weight < 2000) { + mes "- Wait a minute !! -"; + mes "- Currently you're carrying -"; + mes "- too many items with you. -"; + mes "- Please try again -"; + mes "- after you lose some weight. -"; + close; + } + mes "[Devries]"; + if (BaseJob != Job_Alchemist || BaseLevel < 99 || JobLevel < 50) { + mes "Oh, it looks like you're not ready to hear it."; + close; + } + if (checkcart()){ + mes "First take off that heavy and dirty cart, that doesn't suit you on this happy moment."; + close; + } + if (SkillPoint != 0) { + mes "But you look like you have a lingering desire for previous studies."; + close; + } + mes "A letter has arrived from the Alchemist Union."; + mes "I'll read it to you, Popo!"; + next; + mes "<Dearest Miss Devries,>"; + mes "<We are very aware of the brilliant activities you've shown lately.>"; + next; + mes "<Miss. Devries>"; + mes "This guy is also from my hometown."; + next; + mes "<I heard very good news that your research results are taking the step of commercial use.>"; + mes "<I'm sure it will be a great inspiration for other Alchemists.>"; + next; + mes "<Come to think of it, you've attached a paper?>"; + mes "<It was a new plant which makes plants grow super-fast, discovered by an Alchemist named, "+strcharinfo(0)+">"; + next; + mes "<Myself and many other Alchemists from the Alchemist union are taking great interest in this.>"; + next; + mes "<We are looking forward to more volumes of study papers and outcomes, especially from other Geneticists who?ve heard this news.>"; + next; + mes "<Miss. Devries>"; + mes "<I think that "+strcharinfo(0)+" has enough ability and talent to be a Geneticist.>"; + next; + mes "<Please tell "+strcharinfo(0)+" as soon as possible that we are expecting remarkable activities as a Geneticist from now on.>"; + next; + mes "<The Alchemist Union is very proud of Miss Devries, Miss Demi Calberine and "+strcharinfo(0)+" who are excellent talented people.>"; + mes "<We hope that you yield good fruits in the future as well.>"; + next; + mes "[Devries]"; + if (ismounting()) { + mes "You are on a riding pet,"; + mes "so you cannot change your job."; + mes "Please unequip your riding pet and try again!"; + close; + } + mes "Congratulations, Popo!"; + mes "You are a Geneticist from now on!!"; + jobchange roclass(eaclass()|EAJL_THIRD); + set job_gen,77; + getitem 5752,1; //Midas_Whisper + getitem 2795,1; //Green_Apple_Ring + next; + mes "[Devries]"; + mes "Just like the word from the Union, I'm also looking forward to your awesome activities."; + mes "Let's try hard together! To become the best Geneticist!"; + close; + } else if (job_gen == 77) { + mes "[Devries]"; + mes "Popo, do you want to join my Love Orleans club? It's a club for those that love cookies. Of course, we don't think of doing weird things with Charles Orleans."; + close; + } + mes "[Devries]"; + mes "Am I that pretty to you? Why are you staring at me like that?"; + close; +} + +job3_gen01,83,72,3 script Delivery Box#generic 111,{ + mes "- There's a big box. -"; + if (job_gen == 2) { + next; + switch(select("Open the box.:Check the address.:Do nothing.")) { + case 1: + mes "- There are several cookie bags which are packed carefully in the box. -"; + next; + switch(select("Take out a cookie bag.:Do nothing.")) { + case 1: + mes "- You've taken out a cookie bag out of the box. -"; + set job_gen,3; + close; + case 2: + mes "You do nothing."; + close; + } + case 2: + mes "[From: Rune-Midgarts Kingdom, Prontera, Charles Orleans]"; + mes "[Recipient: Schwaltzvalt Republic, Lighthalzen, Devries]"; + close; + case 3: + mes "You do nothing."; + close; + } + } + close; +} + +job3_gen01,12,56,3 script Plant Guide#generic 111,{ + mes "<The Easiest Alchemy in the World>"; + mes "Written by Bob Ross."; + next; + switch(select("Animals:Plants:Minerals:Etc")) { + case 1: + mes "...Using animals in Alchemy can easily be practiced by anyone."; + mes "You can put the animals that you want to use on the white tray, imagine the goal you want to make and then practice the alchemy."; + mes "It's very easy."; + next; + mes "...The animals that are used in Alchemy might in the danger of getting extinct because of being captured by thoughtless alchemists."; + mes "So I won't mention them."; + close; + case 2: + mes "...The guide of Alchemy using plants is easy to follow, even for a little kid."; + mes "You can put the plants on the table, and break or cut them, connect them using a simple tool, then do alchemy."; + mes "That's really an extraordinary method."; + next; + mes "...The plants usually used for Alchemy are Bigibigi Grass and Muka Trees that have sharp thorns but are delicate inside and Bogi Creeper whose growth speed is really fast but parasitic on living things."; + if (job_gen == 6) + set job_gen,7; + close; + case 3: + mes "...Using minerals in Alchemy is a way that beginners find pretty easy."; + mes "You can put the minerals you want to in the beautifully crafted box, and sing any song that you can think of twice and then practice the alchemy."; + mes "That's really an easy way."; + next; + mes "...A mineral that's usually used for Alchemy is 'Phracon' which doesn't cost a lot."; + close; + case 4: + mes "...Alchemy is the easiest thing in the world."; + mes "This writer shows a cobalt blue Alchemy demonstration in front of students every week, and always get a big applaud from them."; + mes "I'm sure that you would be into the Alchemy world at the moment you read this book."; + close; + } +} + +// QuestID,PlantName,Description{,Part?} +function script Genetic_Job_Plant { + if (job_gen == 7) { + if (checkquest(getarg(0)) == -1 || checkquest(getarg(0)) == 0) { + mes "- "+getarg(2)+" -"; + next; + switch(select("Use it as a material.:Do not use.")) { + case 1: + if (getarg(3,0)) set .@str$,"some of the "; + mes "- You've acquired "+.@str$+getarg(1)+". -"; + setquest getarg(0); + close; + case 2: + mes "- This plant doesn't look suitable as an experiment sample. -"; + close; + } + } + mes "- You've already acquired "+getarg(1)+". -"; + close; + } else if (job_gen == 6) { + mes "Information related to this plant can be found in the Plant Guide in the cabinet."; + close; + } + mes "- "+getarg(2)+" -"; + close; +} + +job3_gen01,36,55,3 script Bigibigi Grass#gen 844,{ + callfunc "Genetic_Job_Plant",2209,"Bigibigi Grass","The size is quite big to be normal grass so it's called Bigibigi Grass."; + end; +} +job3_gen01,36,45,3 script Muka Tree#gen 844,{ + callfunc "Genetic_Job_Plant",2210,"Muka Tree","This is the Muka Tree which protects its delicate inside with sharp thorns.",1; + end; +} +job3_gen01,42,55,3 script Bogi Vine#gen 844,{ + callfunc "Genetic_Job_Plant",2211,"Bogi Vine","This is a Bogi Vine which has a very fast growth speed.",1; + end; +} +job3_gen01,30,58,3 script Aolatura#gen 844,{ + callfunc "Genetic_Job_Plant",2212,"Aolatura","This is known to blossom then thousand flowers as it only blooms once per lifetime."; + end; +} +job3_gen01,30,63,3 script Congra#gen 844,{ + callfunc "Genetic_Job_Plant",2213,"Congra","It's a plant that has a big and solid stem with enormous leaves."; + end; +} +job3_gen01,32,38,3 script Sticky Grass#gen 844,{ + callfunc "Genetic_Job_Plant",2214,"Sticky Grass","I may not know the name but it's sticky and can stick to just about anything."; + end; +} + +job3_gen01,7,50,3 script Testing Table#gen 844,{ + if (job_gen == 7) { + mes "- This is a testing table with a lot of equipment. I think I can study the combinations here with plants. -"; + next; + if(select("Conduct an experiment.:Do not conduct an experiment.") == 2) { + mes "- It's not the time to start an experiment. -"; + close; + } + if ((checkquest(2209) == -1 || checkquest(2209) == 0) && + (checkquest(2210) == -1 || checkquest(2210) == 0) && + (checkquest(2211) == -1 || checkquest(2211) == 0) && + (checkquest(2212) == -1 || checkquest(2212) == 0) && + (checkquest(2213) == -1 || checkquest(2213) == 0) && + (checkquest(2214) == -1 || checkquest(2214) == 0)) { + mes "["+strcharinfo(0)+"]"; + mes "Hmm, I need to gather plant materials first."; + close; + } + mes "What shall I do with these plant materials?"; + next; + select("Break.:Smash into little pieces.:Crush."); + while (1) { + mes "What shall I do now?"; + next; + if (rand(2)) + select("Burn into Ashes.:Dip into distilled water.:Steam."); + else + select("Put it into a Testing Flask and Shake.:Freeze.:Heat."); + if (!rand(7)) break; + } + mes "What shall I do now?"; + next; + select("Inject it into a testing seed."); + mes "What kind of seed should I pick?"; + next; + select("Testing Seed - Type A:Testing Seed - Type B:Testing Seed - Type C:Testing Seed - Type D"); + mes "I've put the prepared materials into the chosen testing seed."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Good. Now I can let Miss Devries take a look at this seed!"; + if ((checkquest(2209) == -1 || checkquest(2209) == 0) && + (checkquest(2210) == -1 || checkquest(2210) == 0) && + (checkquest(2211) == -1 || checkquest(2211) == 0)){ + set job_gen,61; + getitem 6272,1; //Experiment_Seed + close; + } + if (checkquest(2209) == 1) set job_gen,job_gen+10; + if (checkquest(2210) == 1) set job_gen,job_gen+10; + if (checkquest(2211) == 1) set job_gen,job_gen+10; + set .@score, job_gen + JobLevel - 20; + if (rand(1,100) < .@score) { + set job_gen,60; + getitem 6273,1; //Altered_Seed + close; + } else { + set job_gen,61; + getitem 6272,1; //Experiment_Seed + close; + } + } else if (job_gen > 7 && job_gen < 60) { + mes "- It looks like the experiment has failed. I better start over. -"; + set job_gen,7; + if (countitem(6273)) delitem 6273,1; //Altered_Seed + if (countitem(6272)) delitem 6272,1; //Experiment_Seed + if (checkquest(2209) == 1) erasequest 2209; + if (checkquest(2210) == 1) erasequest 2210; + if (checkquest(2211) == 1) erasequest 2211; + if (checkquest(2212) == 1) erasequest 2212; + if (checkquest(2213) == 1) erasequest 2213; + if (checkquest(2214) == 1) erasequest 2214; + close; + } else if (job_gen == 60 || job_gen == 61) { + mes " - It looks like I need to let Miss Devries take a look at this seed! -"; + end; + } + mes "- This is a testing table with a lot of equipment. I think I can study the combinations here with plants. -"; + close; +} + +job3_gen01,21,67,3 script Super Cultivator#gen 844,{ + end; +} + +job3_gen01,91,48,3 script Demi Calberine#gen 982,{ + mes "[Demi Calberine]"; + if (job_gen < 62) { + mes "Hmm~ Where'd that bolt go?"; + close; + } else if (job_gen == 62) { + mes "Oh that blue cart~"; + mes "Load picture-like cannon~"; + mes "With my lovely darling~"; + mes "Wanna shoot cannon foereva~~"; + next; + mes "[Demi Calberine]"; + mes "Er~ Where's the bolt?"; + mes "Why aren't their enough screws? Didn't I order new ones just recently?"; + next; + select("Hello~?"); + mes "[Demi Calberine]"; + mes "Oh, my~?"; + mes "When did you... Who are you?"; + next; + mes "[Demi Calberine]"; + mes "Oh, my god!"; + mes "Hey! Please help me!"; + next; + mes "[Demi Calberine]"; + mes "I need to complete and ordered mini cannon today, but I can't find the parts!"; + next; + mes "[Demi Calberine]"; + mes "Ugh~ I think they dropped around here somewhere."; + mes "I only need 10! I need to put the other parts together first... Please could you help me?!"; + changequest 2216,2217; + set job_gen,63; + close; + } else if (job_gen > 62 && job_gen < 74) { + mes "Ah, oh no, oh no~~~"; + mes "Did you find the parts? No, not yet? You promised, please hurry up!"; + close; + } else if (job_gen == 74) { + mes "With this cart, the firepower won't do well, then let's put it in this way..."; + next; + select("I've got the parts."); + mes "[Demi Calberine]"; + mes "Oh, gosh!"; + mes "You scared me to death!!"; + mes "Oh, are these my lost screws and bolts?"; + mes "Where did you find these?"; + next; + select("You asked me to find them!"); + mes "[Demi Calberine]"; + mes "Oh?, really?"; + mes "Did I? Hohohohoho."; + mes "I don't even know where my mind is."; + next; + mes "[Demi Calberine]"; + mes "Please wait a moment."; + mes "I will be done quickly with these."; + next; + mes "- Snap Snap Snap -"; + next; + mes "[Demi Calberine]"; + mes "Okay, I've connected the cannon to the cart... Now shall we test the performance?"; + next; + mes "- Sizlle... -"; + next; + mes "- Pop! Pop! Pop! Pop! -"; + next; + mes "[Demi Calberine]"; + mes "Great! Success!"; + mes "Whew. You've been a lot of help to me."; + mes "Thank you very much."; + next; + mes "[Demi Calberine]"; + mes "Oh, by the way what made you come here?"; + mes "Did you come here to order something"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I'm a Geneticist applicant."; + mes "I heard that you were very knowledgeable about portable mini cannons and stuff."; + next; + mes "[Demi Calberine]"; + mes "Yep, I deal with many kinds of cannons."; + mes "Nowadays, there are those who want to remodel their carts, so I've been installing several additional functions such as mini cannons to their carts."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Cart remodeling?"; + next; + mes "[Demi Calberine]"; + mes "Yes, didn't you want to race out when you went downhill?"; + mes "Or haven't you ever thought that it was so boring dragging around that plain old cart?"; + next; + mes "[Demi Calberine]"; + mes "Carts are no longer just a wagon for storage."; + mes "You could hang a cannon on a cart to make it help you boost your attack power."; + next; + mes "[Demi Calberine]"; + mes "Miss Devries seems to be studying childish experiments downstairs."; + mes "I don't understand why those research papers get so popular."; + emotion e_pif; + next; + mes "[Demi Calberine]"; + mes "See this mini-mini cannon."; + mes "This is the smallest and the lightest cannon in the world."; + mes "This is what I made but isn?t this so cute? Yipee~"; + emotion e_awsm; + next; + select("Can I get my cart remodeled?"); + mes "[Demi Calberine]"; + mes "Unfortunately, the cart remodeling is only allowed for Geneticists."; + mes "It's a rule from the Alchemist Union, so I can't help it."; + next; + mes "[Demi Calberine]"; + mes "But don't get disappointed."; + mes "You can be a Geneticist too!"; + mes "Hohoho."; + next; + mes "[Demi Calberine]"; + mes "And what's more, you can?t so the cart remodeling to just any cart."; + mes "It can only be done on quality certified carts that've been polished for a long time."; + next; + mes "[Demi Calberine]"; + mes "You should practice your cart skills whenever you have time until you become a Geneticist."; + mes "Till your muscles are dealing with your cart in powerful harmony and your cart moves beautifully,"; + next; + mes "[Demi Calberine]"; + mes "If you want, ^FF0000I'll show you a good training spot.^000000"; + mes "^FF0000Devries won't like it much^000000, but it's the best place. Haha."; + next; + mes "[Demi Calberine]"; + mes "How about you swing your cart around as practice?"; + mes "When you swing your cart at least ^FF0000100^000000 times, you can get rid of stress and the cart will be polished up enough."; + next; + mes "[Demi Calberine]"; + mes "Well, I need to get to work for the next order."; + mes "Come and find me whenever you need training."; + mes "I'll help you out whenever you need your cart remodeled."; + next; + mes "- Rattle -"; + next; + mes "- What's this? I feel like the floor is missing somewhere. -"; + set job_gen,75; + changequest 2217,2223; + close2; + warp "job3_gen01",23,32; + end; + } else if (job_gen == 75) { + if (checkquest(2223,HUNTING) == 2) { + mes "It seem Miss Devries found out that I put you in her spore pen."; + mes "It's funny when you look at her face. After you've killed all those spores."; + close; + } + mes "Sigh, haven't you finished practicing?"; + mes "Do you want to enter the spore pen?"; + next; + switch(select("Yes.:No.")) { + case 1: + mes "[Demi Calberine]"; + mes "Have fun swinging your cart around~"; + close2; + warp "job3_gen01",23,32; + end; + case 2: + mes "[Demi Calberine]"; + mes "What a shame! I wanted to see Miss Devries's angry face."; + close; + } + } else if (job_gen > 75) { + mes "It seem Miss Devries found out that I put you in her spore pen."; + mes "It's funny when you look at her face. After you've killed all those spores."; + close; + } +} + +- script Scattered Stuff#gen -1,{ + if (job_gen > 62 && job_gen < 74) { + mes "- There are so many scattered things on the floor that the lab is in chaos. -"; + next; + mes "- You found a little metal fragment. -"; + set job_gen, job_gen+1; + specialeffect EF_BASH; + disablenpc strnpcinfo(0); + initnpctimer; + close; + } else if (job_gen == 74) { + mes "- I think I've gathered all of the parts. -"; + close; + } + end; +OnTimer7000: + enablenpc strnpcinfo(0); + stopnpctimer; + end; +} +job3_gen01,84,45,3 duplicate(Scattered Stuff#gen) Scattered Stuff#gen1 111 +job3_gen01,77,41,3 duplicate(Scattered Stuff#gen) Scattered Stuff#gen2 111 +job3_gen01,78,57,3 duplicate(Scattered Stuff#gen) Scattered Stuff#gen3 111 +job3_gen01,89,59,3 duplicate(Scattered Stuff#gen) Scattered Stuff#gen4 111 +job3_gen01,90,51,3 duplicate(Scattered Stuff#gen) Scattered Stuff#gen5 111 +job3_gen01,83,27,3 duplicate(Scattered Stuff#gen) Scattered Stuff#gen6 111 +job3_gen01,74,45,3 duplicate(Scattered Stuff#gen) Scattered Stuff#gen7 111 + +job3_gen01,18,39,3 script Warning#gen 837,{ + mes "= Warning ="; + mes "If you bully my spores, I'll scream!!!"; + if (job_gen < 75) close; + next; + switch(select("Get out of the pen.:Stay still.")) { + case 1: + mes "- I'd better get out before I get caught by Miss Devries. -"; + close2; + warp "job3_gen01",21,38; + end; + case 2: + mes "- I decide to stay still. -"; + close; + } +} + +job3_gen01,80,12,1 script Stacked Magazines#gen 111,{ + mes "- 'Monthly Bang!' magazines are piled up in disorder. -"; + close; +} + +job3_gen01,83,20,1 script Bed#gen 111,{ + mes "- A checker patterned blanket set which looks like it was picked carefully is too good for this dirty bed. -"; + close; +} + +job3_gen01,85,25,1 script Opened Book#gen 111,{ + mes "< Do you want to have my pretty room? Do you have enough zeny? Is there enough room? Run to the Lighthalzen Department Store right away and get the most high-end wall papers and interior accessories! >"; + next; + mes "< Luxurious candles that'll lighten up your room, a huge golden mirror that every lady owns, you cannot miss any of them! >"; + close; +} + +job3_gen01,81,81,0 script #dbroom 139,2,2,{ +OnTouch: + mes "- It's a room that looks like a storehouse, thanks to so many parcels piled up in the room. -"; + close; +} + +job3_gen01,24,32,0 script The gaze of Devries 139,2,2,{ +OnTouch: + if (checkquest(2223,HUNTING) == 2) { + mapannounce "job3_gen01","Devries: Whoa? Was there a lost kitty in the spore pen?",bc_map,"0x99CC00"; //FW_NORMAL 12 0 0 + emotion e_omg,1; + warp "job3_gen01",21,38; + } + end; +} + +job3_gen01,26,34,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,23,33,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,21,30,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,26,34,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,23,33,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,21,30,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,26,34,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,23,33,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,21,30,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,26,34,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,23,33,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,21,30,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,26,34,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,23,33,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,21,30,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,26,34,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,23,33,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,21,30,0,0 monster Poison Spore 1428,1,7000,0,0
\ No newline at end of file diff --git a/npc/re/jobs/3-2/minstrel.txt b/npc/re/jobs/3-2/minstrel.txt new file mode 100644 index 000000000..9610e2c57 --- /dev/null +++ b/npc/re/jobs/3-2/minstrel.txt @@ -0,0 +1,1920 @@ +//===== rAthena Script ======================================= +//= Minstrel Job Quest +//===== By: ================================================== +//= Muad_Dib +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Job change Quest from Bard / Clown -> Minstrel. +//===== Additional Comments: ================================= +//= 1.0 First Version. [Masao] +//= 1.1 Fix the checking of requirements before job change to Minstel [JayPee] +//= 1.2 Optimized. [Euphy] +//= 1.3 Updated script. [Euphy] +//============================================================ + +alberta,196,133,4 script Bard#job_min 486,{ + if (job_min == 0) { + if (BaseJob == Job_Bard && BaseLevel > 98 && JobLevel > 49) { + mes "[Bard]"; + mes "The voice of heaven revolves around in my ears"; + mes "like a wandering wind,"; + next; + mes "[Bard]"; + mes "Even though I close my eyes and cover my ears,"; + mes "I can hear a voice from somewhere,"; + next; + mes "[Bard]"; + mes "It put temptation in exhausted crewman to deep sleep,"; + mes "made them feel as if they were in a land of dreams."; + next; + mes "[Girl]"; + mes "Ahhh!! Awesome!!"; + next; + mes "[Boy]"; + mes "Encore!! Encore!!!"; + next; + mes "[Old Man passing by]"; + mes "Eeeee~ that's not real song..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Clap."; + mes "I can feel the rhythm."; + mes "Can I hear one more song?"; + next; + mes "[Bard]"; + mes "Hum?"; + mes "Judging by your outfit I think you are good at singing, why don't you sing us a song?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "??!!"; + next; + mes "[Bard]"; + mes "Hahaha!"; + mes "Just kidding."; + mes "Were you serious? Haha."; + next; + mes "["+strcharinfo(0)+"]"; + mes "..."; + next; + mes "[Karian]"; + mes "Sorry~"; + mes "Don't be upset..."; + mes "My name is Karian, I'm just going around."; + next; + mes "[Karian]"; + mes "Do you want to go somewhere?"; + mes "Alberta is perfect for traveling."; + next; + mes "[Karian]"; + mes "But when you go to sea, you have to be careful."; + mes "If you run into a Siren, then it's only a matter of time before she kills you."; + next; + mes "[Karian]"; + mes "No man can survive after hearing ^f57d7dthe voice of a Siren^000000."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I'm "+strcharinfo(0)+"."; + mes "Are you here in Alberta to travel?"; + next; + mes "[Karian]"; + mes "Um... I'm not trying to leave..."; + mes "..."; + next; + mes "[Karian]"; + mes "Yes!"; + mes "I'm looking for '^f57d7dMaestro Song^000000'."; + next; + mes "["+strcharinfo(0)+"]"; + mes "^f57d7d'Maestro Song'^000000, you mean the poet of legend?"; + next; + mes "[Karian]"; + mes "That's right."; + mes "According to a rumor that I heard, he is a rich noble."; + mes "But other than that fact, I can't get any more information."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Why can't you get any more information?"; + next; + mes "[Karian]"; + mes "Well?"; + mes "That's why I tried to go Prontera..."; + mes "Umm..."; + next; + mes "[Karian]"; + mes "If you are interested, why don't help me find out where ^f57d7d'Maestro Song'^000000 is?"; + next; + if(select("Ok.:No.") == 2) { + mes "["+strcharinfo(0)+"]"; + mes "I'm not interested."; + next; + mes "[Karian]"; + mes "Are you? It can't be helped."; + mes "See you later~"; + close; + } + mes "["+strcharinfo(0)+"]"; + mes "Ok, I will."; + set job_min,1; + setquest 11135; + next; + mes "[Karian]"; + mes "It's good to travel by yourself but sometimes you feel that you want to have friends around."; + next; + mes "[Karian]"; + mes "Then "+strcharinfo(0)+"."; + mes "Can you collect some ^f57d7dInformation on 'Maestro Song'^000000 in ^f57d7dProntera^000000?"; + mes "Because I have something to investigate in Alberta."; + next; + mes "[Karian]"; + mes "Please come back here after finishing the investigation."; + close; + } + mes "[Bard]"; + mes "You have to be careful when you are going to sea."; + mes "If a Siren fascinates you, then it's only a matter of time before she kills you."; + next; + mes "[Bard]"; + mes "No man can survive after hearing ^f57d7dthe voice of a Siren^000000."; + close; + } else if (job_min == 1) { + mes "[Karian]"; + mes "It's good to travel by yourself but sometimes you feel that you want to have friends around."; + next; + mes "[Karian]"; + mes "Then "+strcharinfo(0)+"."; + mes "Can you collect some ^f57d7dInformation on 'Maestro Song'^000000 in ^f57d7dProntera^000000?"; + mes "Because I have something to investigate in Alberta."; + next; + mes "[Karian]"; + mes "Please come back here after finishing the investigation."; + close; + } else if (job_min > 1 && job_min < 4) { + mes "[Karian]"; + mes "Can you collect some ^f57d7d information on 'Maestro Song'^000000 in ^f57d7dProntera^000000?"; + mes "Because I have something to investigate in Alberta."; + next; + mes "[Karian]"; + mes "Please come back here after finishing the investigation."; + close; + } else if (job_min == 4) { + mes "[Karian]"; + mes strcharinfo(0)+"! Did you already go to Prontera?"; + mes "Did you get any useful information?"; + next; + mes "[Karian]"; + mes "Hum~ did you?"; + mes "I think that's not enough to use..."; + next; + mes "[Karian]"; + mes "Huhu~ But I got some useful information from some of the captains here in Alberta."; + next; + mes "[Karian]"; + mes "I heard that there is a ship which had a man who could be ^f57d7dMaestro Song^000000."; + mes "A few years ago, it was a ship headed for ^f57d7dHugel^000000."; + next; + mes "[Karian]"; + mes "It doesn't exist any more, so I need to take an airship..."; + mes "It's my first time to take it."; + next; + mes "[Karian]"; + mes "Um.."; + mes "Anyway let's meet at the airship in Izlude."; + set job_min,5; + changequest 11138,11139; + close; + } else if (job_min == 100) { + mes "[Karian]"; + mes "The voice of heaven revolves around my ears"; + mes "like a wandering wind,"; + next; + mes "[Bard]"; + mes "Even though I close my eyes and cover my ears,"; + mes "I can hear a voice from somewhere,"; + next; + mes "[Bard]"; + mes "It put temptation in exhausted crewman to deep sleep,"; + mes "make them feel as if they are in the land of dreams."; + next; + mes "[Karian]"; + mes "Ah!!! "+strcharinfo(0)+" Long time no see!"; + mes "What? What am I doing here?"; + next; + mes "[Karian]"; + mes "Well?"; + mes "Let me leave here?"; + next; + mes "[Minstrel Song]"; + mes "Whenever you want to see me, visit me."; + mes "If you have time come by and have a chat with me."; + next; + switch(select("Accept.:Refuse.")) { + case 1: + mes "[Minstrel Song]"; + mes "Did you visit somewhere fun?"; + mes "I'm excited!"; + close2; + warp "prt_in",101,174; + end; + case 2: + mes "[Minstrel Song]"; + mes "Then pass by here next time."; + close; + } + } + mes "[Bard]"; + mes "The voice of heaven revolves around in my ears"; + mes "like wandering wind,"; + next; + mes "[Bard]"; + mes "Even though I close my eyes and cover my ears,"; + mes "I can hear the voice from somewhere,"; + next; + mes "[Bard]"; + mes "It put temptation in exhausted crewman to deep sleep,"; + mes "make them feel as if they are in the land of dreams."; + close; +} + +prontera,141,97,4 script Warmhearted woman 701,{ + mes "[Warmhearted woman]"; + if (job_min == 1) { + mes "Maestro Song?"; + mes "I haven't heard that name before."; + next; + mes "[Warmhearted woman]"; + mes "Is he a legendary poet?"; + mes "I don't know who he is, but I guess he is a grand man?"; + next; + mes "[Warmhearted woman]"; + mes "Ah! Ask a ^f57d7dman wearing glasses near the gate of the castle^000000 about a song."; + mes "He will make a book of 100 hit songs~"; + next; + mes "[Warmhearted woman]"; + mes "He must know something about making that book."; + set job_min,2; + changequest 11135,11136; + close; + } else if (job_min == 2) { + mes "Ah! Ask a ^f57d7dman wearing glasses near the gate of the castle^000000 about the song."; + mes "They will make a book of 100 hit songs~"; + next; + mes "[Warmhearted woman]"; + mes "He must know something about making that book."; + close; + } + mes "I heard that a ^f57d7dman wearing glasses near the gate of the castle^000000 is making a 100 hit song book~"; + close; +} + +prontera,140,331,6 script Glasses-wearing Man 883,{ + mes "[Glasses-wearing Man]"; + if (job_min == 2) { + mes "You mean Maestro Song?"; + mes "I don't know details of his life but I heard that he wrote great songs."; + next; + mes "[Glasses-wearing Man]"; + mes "I don't get how a boy raised in a rich environment could write a song like this."; + next; + mes "[Glasses-wearing Man]"; + mes "He is still on a trip, but these days we haven't heard new songs from him."; + next; + mes "[Glasses-wearing Man]"; + mes "So we are worried."; + next; + mes "[Glasses-wearing Man]"; + mes "It would be better to ask the ^f57d7dwoman standing in front of the tool shop^000000."; + set job_min,3; + changequest 11136,11137; + close; + } else if (job_min == 3) { + mes "It would better to ask the ^f57d7dwoman standing in front of the tool shop^000000."; + close; + } + mes "100 hit songs!!"; + mes "Whoever want to be a Minstrel should know about this!"; + next; + mes "[Glasses-wearing Man]"; + mes "Once this book is completed, I'll be rich!"; + mes "Haha!!"; + close; +} + +prontera,146,218,4 script Woman#job_min 90,{ + if (job_min == 3) { + mes "[Woman]"; + mes "Do you know who Maestro Song is?"; + mes "I think he must be my little boy."; + next; + mes "[Woman]"; + mes "A few years ago, he went off to sea but he never came back."; + next; + mes "[Woman]"; + mes "He liked to sing a lot but we didn't let him sing."; + next; + mes "[Woman]"; + mes "His father didn't like him singing much."; + next; + mes "[Woman]"; + mes "So he broke every instrument in the house..."; + mes "It was terrible."; + mes "Where is my little boy... sniff."; + next; + mes "- I can't get anymore -"; + mes "- useful information. -"; + mes "- I'll go back to Alberta -"; + mes "- and talk to that Bard. -"; + set job_min,4; + changequest 11137,11138; + close; + } else if (job_min == 4) { + mes "- I can't get any more -"; + mes "- useful information. -"; + mes "- Go back to Alberta. -"; + mes "- and talk to that Bard. -"; + close; + } + mes "[Woman]"; + mes "Where is my little boy... sniff."; + close; +} + +airplane,222,67,6 script Karian#job_min1 486,{ + mes "[Karian]"; + mes "Yup!!!!!!!!!!!!!!!!!!"; + next; + mes "[Karian]"; + mes "Please leave me alone."; + mes "I feel nauseated."; + next; + mes "[Karian]"; + mes "Acchh..."; + if (job_min == 5) { + set job_min,6; + changequest 11139,11140; + close2; + warp "hu_in01",267,8; + end; + } + close; +} + +hu_in01,267,5,3 script Karian#job_min2 486,{ + mes "[Karian]"; + if (job_min == 6) { + mes "Eeeeh it's so painful."; + mes "I don't want to feel like this ever again."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Are you ok?"; + next; + mes "[Karian]"; + mes "..."; + mes "No..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I'm feeling ok."; + mes "So, I'm going to find out information in town, you can take a rest."; + next; + mes "[Karian]"; + mes "Sorry, blech! I still feel bad..."; + mes "You can get good information from the ^f57d7dPub^000000. Owww..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "You don't have to tell me everything. I can take care of it."; + next; + mes "[Karian]"; + mes "..."; + set job_min,7; + changequest 11140,11141; + close; + } else if (job_min == 7) { + mes "Sorry... Owww!"; + mes "You can get good information from the ^f57d7dPub^000000. Owww..."; + close; + } else if (job_min == 8) { + mes "Wooo."; + mes "Did you get anything?"; + next; + mes "- Karian doesn't look -"; + mes "- like he's doing well. -"; + mes "- You can get information -"; + mes "- from a man in the Pub. -"; + close; + } else if (job_min == 9) { + mes "Owww..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "How do you feel?"; + next; + mes "[Karian]"; + mes "Oww..."; + mes "I feel better."; + next; + mes "[Karian]"; + mes "Did you get anything?"; + mes "I'm sorry that I can't be more helpful to you."; + next; + mes "["+strcharinfo(0)+"]"; + mes "No, it's ok."; + mes "I met a man in the Pub, he said that he got a song from 'Maestro Song'."; + next; + mes "[Karian]"; + mes "Pub?"; + mes "You got a song?"; + mes "....."; + mes "Bleech..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey! Are you sure that you are ok?"; + next; + mes "[Karian]"; + mes "I don't become airsick,"; + mes "It's just bad memories."; + mes "So did you hear something?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I heard a song named ^f57d7d'Metallic Sound'^000000."; + next; + mes "[Karian]"; + mes "What?!?!?!?!!!!!"; + mes "You heard that?!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Why? Do you know that song?"; + next; + mes "[Karian]"; + mes "Ahh..."; + mes "Y-yes..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hmm..."; + next; + mes "[Karian]"; + mes "I met him before."; + mes "He has a great voice..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Yes."; + mes "I blacked out as I heard that song."; + next; + mes "[Karian]"; + mes "He has the destructive power of voice."; + mes "And he..."; + mes "What else?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ah!!"; + mes "^f57d7d'Maestro Song'^000000 went to ^f57d7dThanatos Tower^000000."; + mes "I don't know why he went there."; + next; + mes "[Karian]"; + mes "Did he? I must go there!"; + set job_min,10; + changequest 11142,11143; + close; + } else if (job_min == 10) { + mes "What are you doing? Let's go to Thanatos tower."; + close; + } + mes "Of course it's easy to take an airship, but sometimes it can be good to walk."; + next; + mes "[Karian]"; + mes "It isn't about my sickness."; + close; +} + +hu_in01,361,103,3 script Tone-deaf person 995,{ + if (job_min == 7) { + mes "[Tone-deaf person]"; + mes "Lala~ lala~"; + mes "Humming~?"; + next; + mes "[Tone-deaf person]"; + mes "lalala~"; + mes "lullula~"; + next; + mes "- It's very hard to hear. -"; + mes "- You start to have doubts -"; + mes "- that such sounds could -"; + mes "- be made from humans. -"; + next; + if(select("You move to other side.:Keep listening.") == 1) + close; + mes "[Tone-deaf person]"; + mes "Turuturu~"; + mes "Dadada~"; + next; + mes "[Tone-deaf person]"; + mes "Shubashuba~ shaaa~"; + mes "Blahblah~"; + mes "Lalala..."; + mes "......!!"; + next; + mes "[Tone-deaf person]"; + mes "Hum!! Hey you, you were listening to my song."; + mes "You look like a "+((Class == Job_Clown)?"Clown":"Bard")+", how about you sing for me as rewarding my song?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What?!"; + next; + mes "[Tone-deaf person]"; + mes "Sing for me."; + mes "Come on~"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ok..."; + mes "Hum hum..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "You are standing in the middle of Asgard's field."; + mes "You hand the fruit of heaven over to me~"; + mes "You are loved by every god~"; + next; + mes "[Tone-deaf person]"; + mes "Hooo~ You sing well. I can feel better when I hear ^f57d7d'Idun's apple'^000000~"; + next; + mes "[Tone-deaf person]"; + mes "As you can see!"; + mes "I'm a guy who can enjoy songs!"; + next; + mes "[Tone-deaf person]"; + mes "I think it is nothing to be proud of. But I'm good at singing."; + mes "When I was young, I tried to be a Bard but I had to succeed the family business."; + next; + mes "[Tone-deaf person]"; + mes "For a long time I lost my dream, I'm already old."; + next; + mes "[Tone-deaf person]"; + mes "I have family that needed my protection."; + mes "But one day I believe that my dreams come true!"; + next; + mes "[Tone-deaf person]"; + mes "In my spare time, I heard the stories of a tourist in the Pub."; + mes "When I left there, I didn't want to become a laughing stock."; + next; + mes "[Tone-deaf person]"; + mes "And I can show my song to those who know the song."; + next; + mes "[Tone-deaf person]"; + mes "They are usually surprised when they hear the song."; + mes "They are surprised by my skill."; + mes "Huhu"; + next; + mes "[Tone-deaf person]"; + mes "But ^f57d7d'Maestro Song'^000000 didn't get discouraged by my song."; + mes "Of course he isn't good enough to me."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Did you meet ^f57d7d'Maestro Song'^000000?"; + next; + mes "[Tone-deaf person]"; + mes "Hmm? Have you met him?"; + mes "I did. A few years ago."; + next; + mes "[Tone-deaf person]"; + mes "When he heard my song, he said that he can't hear songs like this anywhere."; + next; + mes "[Tone-deaf person]"; + mes "I could have the opportunity to sing for him in Hugel."; + mes "There is no one who has skill like that."; + next; + mes "[Tone-deaf person]"; + mes "Before he left, I got a song that reminds me of him."; + next; + mes "[Tone-deaf person]"; + mes "He said that he will go to Thanatos."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Did you get a song?"; + next; + mes "[Tone-deaf person]"; + mes "Yes!"; + mes "He conceded my ability!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Can I hear the song?"; + next; + mes "[Tone-deaf person]"; + mes "Hum..."; + mes "Wait."; + mes "I have to find a piece of paper."; + mes "I put it in my vest."; + next; + mes "[Tone-deaf person]"; + mes "Rummaging rummaging."; + mes "Browsing browsing ."; + set job_min,8; + close; + } else if (job_min == 8) { + mes "[Tone-deaf person]"; + mes "I got it."; + mes "Hum!"; + mes "Listen carefully!"; + mes "^f57d7d'Metallic Sound!!'^000000"; + next; + mes "[Tone-deaf person]"; + mes "$$$$$$@@@@@!!!!"; + mes "&&$%&@@@$#$~~"; + mes "$#^#$####$$!!!@@#!!!!!"; + percentheal -30,-30; + next; + mes "[Tone-deaf person]"; + mes "!@@@$$%^@@#%^%!!!!!!"; + mes "!!!!!!!##$$^^^#^!!!"; + mes "&$$%@@@%@##%~~~"; + percentheal -30,-30; + next; + mes "-You lose consciousness.-"; + mes "-This voice must have-"; + mes "-huge destructive-"; + mes "-power.-"; + percentheal -30,-30; + next; + mes "-And I can't remember-"; + mes "-the end of this song.-"; + next; + mes "[Tone-deaf person]"; + mes "Hey~"; + next; + mes "[Tone-deaf person]"; + mes "Open your eyes~"; + next; + mes "[Tone-deaf person]"; + mes "Clap"; + mes "Hey~"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Eeeee..."; + next; + mes "[Tone-deaf person]"; + mes "I think you are qualified, but you seem to need more training."; + next; + mes "["+strcharinfo(0)+"]"; + mes "......"; + next; + mes "-You're so exhausted.-"; + mes "-So go back to the hotel.-"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Thank you for your song."; + mes "I have to go back..."; + next; + mes "[Tone-deaf person]"; + mes "Ah?"; + mes "Ok see you later."; + mes "If you want to hear my song, you can visit me."; + mes "Hahahh"; + set job_min,9; + changequest 11141,11142; + close; + } else if (job_min == 9) { + mes "["+strcharinfo(0)+"]"; + mes "......"; + next; + mes "-I'm so exhausted.-"; + mes "-You got information-"; + mes "-so go back to the hotel.-"; + close; + } else if (job_min == 10) { + mes "[Tone-deaf person]"; + mes "Are you leaving??"; + mes "If you want to hear my song, you can visit me."; + mes "Hahahah"; + close; + } else if (job_min == 100) { + mes "[Tone-deaf person]"; + mes "Oh!!"; + mes "You seem to be strong!"; + mes "You are no less competent than I am."; + close; + } + mes "[Tone-deaf person]"; + mes "Lala~ lalal~"; + mes "Lulu~?"; + next; + mes "[Tone-deaf person]"; + mes "Lalalal~"; + mes "Lululul~"; + next; + mes "-It's very hard to hear.-"; + mes "-You start to have doubts-"; + mes "-that such a sound can be-"; + mes "-coming out a human.-"; + close; +} + +tha_scene01,140,200,0 script #min_receipt 139,3,3,{ +OnTouch: + if (job_min == 10 || (job_min == 11 && countitem(6271) == 0)) { + mes "-There is a piece of paper on the ground.-"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What is this?"; + next; + mes "[Karian]"; + mes "What does it say?"; + donpcevent "Karian#cmd1::OnEnable"; + next; + mes "==================="; + mes "==photo exchange=="; + mes "======receipt======"; + mes "==================="; + mes "Name : Maestro Song"; + next; + mes "- Bring this receipt and exchange it"; + mes ""; + mes "- Juno's store manager : Mr. Click."; + next; + mes "- Directions : Around Juno's plaza."; + getitem 6271,1; //Mins_Receipt + next; + mes "["+strcharinfo(0)+"]"; + mes "Photo exchange receipt?"; + mes "How did he drop it..."; + next; + mes "[Karian]"; + mes "Juno's store..."; + mes "Let's go to Juno..."; + if (job_min == 10) { + set job_min,11; + changequest 11143,11144; + } + donpcevent "Karian#cmd1::OnDisable"; + close; + } + end; +} + +tha_scene01,139,204,6 script Karian#cmd1 486,{ + end; +OnInit: + disablenpc "Karian#cmd1"; + end; +OnEnable: + enablenpc "Karian#cmd1"; + initnpctimer; + end; +OnDisable: + disablenpc "Karian#cmd1"; + stopnpctimer; + end; +OnTimer15000: + donpcevent "Karian#cmd1::OnDisable"; + stopnpctimer; + end; +} + +ve_fild07,129,132,5 script Karian#cmd5 486,{ + end; +OnInit: + disablenpc "Karian#cmd5"; + end; +OnEnable: + enablenpc "Karian#cmd5"; + initnpctimer; + end; +OnDisable: + disablenpc "Karian#cmd5"; + stopnpctimer; + end; +OnTimer30000: + donpcevent "Karian#cmd5::OnDisable"; + stopnpctimer; + end; +} + +prontera,155,49,4 script Karian#cmd9 486,{ + end; +OnInit: + disablenpc "Karian#cmd9"; + end; +OnEnable: + enablenpc "Karian#cmd9"; + initnpctimer; + end; +OnDisable: + disablenpc "Karian#cmd9"; + stopnpctimer; + end; +OnTimer300000: + donpcevent "Karian#cmd9::OnDisable"; + stopnpctimer; + end; +} + +yuno,146,168,0 script Karian#cmd2 486,{ + end; +OnInit: + disablenpc strnpcinfo(0); + end; +OnEnable: + enablenpc strnpcinfo(0); + initnpctimer; + end; +OnDisable: + disablenpc strnpcinfo(0); + stopnpctimer; + end; +OnTimer100000: + donpcevent strnpcinfo(0)+"::OnDisable"; + stopnpctimer; + end; +} +lighthalzen,160,124,6 duplicate(Karian#cmd2) Karian#cmd3 486 +ra_in01,357,128,0 duplicate(Karian#cmd2) Karian#cmd4 486 +comodo,184,109,0 duplicate(Karian#cmd2) Karian#cmd6 486 +moc_fild16,204,231,0 duplicate(Karian#cmd2) Karian#cmd7 486 +aldebaran,142,128,2 duplicate(Karian#cmd2) Karian#cmd8 486 + +yuno,143,170,6 script Mr. Click#job_min 748,{ + mes "[Mr. Click]"; + if (job_min == 11) { + mes "Hi~ welcome~"; + mes "I can take a picture for you."; + mes "Do you want to take a pic?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "No..."; + mes "Do you remember this receipt?"; + next; + mes "[Mr. Click]"; + mes "Let me see~"; + mes "Umm..."; + next; + mes "[Mr. Click]"; + mes "Yes..."; + mes "It looks so old."; + next; + mes "[Mr. Click]"; + mes "It's okay."; + mes "Tourists usually don't pick up their pictures."; + next; + mes "[Mr. Click]"; + mes "So there are plenty of photos I've been holding on to."; + next; + mes "[Mr. Click]"; + mes "I can find that so easily."; + mes "I keep lots of old stuff."; + mes "No problem."; + next; + mes "[Mr. Click]"; + mes "browsing~"; + next; + mes "[Mr. Click]"; + mes "browsing~"; + next; + mes "[Mr. Click]"; + mes "I think I found it!"; + mes "The photo crashed down, but it's ok."; + mes "No problem."; + next; + mes "[Mr. Click]"; + mes "Here, take a look."; + next; + mes "["+strcharinfo(0)+"]"; + mes "The picture!"; + mes "Let me see it!"; + next; + mes "[Karian]"; + mes "Hurry."; + donpcevent "Karian#cmd2::OnEnable"; + next; + mes "["+strcharinfo(0)+"]"; + mes "..."; + next; + mes "[Karian]"; + mes "Oh~ Good pic, isn't it?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I expected I would see the face of 'Maestro Song', but he's wearing a mask..."; + mes "He's wearing a mask?!"; + mes "We came here for this?"; + next; + mes "[Karian]"; + mes "Ah! look at this!"; + mes "Something is on the back of the picture."; + next; + mes "-I want to have a Teddy Bear. I need 33?"; + mes "-In front of Thanatos tower."; + mes "-Maestro Song."; + next; + mes "["+strcharinfo(0)+"]"; + mes "What does it mean?"; + next; + mes "[Karian]"; + mes "Well..."; + next; + mes "[Karian]"; + mes "Um... Teddy Bear..."; + mes "Between Einbroch and Lighthalzen, there is an area that teddy bears live."; + next; + mes "[Karian]"; + mes "We might be able to get something there."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Then why would he need 33?"; + next; + mes "[Karian]"; + mes "Well... Go there and we might be able to find out something."; + next; + mes "[Karian]"; + mes "Umm... Then I'll pass by Einbroch and go to Lighthalzen. Why don't you go to the place where Teddy Bears are?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ok. Then let's meet at Lighthalzen's hotel."; + mes "I'll get the 33 Teddy Bears."; + donpcevent "Karian#cmd2::OnDisable"; + set job_min,12; + getitem 6270,1; //Mins_Picture + changequest 11144,11145; + close; + } else if (job_min == 12) { + mes "Then take care."; + next; + mes "[Karian]"; + mes "Let's go there!"; + donpcevent "Karian#cmd2::OnEnable"; + next; + mes "[Karian]"; + mes "Then I'll pass by Einbroch and go to Lighthalzen. Why don't you go to the place where Teddy Bears are?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Then let's meet at Lighthalzen's hotel."; + mes "I'll get the 33 Teddy Bears."; + donpcevent "Karian#cmd2::OnDisable"; + close; + } + mes "Hi~ welcome~"; + mes "I can take a picture for you."; + mes "Do you want to take a pic?"; + close; +} + +lighthalzen,155,119,3 script Little girl#job_min 891,3,3,{ +OnTouch: + if (checkquest(11145,HUNTING) == 2) { + if (job_min == 12) { + mes "[Little Girl]"; + mes "Ah!!!!"; + mes "Teddy bear!!!"; + next; + mes "[Little Girl]"; + mes "Why do you have lots of teddy bears?"; + mes "Where did you get them old man?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey, I'm not an old man."; + next; + mes "[Little Girl]"; + mes "And my name isn't 'Hey'!"; + mes "My name is 'Rion'!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Sorry~ sorry~"; + mes "What if I give you a teddy bear."; + next; + mes "[Rion]"; + mes "Ah!"; + mes "Are you sure?"; + mes "Hooray!!!"; + next; + mes "[Rion]"; + mes "A man who I saw before didn't give me teddy bears even though he had lots of them!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Is he the guy in this pic?"; + next; + mes "[Rion]"; + mes "I can't remember well."; + mes "But I think he is."; + next; + mes "[Rion]"; + mes "My mother said that he was rolling in a room with teddy bears."; + next; + mes "[Rion]"; + mes "And he wears teddy bear outfits and goes to the ^f57d7dIce Cave^000000."; + next; + mes "[Rion]"; + mes "My mother works here."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ice Cave?"; + next; + mes "[Rion]"; + mes "Mother said that it's freezing."; + next; + mes "[Karian]"; + mes "Hey~ "+strcharinfo(0)+"~"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ah, Karian. Did you just get here?"; + next; + mes "[Karian]"; + mes "Yes."; + mes "It was much farther away than I'd expected."; + donpcevent "Karian#cmd3::OnEnable"; + next; + mes "["+strcharinfo(0)+"]"; + mes "You... walked here?"; + next; + mes "[Karian]"; + mes "..."; + mes "I didn't want to take the airship again..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Oh... got it."; + mes "Then did you get anything in Einbroch?"; + next; + mes "[Karian]"; + mes "I think 'Maestro Song' went to Einbroch, but he left soon because of air."; + mes "How about you? Did you find something about the teddy bears?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "'Maestro Song' might be in an Ice Cave."; + next; + mes "[Karian]"; + mes "Might be?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "This little... ah... Rion saw him."; + next; + mes "[Karian]"; + mes "Then it's time to go to the Ice Cave?"; + mes "Huu... legs hurt."; + mes "Ok, let's go to there."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Okay."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Thanks, Rion."; + mes "I'll give you all the teddy bears I have."; + next; + mes "[Rion]"; + mes "Really?!"; + mes "Waaah!!!!!!!!!"; + mes "I'm so happy!!!"; + mes "Thank you, "+strcharinfo(0)+"."; + set job_min,13; + changequest 11145,11146; + donpcevent "Karian#cmd3::OnDisable"; + close; + } else if (job_min == 13) { + mes "[Rion]"; + mes "I heard that 'Maestro Song' when I went to the Ice Cave."; + mes "Thank you for the Teddy Bears!"; + close; + } else if (job_min > 13) { + mes "[Rion]"; + mes "I'm having a lot of fun playing with the Teddy Bears!"; + close; + } else { + mes "[Little Girl]"; + mes "I'm having a lot of fun playing with the Teddy Bears!"; + close; + } + } + mes "[Little Girl]"; + mes "Do you like teddy bears?"; + mes "I love 'em!!!!!"; + close; +} + +ice_dun01,157,15,0 script #Minsicecave1 139,2,2,{ +OnTouch: + if (job_min == 13) { + mes "-A long time ago-"; + close2; + warp "ice_dun01",157,23; + end; + } + end; +} + +ice_dun01,157,23,0 script #Minsicecave2 139,2,2,{ +OnTouch: + if (job_min == 13) { + mes "-The giant born to ice-"; + close2; + warp "ice_dun01",141,41; + end; + } + end; +} + +ice_dun01,141,41,0 script #Minsicecave3 139,2,2,{ +OnTouch: + if (job_min == 13) { + mes "-died-"; + close2; + warp "ice_dun01",120,35; + end; + } + end; +} + +ice_dun01,120,35,0 script #Minsicecave4 139,2,2,{ +OnTouch: + if (job_min == 13) { + mes "-His body became the ground-"; + close2; + warp "ice_dun01",104,30; + end; + } + end; +} + +ice_dun01,104,30,0 script #Minsicecave5 139,2,2,{ +OnTouch: + if (job_min == 13) { + mes "-His bones became a mountain-"; + close2; + warp "ice_dun01",86,23; + end; + } + end; +} + +ice_dun01,86,23,0 script #Minsicecave6 139,2,2,{ +OnTouch: + if (job_min == 13) { + mes "-His skin became soil-"; + close2; + warp "ice_dun01",75,19; + end; + } + end; +} + +ice_dun01,75,19,0 script #Minsicecave7 139,2,2,{ +OnTouch: + if (job_min == 13) { + mes "-His blood became a river-"; + close2; + warp "ice_dun01",56,12; + end; + } + end; +} + +ice_dun01,56,12,0 script #Minsicecave8 139,2,2,{ +OnTouch: + if (job_min == 13) { + mes "-His hair became a plant-"; + close2; + warp "ice_dun01",29,26; + end; + } + end; +} + +ice_dun01,29,26,0 script #Minsicecave9 139,2,2,{ +OnTouch: + if (job_min == 13) { + mes "-His head became the sky-"; + close2; + warp "ice_dun01",25,46; + end; + } + end; +} + +ice_dun01,25,46,0 script #Minsicecave10 139,2,2,{ +OnTouch: + if (job_min == 13) { + mes "-His tears from his-"; + close2; + warp "ice_dun01",20,66; + end; + } + end; +} + +ice_dun01,20,66,0 script #Minsicecave11 139,2,2,{ +OnTouch: + if (job_min == 13) { + mes "-eyes became dew-"; + close2; + warp "ice_dun01",22,85; + end; + } + end; +} + +ice_dun01,22,85,0 script #Minsicecave12 139,2,2,{ +OnTouch: + if (job_min == 13) { + mes "-on the leaves-"; + percentheal -90,0; + set job_min,14; + changequest 11146,11147; + close2; + warp "ra_in01",361,129; + end; + } + end; +} + +ra_in01,361,129,0 script #jmRachelHotel 139,2,2,{ +OnTouch: + if (job_min == 14) { + mes "[Old Woman]"; + mes "Huu!!"; + mes "Wake up!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Where am I...?"; + set job_min,15; + close; + } + end; +} + +ra_in01,358,130,4 script Old Woman#job_min 979,{ + mes "[Old Woman]"; + if (job_min == 14) { + mes "Huu!!"; + mes "Wake up!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Where am I...?"; + set job_min,15; + close; + } else if (job_min == 15) { + mes "You're in Rachel."; + mes "You are strange. You have to wear warmer clothes if you want to go into the Ice Cave."; + next; + mes "[Old Woman]"; + mes "You're lucky that my husband found you when he did."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Sorry."; + next; + mes "[Old Woman]"; + mes "Anyway!! Be careful!"; + mes "You don't believe your youth alone will protect you."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I'll be careful."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Do you know that song written on the wall of the Ice cave?"; + next; + mes "[Old Woman]"; + mes "Did you go there to see?"; + mes "A few years ago, one man wearing a mask carved that on the Ice cave."; + next; + mes "[Old Woman]"; + mes "I couldn't see his face because of the mask,"; + next; + mes "[Old Woman]"; + mes "but he got a cold and felt so painful."; + next; + mes "[Old Woman]"; + mes "And then he decided to go to Comodo."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Comodo?"; + next; + mes "[Old Woman]"; + mes "Yes, I heard that Comodo is a very fun place, I want to go there before I die."; + next; + mes "[Old Woman]"; + mes "If you want to go there you have to take an airship to the Rune-Midgarts Kingdom."; + next; + mes "[Old Woman]"; + mes "That's not easy."; + next; + mes "[Karian]"; + mes "What?! An Airship?!"; + mes "Eee I don't want to go on an airship again!"; + donpcevent "Karian#cmd4::OnEnable"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Take it easy..."; + mes "Is there another way to go there?"; + next; + mes "[Old Woman]"; + mes "Without an airship?"; + mes "You can walk..."; + mes "But it takes a long time..."; + next; + mes "[Old Woman]"; + mes "Ah! It's Comodo over southern Veins."; + next; + mes "[Old Woman]"; + mes "We don't have a proper boat."; + mes "In southern of Veins, there is a port. If you are lucky you can take it..."; + donpcevent "Karian#cmd4::OnDisable"; + set job_min,16; + changequest 11147,11148; + close; + } else if (job_min == 16) { + mes "Ah! It's Comodo over southern Veins."; + next; + mes "[Old Woman]"; + mes "We don't have a proper boat."; + mes "In southern of Veins, there is a port. If you are lucky you can take it..."; + close; + } + mes "I heard that Comodo is a very fun place, I want to go there before I die."; + next; + mes "[Old Woman]"; + mes "If you want to go there you have to take an Airship to the Rune-Midgarts Kingdom."; + next; + mes "[Old Woman]"; + mes "It's the fastest way."; + close; +} + +ve_fild07,131,132,5 script =Notice=#job_min 837,{ +function Choice; + if (job_min == 16) { + mes "===Notice==="; + mes "Maestro Song, Go to Comodo by boat!"; + mes "Be ambitious!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Will it be okay..."; + next; + mes "[Karian]"; + mes "Don't worry, trust me!!"; + donpcevent "Karian#cmd5::OnEnable"; + next; + mes "-It's not easy to trust her-"; + next; + if(select("I don't like this.:Take the kayak.") == 1) { + mes "[Karian]"; + mes "I never ride airships ever..."; + donpcevent "Karian#cmd5::OnDisable"; + close; + } + mes "[Karian]"; + mes "Ok then let's go!!!!!"; + next; + mes "-If you take a small boat,-"; + mes "-and go ahead-"; + mes "-to Comodo,-"; + mes "-You should see-"; + mes "-other small boats.-"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hmm..."; + mes "I didn't think that there was anyone who would cross over this sea with a boat."; + mes "You sure I'll see other boats?"; + next; + mes "[Karian]"; + mes "They will be headed the other direction."; + donpcevent "Karian#cmd5::OnDisable"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Where are you going?"; + next; + mes "[Karian]"; + mes "Well? I haven't heard of the place's name before."; + mes "It's just called 'island' from what I heard."; + next; + mes "-For a while the silence-"; + mes "-continues. Karian starts-"; + mes "-to hum as she rows.-"; + next; + mes "-Listening to Karian hum-"; + mes "-You suddenly feel like-"; + mes "-you're sitting in water.-"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey! There's a water leak!!"; + next; + mes "[Karian]"; + mes "Ahhhh!!!!!!!!!!!!!!"; + next; + switch(rand(3)) { + case 0: Choice("Dance.","Row.","Throw the water out."); break; + case 1: Choice("Throw the water out.","Row.","Dance."); break; + case 2: Choice("Row.","Throw the water out.","Dance."); break; + } + switch(rand(3)) { + case 0: Choice("Sleep.","Row.","Throw the water out."); break; + case 1: Choice("Throw the water out.","Row.","Dance."); break; + case 2: Choice("Row.","Throw the water out.","Sleep."); break; + } + switch(rand(3)) { + case 0: Choice("Sing.","Row.","Throw the water out."); break; + case 1: Choice("Throw the water out.","Row.","Sleep."); break; + case 2: Choice("Row.","Throw the water out.","Sing."); break; + } + switch(rand(3)) { + case 0: Choice("Have some water.","Row.","Throw the water out."); break; + case 1: Choice("Throw the water out.","Row.","Have some water."); break; + case 2: Choice("Row.","Throw the water out.","Have some water."); break; + } + switch(rand(3)) { + case 0: Choice("Shout 'Viva'.","Row.","Throw the water out."); break; + case 1: Choice("Throw the water out.","Row.","Shout 'Viva'."); break; + case 2: Choice("Row.","Throw the water out.","Shout 'Viva'."); break; + } + switch(rand(3)) { + case 0: Choice("Go fishing.","Row.","Throw the water out."); break; + case 1: Choice("Throw the water out.","Row.","Go fishing."); break; + case 2: Choice("Row.","Throw the water out.","Go fishing."); break; + } + switch(rand(3)) { + case 0: Choice("Listen to my song.","Row.","Throw the water out."); break; + case 1: Choice("Throw the water out.","Row.","Listen to my song."); break; + case 2: Choice("Row.","Throw the water out.","Listen to my song."); break; + } + switch(rand(3)) { + case 0: Choice("Pray.","Row.","Throw the water out."); break; + case 1: Choice("Throw the water out.","Row.","Pray."); break; + case 2: Choice("Row.","Throw the water out.","Pray."); break; + } + switch(rand(3)) { + case 0: Choice("Eat some food.","Row.","Throw the water out."); break; + case 1: Choice("Throw the water out.","Row.","Eat some food."); break; + case 2: Choice("Row.","Throw the water out.","Eat some food."); break; + } + switch(rand(3)) { + case 0: Choice("Give up.","Row.","Throw the water out."); break; + case 1: Choice("Throw the water out.","Row.","Give up."); break; + case 2: Choice("Row.","Throw the water out.","Give up."); break; + } + mes "-I've escaped from the-"; + mes "-throes of death a-"; + mes "-countless amount of times.-"; + set job_min,17; + changequest 11148,11149; + close2; + warp "comodo",184,108; + end; + } + mes "===Notice==="; + mes "Maestro Song, Go to Comodo by boat!"; + mes "Be ambitious!"; + close; + + function Choice { + set .@i$, getarg(select(getarg(0),getarg(1),getarg(2))-1); + mes "[Karian]"; + if (.@i$ == "Throw the water out.") { + mes "I'll row and you just throw the water out!!"; + next; + return; + } + if (.@i$ == "Row.") mes "The boat is sinking!!!"; + else mes "What the hell do you think you're doing?"; + close; + } +} + +comodo,184,108,0 script #jmComodo Almost Dead 139,2,2,{ +OnTouch: + if (job_min == 17) { + mes "["+strcharinfo(0)+"]"; + mes "I'm... I'm alive~"; + next; + mes "[Karian]"; + mes "That was a close call."; + donpcevent "Karian#cmd6::OnEnable"; + next; + mes "["+strcharinfo(0)+"]"; + mes "You're the one that insisted that we ride on that boat. That's how we ended up like this in the first place!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "We wouldn't have suffered like this if we just took the Airship."; + next; + mes "[Karian]"; + mes "But I told you that I don't ride airships!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I can't believe this!"; + next; + mes "[Karian]"; + mes "Well, let's forget about the past!"; + mes "Since we're in Comodo, let's just have some fun okay?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Then what should we do about looking for 'Maestro Song'??"; + next; + mes "[Karian]"; + mes "Oh yeah..."; + mes "Why don't we ask the villagers?"; + donpcevent "Karian#cmd6::OnDisable"; + set job_min,18; + changequest 11149,11150; + close; + } + end; +} + +comodo,192,119,0 script Kayak Master#job_min 98,{ + mes "[Kayak Master]"; + if (job_min == 18) { + mes "What?"; + mes "Maestro Song?"; + mes "I don't know~"; + next; + mes "[Kayak Master]"; + mes "Go to the diner located in the northern part of Comodo."; + mes "If he visits this town, he would likely go there first."; + next; + mes "[Kayak Master]"; + mes "The hostess is good at memorizing the faces of customers."; + mes "It's good for business you know?"; + set job_min,19; + changequest 11150,11151; + close; + } + mes "The sea is man's dream."; + next; + mes "[Kayak Master]"; + mes "It's my hope that I can cross over to Hugel someday!"; + close; +} + +comodo,159,316,4 script Woman Roasting Meat 701,{ + mes "[Woman Roasting Meat]"; + if (job_min == 19) { + mes "Maestro Song?"; + mes "Yes, I remember that face because he visited a few years ago."; + next; + mes "[Woman Roasting Meat]"; + mes "He ate a whole plate of baby back ribs by himself..."; + mes "How can I forget his face?"; + next; + mes "[Woman Roasting Meat]"; + mes "It was kind of a big fuss."; + mes "It was so crowded because of him."; + next; + mes "[Woman Roasting Meat]"; + mes "Finally, he became exhausted and he wanted to go somewhere quiet."; + next; + mes "[Woman Roasting Meat]"; + mes "I told him that there was a quiet place near Morroc, and he left."; + next; + mes "[Woman Roasting Meat]"; + mes "I regret that."; + next; + mes "[Woman Roasting Meat]"; + mes "He raised our income a lot while he was here..."; + set job_min,20; + changequest 11151,11152; + close; + } else if (job_min == 20) { + mes "Where is the quiet place?"; + mes "Well I'm not sure but there is a mysterious building in south-eastern part of Morroc."; + next; + mes "[Woman Roasting Meat]"; + mes "I heard that some mysterious people gather there."; + mes "I think they're part of some secret guild called ash... or assa... Oh I forget..."; + close; + } + mes "He ate a whole plate of baby back ribs by himself."; + next; + mes "[Woman Roasting Meat]"; + mes "I'll never forget him."; + close; +} + +moc_fild16,206,232,0 script #jmTransfer news 139,3,3,{ +OnTouch: + if (job_min == 20) { + mes "["+strcharinfo(0)+"]"; + mes "Um? What is this?"; + mes "Something covered by sand?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ah It's!!"; + mes "I think 'Maestro Song' dropped it!"; + next; + mes "[Karian]"; + mes "What?! How do you know?"; + donpcevent "Karian#cmd7::OnEnable"; + next; + mes "["+strcharinfo(0)+"]"; + mes "The lyrics from the man I met in Hugel on the receipt..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "and this poem written on this paper."; + mes "The calligraphy style is the same."; + next; + mes "[Karian]"; + mes "I want to see clock tower..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "But this poem can't be a clue..."; + mes "..."; + mes "What?"; + next; + mes "[Karian]"; + mes "......"; + mes "I want to see clock tower."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Clock tower?"; + mes "What are you saying all of a sudden?"; + next; + mes "[Karian]"; + mes "The... huge clock tower in Al De Baran."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I know but..."; + next; + mes "[Karian]"; + mes "Will you join me?"; + next; + switch(select("Refuse.:Accept.")) { + case 1: + mes "[Karian]"; + mes "Come on~Come on~"; + mes "Come on~Come on~"; + mes "Come on~~~~~~~~~"; + next; + mes "[Karian]"; + mes "We don't have any more clues."; + next; + mes "[Karian]"; + break; + case 2: + mes "["+strcharinfo(0)+"]"; + mes "Ok that's not a bad idea..."; + next; + mes "[Karian]"; + mes "Ok!!!"; + break; + } + mes "Hey! Let's go~~"; + donpcevent "Karian#cmd7::OnDisable"; + set job_min,21; + changequest 11152,11153; + close; + } + end; +} + +aldebaran,140,130,0 script #jmAldebaran Clock Tower 139,3,3,{ +OnTouch: + if (job_min == 21) { + mes "["+strcharinfo(0)+"]"; + mes "Anyway why do you want to visit this place?"; + next; + mes "[Karian]"; + mes "......"; + donpcevent "Karian#cmd8::OnEnable"; + next; + mes "[Karian]"; + mes "This is my friend's favorite place."; + mes "When we feel tired, we see that tower."; + next; + mes "[Karian]"; + mes "Let me go back to my hometown."; + mes "There are many beautiful flowers."; + mes "The birds sing for me."; + mes "It's this old town."; + next; + mes "[Karian]"; + mes "I harvest crops"; + mes "for my church."; + mes "There is no warmer"; + mes "place than where"; + mes "I was raised."; + next; + mes "[Karian]"; + mes "Let me go back to my hometown."; + mes "Let me play in the lake until I die."; + mes "I'll take a rest"; + mes "at the end of my life."; + next; + mes "[Karian]"; + mes "Where is Misa and Masa."; + mes "They already went to the"; + mes "brilliant mountain where"; + mes "it is full of freedom and"; + mes "pleasure I want to go"; + mes "there soon."; + next; + mes "[Karian]"; + mes "It's a song that my friend always sang for me."; + mes "I haven't sung it in a long time..."; + next; + mes "[Karian]"; + mes "Why don't we go back to Prontera?"; + next; + mes "[Karian]"; + mes "I can't get rid of the the memories that I was impressed with when I entered Prontera's gates."; + set job_min,22; + changequest 11153,11154; + donpcevent "Karian#cmd8::OnDisable"; + close; + } else if (job_min == 22) { + mes "[Karian]"; + mes "Let's go back to Prontera?"; + next; + mes "[Karian]"; + mes "I can't get rid of the memories that I was impressed with when I entered Prontera's gates."; + close; + } + end; +} + +prontera,155,40,0 script #jmprt1 139,2,2,{ +OnTouch: + if (job_min == 22) { + mes "[Karian]"; + mes "I've finally come back."; + mes "Back to Prontera..."; + donpcevent "Karian#cmd9::OnEnable"; + next; + mes "[Karian]"; + mes "I'm so tired."; + mes "I want to take a rest~"; + mes "Come here, "+strcharinfo(0)+"."; + set job_min,23; + close; + } + end; +} + +prontera,155,42,0 script #prtjm1 139,1,1,{ +OnTouch: + if (job_min == 23) { + mes "-Let me go back to my hometown.-"; + set job_min,24; + close2; + warp "prontera",155,44; + end; + } + end; +} + +prontera,155,44,0 script #prtjm2 139,1,1,{ +OnTouch: + if (job_min == 24) { + mes "-There are many beautiful flowers.-"; + set job_min,25; + close2; + warp "prontera",155,46; + end; + } + end; +} + +prontera,155,46,0 script #prtjm3 139,1,1,{ +OnTouch: + if (job_min == 25) { + mes "-The birds sing for me.-"; + set job_min,26; + close2; + warp "prontera",155,48; + end; + } + end; +} + +prontera,155,48,0 script #prtjm4 139,1,1,{ +OnTouch: + if (job_min == 26 || job_min == 27) { + mes "-It's this old town.-"; + next; + if (SkillPoint != 0) { + mes "[Karian]"; + mes "Hey... Don't you know how to use your skill points?"; + mes "You should use them."; + close; + } + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 3500) { + mes "^3355FFWait a minute! You're"; + mes "carrying too many items"; + mes "right now, store some of"; + mes "your extra things in Kafra"; + mes "Storage, and then come back.^000000"; + close; + } + if (BaseLevel < 99 || JobLevel < 50) { + mes "[Karian]"; + mes "Hey... why are you so low?"; + mes "How did you lose levels?"; + close; + } + if (BaseJob != Job_Bard) { + mes "[Karian]"; + mes "Hey... you changed your outfit?"; + mes "How'd you do that?"; + close; + } + mes "["+strcharinfo(0)+"]"; + mes "-It's a poem that you picked up in the desert.-"; + next; + mes "["+strcharinfo(0)+"]"; + mes "-How does Karian know-"; + mes "-that song's not a poem?-"; + next; + mes "[Karian]"; + mes "Why are you looking at me?"; + mes "How was it? Have fun??"; + set job_min,27; + donpcevent "Karian#cmd9::OnDisable"; + close2; + warp "prt_in",101,174; + end; + } + end; +} + +prt_in,94,172,4 script Karian#job_min3 480,{ + if (job_min == 27) { + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 3500) { + mes "While you are on a trip, you gain lots of stuff. Make yourself lighter."; + close; + } + mes "[Karian]"; + if (SkillPoint != 0) { + mes "Ah~! Did you know that you still have skill points?"; + mes "Handle that quickly."; + close; + } + if (BaseLevel < 99 || JobLevel < 50) { + mes "Ah~! Your level looks lower than before."; + mes "How did you degrade?"; + close; + } + if (ismounting()) { + mes "Please unequip your riding pet and try again!"; + close; + } + if (BaseJob != Job_Bard) { + mes "Huh?"; + close; + } + mes "I'm sorry about the lie."; + mes "The song written on this paper..."; + next; + mes "[Karian]"; + mes "I really want to find my friend's article left behind."; + mes "I couldn't find it by myself."; + next; + mes "[Karian]"; + mes "I gave it to my friend but he kept it precious..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Did you give it to him?"; + mes "Wait a second!"; + mes "Just who are you?"; + next; + mes "[Maestro Song]"; + mes "Yes! I'm 'Maestro Song'!"; + mes "Are you surprised!?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "......"; + next; + mes "[Maestro Song]"; + mes "This is my present to you."; + next; + mes "[Maestro Song]"; + mes "You are also my friend."; + set job_min,100; + jobchange roclass(eaclass()|EAJL_THIRD); + completequest 11154; + getitem 5751,1; //Minstrel_Song_Hat + getitem 2795,1; //Green_Apple_Ring + close; + } else if (job_min > 99) { + switch(select("Talk.:Leave.")) { + case 1: + mes "[Maestro Song]"; + mes "The name 'Karian'?"; + mes "He gave it to me."; + next; + mes "[Maestro Song]"; + mes "He said that when he hears my song, he feels warmhearted."; + mes "'Kallianga' means hot air."; + next; + mes "[Maestro Song]"; + mes "He likes to sing..."; + next; + mes "[Maestro Song]"; + mes "And he's good at singing for sure?"; + next; + mes "[Maestro Song]"; + mes "Ah! If it's okay with you, I want to take a pic with you in Juno?"; + next; + mes "[Maestro Song]"; + mes "I want to have something to remember you by."; + close; + case 2: + mes "[Maestro Song]"; + mes "See you."; + mes "It was really fun."; + close2; + warp "prontera",156,99; + end; + } + } + mes "[Karian]"; + mes "How did you get in here?"; + close; +}
\ No newline at end of file diff --git a/npc/re/jobs/3-2/royal_guard.txt b/npc/re/jobs/3-2/royal_guard.txt new file mode 100644 index 000000000..a7f21d763 --- /dev/null +++ b/npc/re/jobs/3-2/royal_guard.txt @@ -0,0 +1,541 @@ +//===== rAthena Script ======================================= +//= Royal Guard Job Quest +//===== By: ================================================== +//= Muad_Dib +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Job change Quest from Crusader / Paladin -> Royal Guard. +//===== Additional Comments: ================================= +//= 1.0 First Version. [brAthena] +//= 1.1 Updated script. [Euphy] +//============================================================ + +prt_castle,48,161,3 script Middle-aged Gentleman#rg 57,{ + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) { + mes "- Your pack is too heavy. -"; + mes "- Lighten your body first -"; + mes "- and please try again. -"; + close; + } + if (Class == Job_Royal_Guard || Class == Job_Royal_Guard_T || Class == Job_Baby_Guard) { + mes "[Middle-aged Gentleman]"; + mes "Uh? What am I doing? I came here for an errand..."; + next; + mes "^000099Maybe my feeling has moved to another body.^000000"; + close; + } + if (BaseLevel < 99 || JobLevel < 50 || SkillPoint != 0) { + mes "[Middle-aged Gentleman]"; + mes "Oh you are so young. Keep working hard."; + close; + } + if (checkriding() || checkcart() || checkfalcon()) { + mes "[Middle-aged Gentleman]"; + mes "You are dragging something. If you're riding something you better dismount it before proceeding."; + close; + } + if (BaseJob != Job_Crusader) { + mes "[Middle-aged Gentleman]"; + mes "I don't have anything to say to you. Find another person."; + close; + } + if (job_royal == 0) { + mes "[Middle-aged Gentleman]"; + mes "What was I saying... (mumble) the remaining segment is in Glast Heim around 13......."; + next; + mes "[Middle-aged Gentleman]"; + mes "Uhh?"; + mes "Did you need something?"; + next; + select("I haven't seen you before."); + mes "[Middle-aged Gentleman]"; + mes "Hehehe, don't worry about me."; + next; + mes "[Middle-aged Gentleman]"; + mes "If you don't have business with me, just keep going my friend."; + next; + select("You don't look like a Knight..."); + mes "[Middle-aged Gentleman]"; + mes "You're a curious one. Who are you? What do you want?"; + next; + select("Just looking around!:This is my office!:Who am I? Who are you?"); + mes "[Middle-aged Gentleman]"; + mes "Do you want to argue with me? Do you know who I am?"; + next; + if(select("Not really, who are you?:Sorry, I won't hurt your feelings.") == 2) { + mes "["+strcharinfo(0)+"]"; + mes "Sorry. I had to be sure. I didn't know that you are from the royal palace."; + next; + mes "[Middle-aged Gentleman]"; + mes "That's enough. Don't make this mistake again."; + close; + } + mes "["+strcharinfo(0)+"]"; + mes "I'm a member here and have the authority to find out what your business is here."; + next; + mes "["+strcharinfo(0)+"]"; + mes "You are a stranger and I'm not sure if you belong here."; + next; + mes "["+strcharinfo(0)+"]"; + mes "If you tell me your identity, I will apologize."; + next; + mes "[Middle-aged Gentleman]"; + mes "You are so persistent."; + mes "If you really want, I will introduce myself."; + next; + mes "[Middle-aged Gentleman]"; + mes "I am Heinrich."; + mes "I'm collecting information about King Schmidtz's trace which has disappeared."; + next; + select("Schmidzt's trace? Is it a treasure?"); + mes "[Heinrich]"; + mes "Most archaeologists are eager to get treasure. I'm looking for traces of the ^000099Royal Guard^000000 and their sons who belong to the Schmidtz line."; + next; + select("Royal Guard?"); + mes "[Heinrich]"; + mes "Sounds interesting doesn't it? I can't really say but their history and files are under strict security."; + next; + select("Can't you tell me?"); + mes "[Heinrich]"; + mes "I can't really talk about the Royal Guard to just anyone who asks about them."; + next; + mes "[Heinrich]"; + mes "BUT!! I want to believe you..."; + next; + switch(select("I want to know more.:Stop talking.")) { + case 1: + mes "[Heinrich]"; + mes "You are impetuous."; + next; + mes "[Heinrich]"; + mes "It's not a simple story to tell a person like you. Go back."; + set job_royal,1; + setquest 12090; + close; + case 2: + mes "[Heinrich]"; + mes "Good idea."; + next; + mes "[Heinrich]"; + mes "Just forget it and let your mind do more worthy things."; + close; + } + } + mes "[Heinrich]"; + if (job_royal == 1) { + mes "[Heinrich]"; + mes "You are persistent friend."; + mes "Do you have more things to talk to me about?"; + next; + select("If you can't trust me, test me pal."); + mes "[Heinrich]"; + mes "Test?"; + mes "Did you say the test? Huhu!"; + next; + mes "[Heinrich]"; + mes "Friend, you have shown your interest about my job, are you sure? Or are you kidding me?"; + next; + select("I'm serious!"); + mes "[Heinrich]"; + mes "Really?"; + mes "Good. You might have the wrong idea about what a Royal Guard is. So, in your opinion, what do you think is the key to being a Royal Guard?"; + next; + select("Decision and Bravery:Calm Judgment:Sharp wisdom:Benevolent spirit"); + mes "[Heinrich]"; + mes "Good choice."; + mes "Actually, the other 3 are also needed to have the Royal Guard spirit, friend."; + next; + mes "[Heinrich]"; + mes "But according to research documents about the Royal Guard, the best belief is 'asceticism and endurance'."; + next; + mes "[Heinrich]"; + mes "Did you get it?"; + mes "Asceticism and Endurance young one. It is a bit different from what you answered."; + next; + mes "[Heinrich]"; + mes "You seem to have a large interest about this story but I can't tell you more."; + next; + mes "[Heinrich]"; + mes "Only those who have qualification can hear the Royal Guard history."; + next; + select("What can I do to hear that story?"); + mes "^000099Heinrich has an agonized look on his face. Then he looked like he fell asleep. Finally he says with reckless abandon.^000000"; + next; + mes "[Heinrich]"; + mes "You are too stubborn."; + mes "If so I will test you to see your asceticism and endurance."; + next; + mes "[Heinrich]"; + mes "Long ago King Schmidtz gave a title to a brave soldier who come back with 100 Sacred Marks."; + next; + mes "[Heinrich]"; + mes "If you want to hear more story, you have to show me your similar attitude."; + next; + if(select("That's an unfair demand.:I will try.") == 1) { + mes "[Heinrich]"; + mes "Good idea, it would better to find something more worthy."; + close; + } + mes "[Heinrich]"; + mes "Ok, let's do it this way. Actually it's too difficult to collect 100 Sacred Marks, just show your ambition by collecting 100 Burning Hearts."; + next; + mes "[Heinrich]"; + mes "If you bring them I can tell you more of the story. That means you show your endurance to me."; + next; + mes "[Heinrich]"; + mes "Don't forget to bring the 100 Burning Hearts."; + set job_royal,2; + changequest 12090,12091; + close; + } else if (job_royal == 2) { + if (countitem(7097) < 100) { + mes "Don't forget to bring 100 Burning Heart."; + close; + } + mes "Did you get all of them?"; + mes "Most people just ignore me or give up the mission."; + next; + mes "[Heinrich]"; + mes "Wait while I arrange the stuff that you brought."; + delitem 7097,100; //Burning_Heart + set job_royal,3; + changequest 12091,12092; + close; + } else if (job_royal == 3) { + mes "..."; + mes "Good. I can feel truth from your heart. Now I can tell you more of the story."; + next; + select("Ok tell me more."); + mes "[Heinrich]"; + mes "The best members of the Crusader and Paladin classes can gain the qualification of the Royal Guard."; + next; + mes "[Heinrich]"; + mes "They are agents of the divine order and judge with swift punishment."; + next; + mes "[Heinrich]"; + mes "We still have many opinions about how they could have survived. Surely someone had to have believed that their history was not false."; + next; + select("Are there still documents?"); + mes "[Heinrich]"; + mes "Hmm, documents you say..."; + next; + mes "[Heinrich]"; + mes "Unfortunately after King Schmidtz disappeared, traces of the Royal Guard disappeared."; + next; + mes "[Heinrich]"; + mes "Their history, belief, vision and fighting skill seemingly disappeared without any of the documents being saved."; + next; + mes "[Heinrich]"; + mes "It's like it disappeared with the king."; + next; + select("So the reason of finding their traces..."); + mes "[Heinrich]"; + mes "I was worried about past Royal Guards that might not have been able to pass down their history."; + next; + mes "[Heinrich]"; + mes "The mysterious power... can't appear anymore in the world. How disappointing is it~!"; + next; + mes "[Heinrich]"; + mes "That's why I'm concentrating to revive their job."; + next; + select("How much progress have you made?"); + mes "[Heinrich]"; + mes "Fortunately, I excavated most of the treasures and interpreted them. I just have one trace left to find."; + next; + select("The rest of the traces?"); + mes "[Heinrich]"; + mes "The Royal Guard carved the mark of King Schmidtz on their clothes. The trace of this custom is the last clue."; + next; + mes "[Heinrich]"; + mes "According to reports from other cities the last trace possibly exists in a monastery inside of Glass Heim."; + next; + mes "[Heinrich]"; + mes "But it is too dangerous for me there so I almost gave up."; + next; + mes "[Heinrich]"; + mes "Now I can't tell you why the trace is there."; + next; + if(select("Interesting. Can I go there?:Seems really dangerous.") == 2) { + mes "[Heinrich]"; + mes "Good idea, that's useless work to explore there."; + close; + } + mes "[Heinrich]"; + mes "Are you kidding?"; + mes "You shouldn't treat it like it's just some normal chore."; + next; + select("I'm not kidding. I'm serious."); + mes "[Heinrich]"; + mes "If you say it like that I don't have any more options."; + next; + mes "[Heinrich]"; + mes "I don't know if it will be helpful or not. I will write an explanation in detail."; + next; + mes "^000099Here's the last trace of the Royal Guard. Open the quest window and check the position.^000000"; + set job_royal,4; + changequest 12092,12093; + close; + } else if (job_royal == 4) { + if (countitem(6274) == 0) { + mes "Our staff has already left to find the last trace, so don't work too hard."; + close; + } + mes "No, it's not the correct one that I want."; + next; + mes "[Hainrich]"; + mes "You surprised me. How did you get it? So far no one could get it."; + next; + mes "[Heinrich]"; + mes "Thank you so much."; + mes "Thanks to your effort I can find the last clue. How amazing~!"; + next; + mes "^000099Heinrich hesitated and brought an old shield from the side of the office.^000000"; + next; + mes "[Heinrich]"; + mes "Our staff excavated it. They assumed that King Schmidtz used it. But it wasn't used by him."; + next; + select("Sure it's wasn't used by the King?"); + mes "[Heinrich]"; + mes "I can't be entirely sure."; + mes "Maybe you are right but, according to when we did the initial identification we can be sure it wasn't used."; + next; + mes "[Heinrich]"; + mes "But it's an old treasure so, somehow it will be useful. I might know how to use it."; + next; + select("Can I keep it?"); + mes "[Heinrich]"; + mes "Of course."; + mes "Someday it might be useful to you."; + next; + mes "^000099You get the shield from Heinrich. There are some letters carved on the inside of the shield.^000000 "; + next; + mes "^000099If you want to see the letters, please check the quest window.^000000"; + next; + mes "[Heinrich]"; + mes "Ok~~ now."; + mes "I'll be deciphering the cloth for now so I will be very busy!"; + delitem 6274,1; //Saint_Cloth_Piece + getitem 6275,1; //King_Shield + set job_royal,5; + changequest 12093,12094; + close; + } else if (job_royal == 5) { + if (countitem(6275) == 0) { + mes "What? Did you lose the shield? What is the one on your back?"; + getitem 6275,1; //King_Shield + close; + } + mes "Thanks to your help I can finish the excavation work. Thanks a lot."; + close; + } +} + +glast_01,240,366,5 script Memory of King Schmidtz 844,{ + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) { + mes "- Your pack is too heavy. -"; + mes "- Lighten your body first -"; + mes "- and please try again. -"; + close; + } + if (ismounting() || checkriding()) { + mes " Please unequip your riding pet and try again!"; + close; + } + if (BaseJob == Job_Crusader && job_royal == 5) { + if (countitem(6275) == 0) { + mes "^000099You seem to have lost the shield. Go back to Heinrich and ask for help^000000."; + close; + } + mes "[Memory of King Schmidtz]"; + mes "Who are you?"; + next; + select("I brought a relic..."); + mes "[Memory of King Schmidtz]"; + mes "My relic?"; + next; + mes "[Memory of King Schmidtz]"; + mes "Too bad. Here is one more friend who has been cheated by Heinrich."; + next; + select("Do you know Heinrich?"); + mes "[Memory of King Schmidtz]"; + mes "He was my faithful adjutant. And he has continued to be so for hundreds of years."; + next; + select("How has he lived for hundreds..."); + mes "[Memory of King Schmidtz]"; + mes "Maybe his body is just a cast. He found a way to move from body to body in order to stay alive."; + next; + mes "[Memory of King Schmidtz]"; + mes "He doesn't want to accept my death and wanders the world, continuing to find Royal Guards."; + next; + select("What's the meaning of this shield?"); + mes "[Memory of King Schmidtz]"; + mes "The shield from Heinrich is our contract before I died."; + next; + mes "[Memory of King Schmidtz]"; + mes "Heinrich was charged with finding the proper people to become Royal Guards, the shield was to be the contract."; + next; + mes "[Memory of King Schmidtz]"; + mes "To him, this was the last order that I gave to him."; + next; + mes "[Memory of King Schmidtz]"; + mes "Now he doesn't need to do it anymore, but will remain as a fool whom can't forget his King's final order."; + next; + select("So what now? Can I leave?"); + mes "[Memory of King Schmidtz]"; + mes "Sorry but I can't send you now."; + next; + mes "[Memory of King Schmidtz]"; + mes "This is a contract with Heinrich so I have to keep it. You look faithful and brave."; + next; + mes "[Memory of King Schmidtz]"; + mes "Now, it's time to keep the promise with Heinrich. It's up to you."; + next; + mes "[Memory of King Schmidtz]"; + mes "I'm planning to accept you as a member of the Royal Guard to continue their lost traditions. Are you ready to do it?"; + next; + if(select("Sure, of course:Not yet") == 2) { + mes "[Memory of King Schmidtz]"; + mes "Umm, maybe Heinrich had wrong judgement."; + close; + } + mes "[Memory of King Schmidtz]"; + mes "If so, I will proceed to making you a Royal Guard."; + next; + if(select("Great.:Not yet.") == 2) { + mes "[Memory of King Schmidtz]"; + mes "Perhaps Heinrich had the wrong image of you."; + close; + } + mes "[Memory of King Schmidtz]"; + if (BaseLevel < 99 || JobLevel < 50 || SkillPoint != 0) { + mes "Look at your body before that!"; + next; + mes "[Memory of King Schmidtz]"; + mes "Are still sentimentally attached to yourself?"; + mes "You cannot inherit the Royal Guard!"; + close; + } + mes "Congratulations! Young Royal Guard."; + mes "Be a symbol of honor and continue the great tradition of your new name."; + close2; + specialeffect2 EF_MAPPILLAR; + progressbar "FFFF00",7; + specialeffect2 EF_LORD; + delitem 6275,1; //King_Shield + erasequest 12094; + jobchange roclass(eaclass()|EAJL_THIRD); + getitem 5757,1; //Schmidt_Helm + getitem 2795,1; //Green_Apple_Ring + end; + } + end; +} + +gl_church,173,88,0 script Delicate trace#01 844,{ + if (job_royal == 4 && countitem(6274) == 0) { + progressbar "ffff00",5; + set .@roy_ran, rand(1,70); + if (.@roy_ran < 6) + getitem 6274,1; //Saint_Cloth_Piece + else if (.@roy_ran > 5 && .@roy_ran < 66) + getitem 7049,1; //Stone + else { + mes "While investigating, the topography breaks. It would be better to dig other places for a while."; + disablenpc strnpcinfo(0); + initnpctimer; + close; + } + } + mes "There is a trace that someone has already dug here."; + close; +OnTimer60000: + enablenpc strnpcinfo(0); + stopnpctimer; +OnTimer1000: +OnTimer20000: +OnTimer40000: + specialeffect EF_MAPPILLAR; + end; + specialeffect EF_MAPPILLAR; + end; + specialeffect EF_MAPPILLAR; + end; +} +gl_church,158,103,0 duplicate(Delicate trace#01) Delicate trace#02 844 +gl_church,139,90,0 duplicate(Delicate trace#01) Delicate trace#03 844 +gl_church,126,62,0 duplicate(Delicate trace#01) Delicate trace#04 844 +gl_church,148,5,0 duplicate(Delicate trace#01) Delicate trace#05 844 +gl_church,185,72,0 duplicate(Delicate trace#01) Delicate trace#06 844 +gl_church,185,72,0 duplicate(Delicate trace#01) Delicate trace#07 844 +gl_church,211,94,0 duplicate(Delicate trace#01) Delicate trace#08 844 +gl_church,185,125,0 duplicate(Delicate trace#01) Delicate trace#09 844 +gl_church,143,125,0 duplicate(Delicate trace#01) Delicate trace#10 844 +gl_church,105,115,0 duplicate(Delicate trace#01) Delicate trace#11 844 + +gl_church,158,100,0 script #Clue of traces 111,4,4,{ + end; +OnTouch: + if (job_royal == 4 && countitem(6274) == 0) { + specialeffect2 EF_FREEZE; + mes "I can feel strong power around here. It would be better to explore around here."; + viewpoint 1,173,88 ,1, 0xFFFF00; + viewpoint 1,158,103,2, 0xFFFF00; + viewpoint 1,139,90 ,3, 0xFFFF00; + viewpoint 1,126,62 ,4, 0xFFFF00; + viewpoint 1,148,5 ,5, 0xFFFF00; + viewpoint 1,185,72 ,6, 0xFFFF00; + viewpoint 1,211,94 ,7, 0xFFFF00; + viewpoint 1,185,125,8, 0xFFFF00; + viewpoint 1,143,125,9, 0xFFFF00; + viewpoint 1,105,115,10,0xFFFF00; + close; + } + end; +} + +/* +sec_in02,12,43,3 script sorcereryal 57,1,1,{ + switch(select("Royal Guard:Rune Knight:Sorcerer")) { + case 1: + mes "1~5"; + input .@input; + next; + if (.@input < 1 || .@input > 5) { + mes "Set item to adjust the Royal Guard"; + mes "You can only set a number between 1 to 5."; + } else { + set job_royal, .@input; + mes "Completed"; + } + close; + case 2: + mes "1~24"; + input .@input; + next; + if (.@input < 1 || .@input > 24) { + mes "Set item to adjust the Rune Knight"; + mes "You can only set a nbumber between 1 to 24."; + } else { + set job_rune_edq, .@input; + mes "Completed"; + } + close; + case 3: + mes "1~5"; + input .@input; + next; + if (.@input < 1 || .@input > 5) { + mes "Set item to adjust the Sorcerer"; + mes "You can only set a number between 1 to 5."; + } else { + set job_soc, .@input; + mes "Completed"; + } + close; + } +} +*/
\ No newline at end of file diff --git a/npc/re/jobs/3-2/shadow_chaser.txt b/npc/re/jobs/3-2/shadow_chaser.txt new file mode 100644 index 000000000..4f0fd02b6 --- /dev/null +++ b/npc/re/jobs/3-2/shadow_chaser.txt @@ -0,0 +1,2506 @@ +//===== rAthena Script ======================================= +//= Shadow Chaser Job Quest +//===== By: ================================================== +//= Muad_Dib +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Job change Quest from Rogue / Stalker -> Shadow Chaser. +//===== Additional Comments: ================================= +//= 1.0 First Version. [ultragunner, Oshinoke] +//= 1.1 Standardized. [Euphy] +//= 1.2 Updated dialogue. [Joseph] +//= 1.3 Updated to official script. [Euphy] +//============================================================ + +morocc,156,70,3 script Girl#sc00 93,3,3,{ + mes "[Girl]"; + if (BaseJob == Job_Rogue) { + if (job_sha == 0) { + if (BaseLevel < 99 || JobLevel < 50) { + mes "You're not ready."; + close; + } + mes "Hey? Stop!"; + mes "Aren't you interested in hearing a funny story?"; + next; + select("What story?"); + mes "[Girl]"; + mes "Have you been to the guild recently?"; + mes "Some interesting things have happened lately."; + mes "Maybe new guests..."; + next; + mes "[Girl]"; + mes "I heard it has to do with something called a Shadow Chaser."; + mes "You should go and check it out."; + next; + mes "[Girl]"; + mes "Every time they visit us, they are on new missions."; + mes "What missions are they doing I wonder?"; + set job_sha,1; + close; + } else if (job_sha == 1) { + mes "If you have any interest... just go!"; + mes "Do you know where the guild is?"; + next; + mes "[Girl]"; + mes "It is in a fortress under Pharos lighthouse."; + mes "Sigh...."; + mes "You must visit there!"; + close; + } else { + mes "Wow, you look busy."; + mes "Have you heard that there are visiters?"; + mes "They're on a treasure hunt!"; + next; + mes "[Girl]"; + mes "It must be fun."; + mes "I wanna try!"; + close; + } + } + mes "Eh?"; + mes "I don't have anything for you..."; + close; +OnTouch: + if (BaseJob == Job_Rogue && BaseLevel > 98 && JobLevel > 49 && job_sha == 0) { + mes "[Girl]"; + mes "Hey? Stop!"; + mes "Aren't you interested in hearing a funny story?"; + close; + } + end; +} + +in_rogue,376,100,5 script Guild Member#sc01 828,{ + if (BaseJob == Job_Rogue) { + if (job_sha < 2) { + set @job_sha,0; + OnDialogue: + mes "[Vin]"; + mes "Ah? What's this?"; + mes "Lotte, you know what this means?"; + next; + mes "[Lotte]"; + mes "Hmm '3847147298' this is the only thing I've used on..."; + mes "Then, why'd they use numbers to name the villages?"; + next; + mes "[Lotte]"; + mes "Vin! This is crap!"; + next; + mes "[Vin]"; + mes "What?"; + next; + if (BaseLevel == 99) { + mes "[Scary man]"; + mes "Hey there?"; + next; + switch(select("Me?:Sorry, I am busy...")) { + case 1: + mes "[Scary man]"; + mes "Yes! You there!"; + mes "Let me introduce myself to you."; + mes "My name is Urupa."; + mes "If you are interested, could you come over here?"; + if (@job_sha == 1) { + set job_sha,1; + set @job_sha,0; + } + close; + case 2: + mes "[Scary man]"; + mes "What? You're just going to give up like that?"; + mes "So disappointing..."; + close; + } + } + mes "[Scary man]"; + mes "You are supposed to figure this one out!"; + mes "But you are still so... weak."; + close; + } else { + mes "[Vin]"; + mes "Yes..."; + mes "Sooner or later I'll solve it myself if I dare to get the map...!"; + close; + } + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "[Vin]"; + mes "Huh! This is a Shadow Chaser!"; + mes "How unbelievable!"; + mes "But it seems familiar doesn't it?"; + next; + mes "[Vin]"; + mes "Hmm......"; + mes ".........."; + mes "Oh my! I can't remember...!"; + close; + } + mes "[Vin]"; + mes "Ah? Who's there?"; + mes "We are flooded with guests today..."; + close; +} + +in_rogue,379,99,1 script Guild Member#sc02 747,{ + if (BaseJob == Job_Rogue) { + if (job_sha < 2) { + set @job_sha,1; + doevent "Guild Member#sc01::OnDialogue"; + end; + } + mes "[Lotte]"; + mes "What?"; + mes "Damn..."; + next; + mes "[Lotte]"; + mes "I just hate numbers!"; + close; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "[Lotte]"; + mes "Wow!"; + mes "You are the one!"; + mes "Just extraordinary smart and emotionally advanced..."; + next; + mes "[Lotte]"; + mes "SHADOW CHASER!"; + mes "Wow when could I become one."; + close; + } + mes "[Lotte]"; + mes "I don't need anything."; + close; +} + +in_rogue,379,101,3 script Scary Man#sc03 810,{ + if (job_sha == 0) { + if (BaseJob == Job_Rogue && BaseLevel > 98 && JobLevel > 49) { + mes "[Scary man]"; + mes "Oh you are so talented?"; + mes "Now I have one interesting quetion! Do you want it solved?"; + next; + mes "[Urupa]"; + mes "My name is Urupa."; + mes "If you have anything interesting just challenge it."; + set job_sha,1; + close; + } + mes "[Scary man]"; + mes "What's your business?"; + mes "I don't have anything to do with you."; + mes "I don't care for people like you. I just deal with the extraordinary."; + close; + } else if (job_sha == 1) { + mes "[Urupa]"; + mes "We give a quiz and nobody has yet to solve it."; + mes "You want it to be solved?"; + mes "This is a code."; + mes "Look at it."; + next; + mes "- The message is -"; + mes "- written in a cipher. -"; + mes "The mission seems to be to break the code..."; + next; + mes "[Urupa]"; + mes "This is the code."; + mes "It is just numbering a cipher to make the message make sense."; + mes "For example..."; + next; + callsub L_Code,1; + mes "[Urupa]"; + mes "Now here's what needs to be to solved."; + mes "Decipher the code and go where it tells you..."; + next; + callsub L_Code,2; + next; + mes "[Urupa]"; + mes "So write this down!"; + mes "I expected that you would take this adventure!"; + set job_sha,2; + setquest 7160; + close; + } else if (job_sha == 2) { + mes "[Urupa]"; + mes "You want one more explanation?"; + mes "Or do you just want the code?"; + next; + switch(select("More explanation.:Get the code.")) { + case 1: + callsub L_Code,1; + mes "[Urupa]"; + mes "Now it's up to you!"; + mes "So go! Go!"; + close; + case 2: + mes "[Urupa]"; + mes "Let me show you the code again..."; + next; + callsub L_Code,2; + close; + } + } else if (job_sha > 2 && job_sha < 31) { + mes "[Urupa]"; + mes "Ok, have you solved it yet?"; + mes "Good luck!"; + close; + } else if (job_sha == 31) { + mes "[Urupa]"; + mes "You have just become a Shadow Chaser."; + mes "The quizzes are for collecting the right people..."; + close; + } + mes "[Urupa]"; + mes "Nothing special?"; + mes "As you see... I am ok here!"; + close; +L_Code: + if (getarg(0) == 1) { + mes "[Urupa]"; + mes "3511543433"; + mes "This means PAYON."; + next; + mes "[Urupa]"; + mes "The numbers have to be paired."; + mes "3511543433"; + mes "35 11 54 34 33 breaks down into 5 pairs!"; + next; + mes "[Urupa]"; + mes "So the pairs mean:"; + mes "35 - P, 11 - A,"; + mes "54 - Y, 34 - O, 33 - N."; + next; + mes "[Urupa]"; + mes "Here are the numbers all in a row."; + mes "33, 34, 35!"; + mes "N , O , P ?"; + next; + } else { + mes "Here we go!"; + next; + mes "^4d4dff"; + mes "43231114345243"; + mes "11441531241542"; + mes "2433"; + mes "3542343344154211"; + mes "^000000"; + next; + mes "[Urupa]"; + mes "Could you do that?"; + mes "If you visit there, you might be surprised..."; + } + return; +} + +s_atelier,65,123,5 script Manager#sc04_prt 903,{ + if (job_sha == 2) { + mes "[Manager]"; + mes "Where's Max!?"; + mes "Damn, there're so many strangers around."; + mes "Hey..."; + next; + switch(select("Show the deciphered code!:...")) { + case 1: + mes "[Manager]"; + mes "Wow, you deciphered it?"; + mes "So, what's the right answer?"; + next; + input .@inputstr$; + if (.@inputstr$ == "shadows atelier in prontera" || .@inputstr$ == "SHADOWS ATELIER IN PRONTERA") { + mes "[Manager]"; + mes "Good."; + mes "You just got it."; + mes "Then why have you come over here?"; + next; + select("The code says here's the one..."); + mes "[Manager]"; + mes "So you are the one."; + mes "Could you wait for a sec'?"; + set job_sha,3; + close; + } + mes "[Manager]"; + mes "Remember to put the code exactly as it should be deciphered."; + mes "Maybe you should try again..."; + close; + case 2: + mes "[Manager]"; + mes "Only allowed for people involved...."; + mes "Could you ask the clerk at the shop?"; + close; + } + } else if (job_sha == 3) { + mes "[Manager]"; + mes "Now let me introduce myself to you!"; + mes "I am Graham, the manager of this shadow gallery..."; + next; + mes "[Graham]"; + mes "You may have already guessed."; + mes "This is an additional facility for rogues."; + mes "We adopt things like art and other historical stuff."; + next; + mes "[Graham]"; + mes "These things are illegal."; + mes "Such things you guys bring us from historical places..."; + mes "Ok."; + next; + mes "[Graham]"; + mes "So we've got to know things like..."; + mes "special codes and information where the treasures are."; + next; + mes "[Graham]"; + mes "We need you guys..."; + mes "So we've asked assistance from the Rogue guild."; + next; + select("Any other places you guys work?"); + mes "[Graham]"; + mes "Ah, yes..."; + mes "We are in Prontera, Juno, Rachel, and Lighthalzen."; + mes "Ok?"; + next; + mes "[Graham]"; + mes "Anyway...."; + mes "We all really want to know where the treasures are."; + mes "So the code is to break into each of those places."; + next; + mes "[Graham]"; + mes "You seem like the right one."; + mes "So I will give you the code."; + mes "Please find the treasure!"; + next; + switch(select("No way!:I'll give it a try!")) { + case 1: + mes "[Graham]"; + mes "What the hell?"; + mes "If you are not going to help then I'll just find someone else."; + set job_sha,4; + close; + case 2: + mes "[Graham]"; + mes "You are so powerful!"; + mes "So here..."; + next; + callsub L_Code,0; + close; + } + } else if (job_sha == 4) { + mes "[Graham]"; + mes "Are you interested in it now?"; + next; + switch(select("Not at all.:Hmm, I'll take it.")) { + case 1: + mes "[Graham]"; + mes "Damn it."; + close; + case 2: + mes "[Graham]"; + mes "You are just so picky..."; + mes "Here..."; + next; + callsub L_Code,0; + close; + } + } else if (job_sha == 5) { + mes "[Graham]"; + mes "Did you find something?"; + next; + switch(select("I need an explanation.:What's the code again?")) { + case 1: + mes "[Graham]"; + mes "You are so powerful!"; + next; + callsub L_Code,1; + mes "[Graham]"; + mes "Got it?"; + close; + case 2: + mes "[Graham]"; + mes "I've given you the code."; + mes "So crazy..."; + mes "Don't you have a memo of it?"; + close; + } + } else if (job_sha == 6 || job_sha == 7) { + mes "[Graham]"; + mes "Nothing special...?"; + mes "You've been to places...?"; + mes "There's definetely something."; + next; + mes "Graham seems to know something."; + mes "I'd better go there again."; + close; + } else if (job_sha == 8) { + mes "[Graham]"; + mes "So, any improvements?"; + next; + select("Show him the key."); + mes "[Graham]"; + mes "Deception!"; + mes "You are deceiving me!"; + next; + mes "[Graham]"; + mes "This is all?"; + mes "Only one key."; + mes "How deceptive!"; + mes "Just as I thought, it's a kind of treasure."; + next; + mes "[Graham]"; + mes "You just gave me a shock."; + mes "Ok..."; + mes "The code is kept in galleries."; + next; + mes "[Graham]"; + mes "Ok there's more galleries than this one..."; + mes "Juno and Rachel have the codes..."; + next; + mes "[Graham]"; + mes "This is just what I was guessing."; + mes "The codes kept by other galleries aren't treasures at all..."; + next; + mes "[Graham]"; + mes "Go to Rachel..."; + next; + mes "[Graham]"; + mes "Find the gallery in Rachel..."; + mes "Tell 'em that you just came from Graham and ask for the code."; + next; + mes "[Graham]"; + mes "Ok?"; + mes "Then go there!"; + set job_sha,9; + changequest 7165,7166; + close; + } else if (job_sha == 9) { + mes "[Graham]"; + mes "There're four galleries..."; + mes "Prontera, Rachel, Juno, and Lighthalzen."; + next; + mes "[Graham]"; + mes "One of the codes kept by the galleries is already deciphered."; + mes "It's just one key...."; + next; + mes "[Graham]"; + mes "But here's what I am guessing."; + mes "The codes are linked to each other."; + mes "And the purpose is different for each one."; + next; + mes "[Graham]"; + mes "For example..."; + mes "If one is just a key then the others are things requiring the key."; + next; + mes "[Graham]"; + mes "The key must be for opening the box."; + mes "Can you guess what's inside?"; + next; + select("Umm, treasure?"); + mes "[Graham]"; + mes "YES."; + mes "That's why we're here!"; + next; + mes "[Graham]"; + mes "People think that we are just trading the stuff..."; + mes "But we are here for very special things."; + next; + mes "[Graham]"; + mes "Go to ^4d4dffRachel Gallery^000000 and get the code..."; + mes "They will support you if you explain everything."; + mes "Ok?"; + close; + } else if (job_sha > 9 && job_sha < 30) { + mes "[Graham]"; + mes "How about everything?"; + mes "We are dying to know about the key."; + mes "So you got support from the other galleries."; + close; + } else if (job_sha > 29) { + mes "[Graham]"; + mes "Shadow Chaser!!"; + mes "Ah!"; + next; + mes "[Graham]"; + mes "It's not intentionally decieving..."; + mes "Hahaha!!"; + next; + mes "[Graham]"; + mes "Isn't it interesting?"; + mes "It's more than just taking exams."; + mes "We got to know about you and figured out who you are."; + next; + mes "[Graham]"; + mes "How's my acting?"; + mes "It worked?"; + next; + mes "[Graham]"; + mes "If you need anything just ask them what you want."; + close; + } + mes "[Manager]"; + mes "Only allowed for people involved..."; + mes "Could you ask the clerk at the shop?"; + close; +L_Code: + mes "-note."; + mes "^4d4dff 13 15 18 15 3 3 18 21 9 14^000000"; + mes "key : 0 -"; + next; + select("These are just numbers..."); + mes "[Graham]"; + mes "The only difference from the one from the Rogue Guild is that you don't need to match them in pairs."; + next; + mes "[Graham]"; + mes "Also here's the keyword..."; + mes "This case is key 0."; + next; + mes "[Graham]"; + mes "Let's see. For example."; + mes "13 15 18 15 3 3 18 21 9 14 ="; + mes "M O R O C C R U I N"; + next; + mes "[Graham]"; + mes "Look at this... C = 3."; + mes "C is the third letter right?"; + next; + mes "[Graham]"; + mes "Do you get it?"; + mes "But this won't be given with keyword 0. When I give you the keyword you can figure it out for yourself."; + next; + if (getarg(0)) return; + mes "[Graham]"; + mes "Now let's move on to the mission."; + mes "Here's the cipher..."; + next; + set .@key01, rand(3,5); + set .@a, 1 + .@key01; + set .@b, 2 + .@key01; + set .@d, 4 + .@key01; + set .@e, 5 + .@key01; + set .@f, 6 + .@key01; + set .@h, 8 + .@key01; + set .@i, 9 + .@key01; + set .@l, 12 + .@key01; + set .@n, 14 + .@key01; + set .@o, 15 + .@key01; + set .@r, 18 + .@key01; + set .@s, 19 + .@key01; + set .@t, 20 + .@key01; + set .@u, 21 + .@key01; + mes "^4d4dff" + .@b + " " + .@l + " " + .@u + " " + .@e + " "; + mes "" + .@f + " " + .@i + " " + .@r + " " + .@e + " "; + mes "" + .@i + " " + .@n + " "; + mes "" + .@t + " " + .@u + " " + .@r + " " + .@t + " " + .@l + " " + .@e + " "; + mes "" + .@i + " " + .@s + " " + .@l + " " + .@a + " " + .@n + " " + .@d + " "; + mes "" + .@t + " " + .@h + " " + .@i + " " + .@r + " " + .@d + " "; + mes "" + .@f + " " + .@l + " " + .@o + " " + .@o + " " + .@r + " "; + mes "key : " + .@key01 + "."; + set job_sha,5; + erasequest 7160; + if (.@key01 == 3) setquest 7161; + else if (.@key01 == 4) setquest 7162; + else if (.@key01 == 5) setquest 7163; + next; + mes "[Graham]"; + mes "Just take it."; + mes "I have a bad memory."; + mes "You have all the information so you are on your own now."; + next; + mes "[Graham]"; + mes "Once you get something come over here."; + next; + mes "- You take the memo from Graham."; + mes "Don't forget it! -"; + close; +} + +s_atelier,168,65,5 script Manager#sc08_ra 923,{ + if (job_sha < 10) { + mes "[Manager]"; + mes "Who are you?"; + mes "This place isn't for you."; + next; + if (job_sha < 9) { + mes "[Manager]"; + mes "What are they doing up there?"; + mes "Bleh..."; + close; + } + switch(select("Give me your password!:I was sent by Graham.")) { + case 1: + mes "[Manager]"; + mes "You need my password?"; + mes "How much would you pay me?"; + next; + mes "[Manager]"; + mes "10 million zeny?"; + mes "Ok I'll take that then!"; + next; + mes "[Manager]"; + mes "Yeah right!"; + mes "Who the hell are you?"; + mes "How dare you just ask for my password?"; + close; + case 2: + mes "[Manager]"; + mes "Graham?"; + mes "Why?"; + next; + if (countitem(6266) == 0) { + mes "You don't seem to have brought it here."; + next; + mes "[Manager]"; + mes "Are you mute?"; + mes "I don't know why Graham sent you here."; + mes "Just go if you don't have any business here!"; + close; + } + mes "[Manager]"; + mes "So this key was sent by him."; + next; + select("No, I found it as the clue."); + mes "[Manager]"; + mes "Ah?"; + mes "So doesn't that mean that one code could be exchanged as a treasure...?"; + next; + select("Maybe."); + mes "[Manager]"; + mes "..........."; + mes "Hmm...."; + next; + mes "[Manager]"; + mes "Hmm..."; + next; + mes "- The manager seems -"; + mes "- to be thinking about -"; + mes "- something. Then he-"; + mes "- hands over a paper. -"; + next; + mes "[Manager]"; + mes "No way."; + mes "Here's the clue."; + mes "Try to find it."; + next; + mes "[Manager]"; + mes "Anyway my name is Paul."; + mes "..........."; + next; + mes "[Paul]"; + mes "Naturally..."; + mes "I've already solved the clue."; + next; + mes "- Here's the paper that -"; + mes "- Paul handed over. -"; + next; + mes "R-E-N-N-N-D"; + mes "L-N-N-W-W-N-D"; + next; + mes "[Paul]"; + mes "Isn't it so simple?"; + mes "What do you think?"; + mes "RENNND / LNNWWND means one thing."; + next; + switch(select("I think I got it.:I have no clue.")) { + case 1: + callsub L_Code,7166; + close; + case 2: + mes "[Paul]"; + mes "What? You don't know it?"; + mes "Then you'd better think about it more."; + mes "It's so easy."; + set job_sha,10; + changequest 7166,7167; + close; + } + } + } else if (job_sha == 10) { + mes "[Paul]"; + mes "So did you get what it means?"; + next; + switch(select("Yes!:No, I don't think so.")) { + case 1: + callsub L_Code,7167; + close; + case 2: + mes "[Paul]"; + mes "Is it that hard?"; + next; + select("I can't do it..."); + mes "[Paul]"; + mes "No way."; + mes "Can I give you a hint?"; + mes "Compass!"; + close; + } + } else if (job_sha > 10 && job_sha < 14) { + mes "[Paul]"; + mes "I've already given you all the info you need."; + next; + mes "[Paul]"; + mes "I've given you one more clue."; + mes "Isn't it enough?"; + next; + mes "[Paul]"; + mes "As you and Graham mentioned."; + mes "Go and find it out."; + next; + mes "[Paul]"; + mes "If you find real things like treasure,"; + mes "come back here."; + close; + } else if (job_sha > 13 && job_sha < 17) { + mes "[Paul]"; + mes "You must find the right place."; + mes "The word is RENNND"; + mes "It's refering the cave East - North - North - North from this Rachel."; + next; + mes "[Paul]"; + mes "L-N-N-W-W-N-D is also same."; + mes "L is for Lighthalzen."; + mes "Lighthalzen - North- North - West - West."; + mes "That's the ice cave."; + next; + mes "[Paul]"; + mes "Is there any improvement!?"; + next; + select("You need to investigate more?"); + mes "[Paul]"; + mes "Really? Ok..."; + mes "No way...."; + mes "We will expect a good result."; + close; + } else if (job_sha == 17) { + mes "[Paul]"; + mes "I am dying to wait for you."; + mes "So what did you find out?"; + next; + select("I found the key.:Hmm..."); + mes "- You hand over the 'Illusion Key' that you found in the ice cave. -"; + next; + mes "[Paul]"; + mes "Illusion! Haha!"; + mes "After deception is illusion!"; + mes "So are you lying to me?"; + next; + mes "[Paul]"; + mes "I can feel how Graham felt it..."; + mes "We don't dare to get that tiny key..."; + next; + mes "[Paul]"; + mes "The young guy in Lighthalzen is quite challenging to deal with..."; + mes "So we'd better request assistance from Haled..."; + next; + mes "[Paul]"; + mes "Hey..."; + mes "If you go to Juno..."; + mes "There's a gallery..."; + next; + mes "[Paul]"; + mes "So could you ask him to get the password?"; + mes "Hmm..."; + next; + mes "[Paul]"; + mes "I feel like the red hair guy in the main gallery is teasing me..."; + mes "Anyway..."; + mes "So I really like to know the password and the identity of the key..."; + next; + mes "[Paul]"; + mes "If Haled isn't supportive..."; + mes "Tell him ^4d4dffI know what you did last summer!^000000"; + mes "You shouldn't be wrong...!?"; + set job_sha,18; + changequest 7172,7173; + close; + } else if (job_sha == 18) { + mes "[Paul]"; + mes "You could ask him to get the key..."; + mes "He will help you if you tell him something..."; + next; + mes "[Paul]"; + mes "If Haled isn't supportive..."; + mes "Tell him ^4d4dffI know what you did last summer!^000000"; + close; + } else if (job_sha > 18 && job_sha < 30) { + mes "[Paul]"; + mes "So you are still looking for the treasure... right?"; + mes "I would look for it..."; + close; + } else if (job_sha == 30) { + mes "[Paul]"; + mes "Now I almost guessed what would happen later..."; + mes "It can't have happened!"; + next; + mes "[Paul]"; + mes "Are you shocked?"; + mes "Don't think worse."; + mes "You could get a good person."; + mes "Hahaha..."; + close; + } + mes "[Paul]"; + mes "Do you need a painting tool?"; + mes "Then you can request that to the assistant."; + mes "We always have it just in case."; + close; +L_Code: + mes "[Paul]"; + mes "Really? Then I don't need to give you the answer."; + mes "Could you interpret the meaning of each letter."; + next; + select("It's kinda the combination of places."); + mes "[Paul]"; + mes "So?"; + next; + select("E-N meaning East - North"); + mes "[Paul]"; + mes "Ok that's good enough."; + mes "Then go and find out."; + next; + mes "[Paul]"; + mes "Memorize this."; + mes "You might need it. It could be a clue for you."; + next; + mes "[Paul]"; + switch(rand(3)) { + case 0: + mes "[ S E E D ]"; + mes "S E E D?"; + set job_sha,11; + changequest getarg(0),7168; + break; + case 1: + mes "[ F O O T ]"; + mes "F O O T?"; + set job_sha,12; + changequest getarg(0),7169; + break; + case 2: + mes "[ C O L D ]"; + mes "C O L D?"; + set job_sha,13; + changequest getarg(0),7170; + break; + } + mes "I don't know what it really means, but it would be helpful to you to figure it out."; + close; +} + +s_atelier,167,129,3 script Manager#sc06_yuno 806,{ + if (job_sha < 19) { + mes "[Manager]"; + mes "What?"; + mes "If you've come here for some money, you are wrong."; + mes "This isn't a pawnshop."; + if (job_sha < 18) close; + next; + select("You are... Haled?"); + mes "[Haled]"; + mes "Hmm? I'm the manager of this workplace in Juno. What's the matter?"; + next; + mes "[Haled]"; + mes "Hmm. You were sent by Graham and Paul?"; + mes "I thought that you just came here to beg for money with fossil pieces."; + next; + mes "[Haled]"; + mes "It's a classic way that poor scholars use."; + mes "Sometimes I buy good stuff so some people know that this is a pawnshop."; + next; + mes "[Haled]"; + mes "Let me hear your story."; + next; + mes "- You explain everything so far and show the key of arrogance. -"; + next; + mes "[Haled]"; + mes "So..."; + mes "I totally understand."; + mes "It's this key's location that"; + mes "shared the informaton!"; + next; + mes "[Haled]"; + mes "Anyway. Two are keys and the treasure that I have to open with this key, what can I do?"; + next; + mes "[Haled]"; + mes "We will investigate Juno's workplace, so give it to me?"; + next; + mes "- Haled doesn't want to cooperate with you."; + mes "Remember what Paul said. -"; + next; + callsub L_Code; + mes "[Haled]"; + mes "So what?"; + mes "He's a wild-eyed person."; + mes "Did you just speak to me in a threatening tone?"; + set job_sha,19; + close; + } else if (job_sha == 19) { + mes "[Haled]"; + mes "What?"; + mes "You want to talk with me?"; + mes "How about you just hand over that key to me?"; + next; + callsub L_Code; + mes "[Haled]"; + mes "What's wrong with you?"; + mes "Are you ok?"; + mes "Paul? What do you want to say?"; + set job_sha,19; + close; + } else if (job_sha == 20) { + mes "[Haled]"; + mes "Got it."; + mes "Ok."; + mes "You need to know where the place with the code is?"; + next; + mes "[Haled]"; + mes "I don't have a choice."; + mes "Listen carefully to this poem."; + next; + mes "[Haled]"; + mes "^4d4dffThe end of thin root of life-giving water."; + mes "It's all of tears and signs of living people."; + mes "They are us but also not us."; + mes "Residents of forgotten night"; + mes "play the waltz of despair^000000."; + next; + mes "[Haled]"; + mes "Do you know where it is?"; + mes "You know where it is right?"; + mes "It's only my opinion, but..."; + mes "It can't be possible..."; + next; + mes "[Haled]"; + mes "Anyway, if you want to do it, go ahead."; + mes "If you know what this poem means."; + next; + mes "[Haled]"; + mes "Of course, if you find something, you have to come back."; + mes "Got it?"; + mes "I'm going to write it down so that you won't forget."; + set job_sha,21; + changequest 7173,7174; + close; + } else if (job_sha == 21) { + mes "[Haled]"; + mes "I won't be surprised with whatever you find."; + mes "You have to find the place that the poem speaks of."; + next; + mes "[Haled]"; + mes "^4d4dffThe end of thin root of life-giving water."; + mes "It's all of tears and signs of living people."; + mes "They are us but also not us."; + mes "Residents of forgotten night"; + mes "play the waltz of despair^000000."; + next; + mes "[Haled]"; + mes "Of course, if you find something, you have to come back."; + mes "Got it?"; + close; + } else if (job_sha > 21 && job_sha < 25) { + mes "[Haled]"; + mes "How's it going?"; + mes "If you find something, you have to come back."; + mes "Don't go to Graham or Paul."; + close; + } else if (job_sha == 25) { + mes "[Haled]"; + mes "Did you find something?"; + next; + select("Show the key of pleasure."); + if (countitem(6268)) { + mes "[Haled]"; + mes "Ha..........akkk."; + mes "Another key?"; + mes "Is it the only key?!"; + next; + mes "[Haled]"; + mes "Then... do I have to ask help from the young man from Lighthalzen?"; + mes "..........."; + mes "Ah..."; + next; + mes "[Haled]"; + mes "I have no choice."; + mes "Go to Lighthalzen with the three keys."; + mes "Meet Vicente who is master of the store in Lighthalzen and tell him everything."; + next; + mes "[Haled]"; + mes "I told you that the old man is persistant and he ruins everything."; + next; + mes "[Haled]"; + mes "You have to have all your facts straight to send information to the guild."; + mes "First you have to work together in one accord."; + next; + mes "[Haled]"; + mes "The thing you find can belong to the workplace."; + mes "It can be shared."; + next; + mes "[Haled]"; + mes "I thought that it was a very simple thing."; + mes "We couldn't share that stuff together."; + next; + mes "[Haled]"; + mes "All of the information that I got from workplace are key."; + mes "There must be something to use three key with."; + next; + mes "[Haled]"; + mes "Anyway it has to do with deceit and pleasure..."; + mes "Is it teasing me..."; + next; + mes "[Haled]"; + mes "Ok. Let me finish."; + mes "Go to Vicente in Lighthalzen."; + set job_sha,26; + changequest 7176,7177; + close; + } + mes "["+strcharinfo(0)+"]"; + mes "I'm sorry."; + mes "I found one more key but I didn't bring it."; + mes "I'll bring it soon."; + close; + } else if (job_sha == 26) { + mes "[Haled]"; + mes "Shadow workplace in Lighthalzen."; + mes "The manager's name is Vicente."; + mes "Tell him everything and get one last information."; + close; + } else if (job_sha > 26 && job_sha < 30) { + mes "[Haled]"; + mes "Hey, you!"; + mes "Was Vicente helpful to you?"; + mes "You have something important..."; + mes "So you have to find out what is it."; + next; + mes "[Haled]"; + mes "Keep trying."; + close; + } else if (job_sha == 30) { + mes "[Haled]"; + mes "Hey, you!"; + mes "What's going on?"; + mes "What? Shadow Chaser?"; + next; + mes "[Haled]"; + mes "Did I know that fact?"; + mes "Sure. I heard a little bit before"; + mes "I used to do work like this."; + next; + mes "[Haled]"; + mes "It's an honor for me to pick a person who belongs to us."; + mes "Just accept that. You are going to be a good Shadow Chaser."; + close; + } + mes "[Haled]"; + mes "I like your face."; + mes "We don't have any special thing."; + mes "An assistant sells some paint and tool."; + close; +L_Code: + mes "["+strcharinfo(0)+"]"; + mes "Paul said..."; + next; + input .@inputstr$; + mes "["+strcharinfo(0)+"]"; + mes "Paul said..."; + mes "'"+.@inputstr$+"' ."; + next; + if (.@inputstr$ == "I know what you did last summer!") { + mes "[Haled]"; + mes "Ekk... He..."; + mes "Knew everything..."; + mes "Hmm..."; + mes "I can help."; + mes "I will cooperate."; + next; + mes "[Haled]"; + mes "I need some time to collect my thoughts."; + mes "Wait for me a bit."; + set job_sha,20; + close; + } + return; +} + +s_atelier,25,75,3 script Manager#sc10_lgt 899,{ + if (job_sha < 26) { + mes "[Manager]"; + mes "You are?"; + mes "Sorry, but we don't trade old art goods."; + mes "If you neeed something, then ask an assistant."; + close; + } else if (job_sha == 26) { + mes "[Vicente]"; + mes "Welcome."; + mes "I've been waiting for you."; + next; + select("For me?"); + mes "[Vicente]"; + mes "I wondered when you would visit."; + mes "I've been waiting a long time for you."; + mes "Huhu..."; + next; + mes "[Vicente]"; + mes "How were Graham,Paul and Haled?"; + mes "They are not easy people to deal with huh?"; + next; + select("You know everything?"); + mes "[Vicente]"; + mes "Sure."; + mes "They ignore me because they think that I'm too young."; + mes "As if they were all perfect. HahahaHah..."; + next; + mes "[Vicente]"; + mes "Did you bring all of the keys?"; + mes "There should be three."; + mes "You came here to find out how to use them I assume, right?"; + next; + select("Yeah, you're right!"); + mes "[Vicente]"; + mes "You don't have to be surprised."; + mes "I can't find how long it took for those three men to investigate before."; + mes "I already finished my work."; + next; + mes "[Vicente]"; + mes "When I went to the final location I found a stone statue."; + mes "But it needs to have key."; + next; + mes "[Vicente]"; + mes "Even Three."; + mes " "; + mes "(Vicente smiles)"; + next; + mes "[Vicente]"; + mes "At first, the information that was given from the guild means only one thing."; + mes "Because of the saying that they respect the right of our possessions,"; + mes "we shared our information."; + next; + mes "[Vicente]"; + mes "So we had to wait for it."; + mes "I thought the last man would never give it to me..."; + next; + mes "[Vicente]"; + mes "They thought I wanted to have the treasure for myself."; + mes "So that's why I've just been waiting for you."; + next; + mes "[Vicente]"; + mes "Then let's make a point!"; + mes "Do you know thanatos tower?"; + next; + switch(select("Sure.:The tower of death?")) { + case 1: + mes "[Vicente]"; + mes "You know that."; + mes "Then you can understand easily."; + next; + break; + case 2: + mes "[Vicente]"; + mes "Yes, that tower in northen Juno."; + mes "There are huge monsters there."; + next; + break; + } + mes "[Vicente]"; + mes "You told me that you went to the final place with the information?"; + mes "That's the Thanatos Tower."; + next; + mes "[Vicente]"; + mes "Fortunately, the location is the 1st floor of that tower."; + mes "So I'm going to tell what you have to do."; + next; + mes "[Vicente]"; + mes "At the 1st floor of thanatos tower, there are members from the Rekenber Corporation."; + mes "Go north from their desk..."; + next; + mes "[Vicente]"; + mes "And you can find stairs and a location where light comes out of."; + mes "That's the location of the information that I have."; + next; + mes "[Vicente]"; + mes "Now you know the location you have to go to with the three keys."; + mes "Find out the secret of the stone statue."; + next; + mes "[Vicente]"; + mes "You can't imagine what kind of things you might find."; + mes "That's the final destination of all of the keys."; + set job_sha,27; + changequest 7177,7178; + next; + mes "[Vicente]"; + mes "Good luck."; + close; + } else if (job_sha == 27) { + mes "[Vicente]"; + mes "Listen carefully."; + mes "The location you need to find is"; + mes "north from middle of thanatos 1st floor."; + mes "You can find stairs and a location where light comes out."; + next; + mes "[Vicente]"; + mes "If you find something, come back here."; + mes "Actually, I want to get the key from you, but..."; + next; + mes "[Vicente]"; + mes "I just respect your opinion."; + mes "If you find something, come back here. Got it?"; + close; + } else if (job_sha == 28) { + mes "[Vicente]"; + mes "You are back?"; + mes "Find anything?"; + next; + switch(select("Throw the brush.:Grab him by the collar.:Drop the brush.")) { + case 1: + mes "[Vicente]"; + mes "Hey, what are you doing?"; + mes "This brush..."; + mes "Is this the treasure hidden in the Thanatos Tower?"; + next; + mes "Vicente looks surprised after taking a look at it."; + next; + break; + case 2: + mes "[Vicente]"; + mes "What's wrong with you?"; + mes "You can tell me more details?"; + next; + mes "Vincente looks surpised after taking a look at it."; + next; + mes "[Vicente]"; + mes "Is this the treasure hidden in the Thanatos Tower?"; + next; + break; + case 3: + mes "[Vicente]"; + mes "What the matter?"; + mes "Are you ok?"; + next; + mes "Vicente looks at me with a surprised face."; + next; + select("Point at the brush."); + mes "[Vicente]"; + mes "Is this the treasure hidden in the Thanatos Tower?"; + next; + mes "Vincente looks surpised after taking a look at it."; + next; + break; + } + mes "[Vicente]"; + mes "Haha!!"; + mes "Ahahahaha!!!!!"; + mes "I got it now!"; + mes "Congratulations."; + next; + mes "[Vicente]"; + mes "It's treasure."; + mes "You found a big treasure!"; + mes "Talk to me for bit, won't you?"; + next; + mes "[Vicente]"; + mes "There is someone who has been waiting for you."; + mes "He's been waiting for someone to bring this brush back."; + mes "Let's go inside."; + set job_sha,29; + erasequest 7179; + close; + } else if (job_sha == 29 || job_sha == 30) { + mes "[Vicente]"; + mes "I'm going to listen to your story."; + close; + } + mes "[Vicente]"; + mes "I'm expecting your work from now on."; + mes "You must be a good Shadow Chaser."; + mes "I'm sure of it."; + close; +} + +s_atelier,73,65,3 script Vicente#sc12_lgt 899,{ + mes "[Vicente]"; + if (job_sha < 29) { + mes "If you don't have anything special to do here, you'd better leave."; + mes "No trespassing."; + close; + } else if (job_sha == 29) { + mes "This way."; + mes "He's been waiting for you a while."; + mes "Not me, Dumk."; + close; + } else if (job_sha == 30) { + mes "Dumk wants to have you as a Shadow Chaser."; + mes "Big news right?"; + close; + } else if (job_sha == 31) { + mes "I'm expecting your work from now on."; + mes "You must be a good Shadow Chaser."; + mes "I'm sure of it."; + close; + } + mes "I don't have any special reason to visit here."; + mes "An assistant sells tools and paint."; + close; +} + +s_atelier,70,66,4 script Dumk#sc13_lgh 481,{ + if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "[Dumk]"; + mes "What is it?"; + mes "Have you been enjoying your new skills?"; + next; + mes "[Dumk]"; + mes "If you want to improve your skills, you have to seek out new uses for paint."; + next; + mes "[Dumk]"; + mes "Don't forget."; + mes "We are Shadow Chasers."; + mes "Huhu..."; + mes "HuhuHuhu..."; + close; + } + if (checkweight(1201,4) == 0) { + mes "- You can't continue on in this quest because you are overweight. -"; + close; + } + if (ismounting()) { + mes "[Dumk]"; + mes "Who is this guy? Why should he sit in front of me so high?"; + mes "Although I do not know why you riding on it, but here is in door,"; + mes "That is no danger to rely on animals to escape, so you please get down!"; + close; + } + if (BaseJob == Job_Rogue) { + if (job_sha < 29) { + mes "[Dumk]"; + mes "Vicente. No Soliciting."; + next; + mes "[Vicente]"; + mes "A solicitor?"; + mes "I don't think so. He's our colleage."; + next; + mes "[Dumk]"; + mes "...Ah?"; + close; + } + if (BaseLevel < 99 || JobLevel < 50 || SkillPoint != 0) { + mes "[Dumk]"; + mes "You are still green!"; + mes "Did you expect that you can learn the dark arts with your ability?"; + mes "You are wrong!"; + next; + mes "[Vicente]"; + mes "Haha..."; + mes "Please, understand. Dumk has very bad communication skills."; + mes "Even doesn't talk to anyone who isn't a high enough level."; + next; + mes "[Vicente]"; + mes "And as person who isn't not ready."; + mes "^4d4dffYou maybe are not ready for him^000000."; + next; + mes "[Dumk]"; + mes "You talk too much."; + mes "Heh."; + next; + mes "[Vicente]"; + mes "- He is pleased. -"; + mes "Hey."; + mes "He could be ashamed."; + close; + } + if (job_sha == 29) { + mes "[Dumk]"; + mes "It's you? You are the one who found the brush?"; + next; + select("Show the brush to him."); + if (countitem(6269)) { + mes "[Dumk]"; + mes "That's it."; + mes "Did you find it by yourself?"; + next; + switch(select("Yes.:With my friends")) { + case 1: + mes "[Dumk]"; + mes "Hmm..."; + mes "You have a high ability."; + mes "Breaking the codes should have been tough."; + mes "But it wasn't for you."; + next; + break; + case 2: + mes "[Dumk]"; + mes "Hmm..."; + mes "That's your other skill."; + mes "People who have no friends must be lonely."; + next; + mes "[Dumk]"; + mes "To us, relationships are very important."; + mes "You get more people, you get more help."; + next; + break; + } + mes "[Dumk]"; + mes "It's time to introduce myself."; + mes "I'm Dumk."; + next; + select("You are..."); + mes "[Vicente]"; + mes "Chicken! How about the chicken for this supper?"; + next; + mes "[Dumk]"; + mes "Why chicken?"; + mes "Why are you interrupting?"; + mes "You wanna be fired?"; + next; + mes "[Vicente]"; + mes "Sorry..."; + mes " "; + mes "(He turns to you and says it's taboo to talk about chicken.)"; + next; + mes "[Dumk]"; + mes "Anyway, let's make a point."; + mes "You."; + mes "Will you yield to the will of the brush?"; + next; + select("Yield to? What?"); + mes "[Dumk]"; + mes "This brush was used by the master."; + mes "Paintings by him have mysterious power."; + next; + mes "[Dumk]"; + mes "I can't tell you the root of the power."; + mes "Someday you will find out."; + mes "He sublimates power through the medium of his paintings."; + next; + select("I don't get it...?"); + mes "[Dumk]"; + mes "We walk in darkness without moonlight."; + mes "And find out our shining days are over."; + next; + mes "[Dumk]"; + mes "We follow to other shadows"; + mes "and we can be real"; + mes "Shadow Chasers!"; + next; + select("What are you talking about?"); + mes "[Vicente]"; + mes "He suggests that you become a Shadow Chaser."; + next; + mes "[Vicente]"; + mes "In our guild, there is a special group that have unique skills."; + mes "They are Shadow Chasers."; + mes "They usually hide ther figure and they think they are different from others."; + next; + mes "[Dumk]"; + mes "Don't be so sarcastic, Vicente!"; + mes "I told you."; + mes "You are qualified to be a Shadow Chaser!"; + next; + mes "[Dumk]"; + mes "Give that brush to me."; + mes "I need it again."; + mes "I'm so thirsty."; + mes "Wait a minute."; + delitem 6269,1; //Master_Brush + set job_sha,30; + close; + } + mes "[Dumk]"; + mes "Let me see..."; + mes "Did you bring the brush?"; + next; + mes "[Dumk]"; + mes "What are you doing?"; + mes "Show me the brush?"; + mes "You didn't bring it?"; + mes "You are not very careful..."; + close; + } else if (job_sha == 30) { + mes "[Dumk]"; + mes "So, do you want me to keep talking about Shadow Chasers?"; + next; + switch(select("What is a Shadow Chaser?:Change me to Shadow Chaser.:I'll come back later.")) { + case 1: + mes "[Dumk]"; + mes "Most spells are exclusively for Wizards and their kind."; + mes "But Knight has since been able to use a kind of magic with things called Runes."; + next; + mes "[Dumk]"; + mes "So we tried finding a medium for spells that suit our characteristics."; + next; + mes "[Dumk]"; + mes "So finally..."; + mes "We found paint!"; + next; + mes "[Dumk]"; + mes "Paint gives us lots of feelings."; + mes "We can feel peaceful and happy or it can give us feelings of sorrow and fear."; + next; + mes "[Dumk]"; + mes "We use that to harness the different emotions of people and exploit them when they're most vulnerable."; + next; + mes "[Dumk]"; + mes "The effects on our enemies are similar to that of magic spells."; + next; + mes "[Dumk]"; + mes "For instance, this power could be used to create blackholes to make your enemies vanish."; + next; + mes "[Dumk]"; + mes "So if you want to have that power then you must have artistry."; + next; + mes "[Dumk]"; + mes "You have to be a trendsetter when it comes to fashion!"; + mes "The ability to understand art!"; + mes "You should have everything."; + next; + select("Then what is the Master Brush?"); + mes "[Dumk]"; + mes "Ah?"; + mes "That was a brush who was a master of dark arts."; + mes "Now we are looking for someone who can be a Shadow Chaser."; + next; + mes "[Dumk]"; + mes "This is a kind of game."; + mes "If there is someone who wants to become a Shadow Chaser,"; + mes "we just start the process to find this brush."; + next; + mes "[Dumk]"; + mes "We put the codes to make sure that you can think outside of the box."; + mes "Did you have fun?"; + close; + case 2: + mes "[Dumk]"; + mes "You decided!"; + mes "As your case, you can master the art of psychological warfare using paint!"; + mes "The art created is beautiful but dangerous."; + next; + mes "[Dumk]"; + mes "We use paint as a medium for spells."; + mes "We use that to harness the different emotions of people and exploit them when they're most vulnerable."; + next; + mes "[Dumk]"; + mes "For instance, this power could be used to create black holes to make your enemies vanish."; + next; + mes "[Dumk]"; + mes "So if you want to have that power then you must have artistry."; + next; + mes "[Dumk]"; + mes "You have to be a trendsetter when it comes to fashion!"; + mes "The ability to understand art!"; + mes "You should have everything."; + next; + mes "[Dumk]"; + mes "You performed your duties diligently and found the brush."; + mes "So you are qualified to be a Shadow Chaser."; + next; + mes "[Dumk]"; + mes "Congratulations."; + mes "Welcome to your new life."; + jobchange roclass(eaclass()|EAJL_THIRD); + getitem 6121,1; //Makeover_Brush + getitem 6122,1; //Paint_Brush + set job_sha,32; + getitem 2795,1; //Green_Apple_Ring + getitem 5750,1; //Shadow_Handicraft + next; + mes "[Dumk]"; + mes "It's a fashionable uniform."; + mes "It uses patterns of leopard and feathers"; + mes "The fashion world will be shocked."; + next; + mes "[Dumk]"; + mes "This shadow peacock I designed myself."; + mes "It's too hard to create something that absorbs my art sense."; + mes "Then about this part..."; + next; + mes "Dumk keeps talking about fashion, art sense, paint and feeling."; + mes "He's obviously in his own world."; + next; + select("About this brush..."); + mes "[Vicente]"; + mes "Ah, I'll expain."; + mes "We need tools for painting."; + next; + mes "[Vicente]"; + mes "The make-up brush is used for face painting."; + mes "You can get paint from the workplace."; + next; + mes "[Vicente]"; + mes "The paint brush is used for painting big spaces."; + mes "You can get paint from the workplace too."; + next; + mes "[Vicente]"; + mes "Don't you remember the location of the workplace?"; + mes "Juno, Prontera, Rachel and Lighthalzen."; + next; + mes "[Vicente]"; + mes "If you need paint, go to an assistant."; + mes "^4d4dffIf you don't have any tools, you can use skill needed paints.^000000"; + next; + mes "[Vicente]"; + mes "Congratulations to be our person."; + close; + case 3: + mes "[Dumk]"; + mes "What?"; + mes "Why not?"; + mes "You don't want to be a Shadow Chaser?"; + mes "I can teach you so much about painting."; + next; + mes "[Dumk]"; + mes "You really won't understand until you become one."; + next; + mes "[Dumk]"; + mes "Don't you want to learn how to harness a power stronger than what you know?"; + mes "...."; + next; + mes "Dumk seemed to be dissapointed because I didn't answer him."; + close; + } + } + } + mes "[Dumk]"; + mes ".........."; + mes "Heh."; + next; + mes "[Vicente]"; + mes "I'm sorry."; + mes "He is not interested in other people."; + mes "But you can't enter this space."; + mes "You can get tools at the store."; + close; +} + +// Flames +//============================================================ +tur_dun03,38,209,1 script Blue Flame#sc_f01 802,{ + if (job_sha == 5) { + mes "A blue flame is roaring."; + mes "The deciphered code means..."; + next; + input .@inputstr$; + set .@dap01$, "blue fire in turtle island third floor"; + set .@dap02$, "BLUE FIRE IN TURTLE ISLAND THIRD FLOOR"; + if (.@inputstr$ != .@dap01$ && .@inputstr$ != .@dap02$) { + mes "["+strcharinfo(0)+"]"; + mes "What was it?"; + mes "I guess I have to make sure I don't use any capital letters."; + close; + } + mes "["+strcharinfo(0)+"]"; + mes "^4d4dff"+.@inputstr$+"^000000"; + mes "It's clearly pointing to this."; + next; + mes "You just murmur the sentence when the flame begins growing."; + next; + mes "[Unknown voice]"; + mes "Hm? Someone is coming?"; + mes "You are the one who wants to have my treasure?"; + mes "But your limitation is over."; + next; + mes "The flame is talking."; + mes "The voice is snake-like."; + mes "In the middle of blue flame, there are two marble eyes."; + next; + select("Pick it up."); + mes "[Unknown voice]"; + mes "You are in a hurry."; + mes "Hahaha, humans usually do things like that."; + mes "They can't see the truth."; + next; + mes "[Unknown voice]"; + mes "How about you?"; + mes "I don't expect that you will do harm to this blue flame."; + mes "It's the only one with two..."; + next; + select("Who are you?"); + mes "[Shadow of Deception]"; + mes "Me? I'm a deception."; + mes "I sneer at people who are stupid."; + mes "I laugh behind their backs."; + mes "HahaHaha..."; + next; + mes "The Blue Flame is growning and rolling."; + mes "They seem to be related."; + set job_sha,6; + setquest 7164; + if (checkquest(7161) >= 0) erasequest 7161; + if (checkquest(7162) >= 0) erasequest 7162; + if (checkquest(7163) >= 0) erasequest 7163; + close; + } else if (job_sha == 6) { + if (checkquest(7164,HUNTING) == 2) { + mes "It looks like the blue flame is under the limitation."; + mes "You can't feel that rolling effect of a spell like before."; + next; + select("Pick up the marbles."); + mes "When you pick them up, you can feel that your weight is lightened."; + set job_sha,7; + erasequest 7164; + close2; + warp "job3_sha01",22,82; + end; + } + mes "The flame is still rolling with a strong spell."; + mes "You have to cut the relation with it."; + close; + } else if (job_sha == 7) { + mes "It looks like the blue flame is under the limitation."; + mes "You can't feel that rolling effect of a spell like before."; + next; + select("Pick up the marbles."); + mes "When you pick it up, you can feel that your weight is lightened."; + close2; + warp "job3_sha01",22,82; + end; + } + mes "The flame is rolling."; + close; +} + +ice_dun02,206,223,1 script Red Flame#sc_f02 802,{ + if (job_sha < 11) { + mes "An unknown red flame is roaring."; + close; + } else if (job_sha > 10 && job_sha < 14) { + mes "The red flame is roaring."; + mes "It changed to a woman in black."; + next; + mes "[Woman in black]"; + mes "Can you hear me?"; + mes "Huhu."; + mes "Can you see me?"; + next; + mes "[Woman in black]"; + mes "You are the chosen one?"; + mes "You can know that."; + mes "There is a soul that is the same as me."; + next; + mes "[Woman in black]"; + mes "I'm a shadow."; + mes "A wandering shadow."; + mes "Sad soul."; + mes "A shadow of illusion without truth."; + next; + mes "[Shadow of Illusion]"; + mes "What do you want?"; + mes "Do you want treasure?"; + mes "Then pick it up."; + mes "Tear my soul and"; + mes "show the truth."; + set job_sha, job_sha+3; + setquest 7171; + close; + } else if (job_sha == 14 || job_sha == 15 || job_sha == 16) { + if (checkquest(7171,HUNTING) == 2) { + mes "You can't feel the soul from the flame."; + mes "When you go closer, you can't see well because of darkness."; + close2; + warp "job3_sha01",22,33; + end; + } + mes "[Shadow of Illusion]"; + mes "Huhu."; + mes "What's wrong?"; + mes "You couldn't find the half of my soul?"; + mes "Huhu..."; + next; + mes "[Shadow of Illusion]"; + mes "Ah, hurry and give me rest."; + mes "I want to die softly."; + mes "I want to give up the phony life."; + next; + mes "[Shadow of Illusion]"; + mes "Huhu..."; + mes "When the false shadow is gone, you can see the truth."; + mes "Please, tear the false to dazzle who are blind..."; + mes "Without any trace..."; + close; + } + mes "The flame is rolling."; + mes "You can't see well because of the light of ice."; + close; +} + +niflheim,230,276,1 script Red Flame#sc_f03 802,{ + if (job_sha < 21) { + mes "That's a mysterious flame."; + mes "It looks like cursing."; + mes "Go away form that."; + close; + } + else if (job_sha == 21) { + mes "["+strcharinfo(0)+"]"; + mes "The poem that Haled told me was pointing to Niflheim."; + mes "There is a flame that looks like the one from turtle island and ice dungeon."; + next; + mes "["+strcharinfo(0)+"]"; + mes "The end of living tree's roots."; + mes "Tears of all living people."; + mes "Sign of all dead people."; + next; + mes "["+strcharinfo(0)+"]"; + mes "They are us but also not us."; + next; + mes "[Someone's voice]"; + mes "They are us but also not us."; + next; + mes "[Someone's voice]"; + mes "Residents of the night forgotten..."; + next; + select("Who is playing that?"); + mes "[Someone's voice]"; + mes "Who is playing the waltz of desperation?"; + mes "....."; + next; + mes "[Someone's voice]"; + mes "Ha..."; + mes "You came here to dig the secret of death."; + mes "Can you play the waltz of death for me?"; + next; + mes "[Someone's voice]"; + mes "I don't to be subject to restraint"; + mes "and be with sign of dead people."; + next; + mes "[Shadow of Pleasure]"; + mes "I'm a shadow."; + mes "I show that best of the pleasure in this world."; + mes "Illusions such that you don't want to be awaken from the dream."; + next; + mes "[Shadow of Pleasure]"; + mes "The soul got tangled by cold chains"; + mes "I can't see the dream"; + mes "and the shadow lost the pleasure that will be lasting forever."; + next; + mes "[Shadow of Pleasure]"; + mes "Please, help me."; + mes "Give me two hands to"; + mes "escape from here!"; + next; + mes "[Shadow of Pleasure]"; + mes "Can you stifle me with two hands?"; + mes "The other side of my senses"; + mes "gas for breath."; + next; + mes "[Shadow of Pleasure]"; + mes "That's the evidence that I live."; + mes "That's the evidence that I cross over the line."; + mes "With start of life"; + mes "the last pleasure."; + next; + mes "[Shadow of Pleasure]"; + mes "Show me the"; + mes "sweet death."; + next; + mes "The flame is dying."; + mes "You should handle the shadow of pleasure."; + set job_sha,22; + erasequest 7174; + setquest 7175; + close; + } else if (job_sha == 22) { + if (checkquest(7175,HUNTING) == 2) { + mes "You can't feel the soul from the flame."; + mes "When you go closer, you can't see well because of darkness."; + set job_sha,23; + erasequest 7175; + close2; + warp "job3_sha01",73,87; + end; + } + mes "You can feel a strong soul in the flame."; + mes "You should handle the shadow of pleasure."; + close; + } else if (job_sha == 23 || job_sha == 24) { + mes "You can't feel the soul from the flame."; + mes "When you go closer, you can't see well because of darkness."; + close2; + warp "job3_sha01",73,87; + end; + } + mes "There is a flame."; + mes "You can't feel anything from it."; + close; +} + +// Boxes +//============================================================ +job3_sha01,22,78,0 script ????#keybox01 844,{ + if (checkweight(1201,1) == 0) { + mes "- You can't continue on in this quest because you are overweight. -"; + close; + } + if (job_sha == 7) { + mes "It's a small box made of a hard turtle's shell."; + mes "The middle of it..."; + next; + select("Touch the middle.:Push the middle."); + mes "When you touch it, something comes out!"; + next; + setarray .@Codes1$[1],"EFDFJWF","FGEGKXG","GHFHLYH","HIGIMZI","IJHJNAJ","JKIKOBK","KLJLPCL","LMKMQDM"; + setarray .@Codes2$[1],"IPOFTUZ","JQPGUVA","KRQHVWB","LSRIWXC","MTSJXYD","NUTKYZE","OVULZAF","PWVMABG"; + set .@i, rand(1,8); + mes " "; + mes " "; + mes " DECEIVE"; + next; + mes " "; + mes " "; + mes " "+.@i; + next; + mes ""; + mes ""; + mes " "+.@Codes1$[.@i]; + next; + mes "It shows some letters and numbers."; + mes " "; + mes "Deceive."; + mes "Then "+.@i+"."; + mes "And "+.@Codes1$[.@i]+"."; + next; + select("What does it mean?"); + mes "["+strcharinfo(0)+"]"; + mes "Is it also code."; + mes "It must be!"; + mes "Ah, something is showing up again...?"; + next; + mes "- You can see some letters on the turtle's shell. -"; + next; + mes " "; + mes "HONESTY"; + mes " "; + mes "And also letters. They are blinking as if waiting for a code to be input."; + next; + input .@inputstr$; + if (.@inputstr$ == .@Codes2$[.@i] || .@inputstr$ == strtolower(.@Codes2$[.@i])) { + mes "When you put the correct answer in there,"; + mes "the box is opened."; + mes "There is a small and fabulous key."; + next; + mes "- You get the Key of Deception. -"; + set job_sha,8; + getitem 6266,1; //Cheat_Key + setquest 7165; + close; + } + mes "- You put the answer -"; + mes "- but it doesn't work. -"; + mes "- You have failed. -"; + close; + } + mes "You don't have to stay in here."; + next; + if(select("Go outside.:Stay here.") == 1) + warp "tur_dun03",40,201; + close; +} + +job3_sha01,25,28,0 script ????#keybox02 844,{ + if (checkweight(1201,1) == 0) { + mes "- You can't continue on in this quest because you are overweight. -"; + close; + } + setarray .@Words$[0],"SEED","FOOT","COLD"; + setarray .@Numbers[0],24,25,20; + set .@i,job_sha-14; + if (job_sha > 13 && job_sha < 17) { + mes "There are lots of boxes."; + mes "with sort of numbers."; + next; + mes " 1 2 3 4 5"; + mes " 6 7 8 9 0"; + mes " "; + mes " [ ][ ] "; + next; + mes "When you touched that number, then it moved."; + mes "You find the empty space."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I guess I have to put the number in the empty space..."; + mes "I have two empty squares to put two numbers."; + mes "What will it be good for?"; + next; + select("I think it's related with the word given by Paul."); + mes "["+strcharinfo(0)+"]"; + mes "I got "+.@Words$[.@i]+"."; + mes "Now I have to convert it into a number..."; + next; + switch(select("Input the answer.:I can't get it.")) { + case 1: + input .@input; + if (.@input == .@Numbers[.@i]) { + mes "You put 2 and "+(.@Numbers[.@i]-20)+"."; + mes "The box opens and you get one key."; + next; + mes "You got the Key of Illusion."; + next; + mes "["+strcharinfo(0)+"]"; + mes "It's not a treasure."; + mes "The Key of Illusion? Is it related with the Shadow of Illusion?"; + mes "I got the Key of Deception after I handled Deception..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Anyway, Paul will be disappointed."; + mes "Key again..."; + mes "How can I escape from here...?"; + set job_sha,17; + getitem 6267,1; //Virtual_Key + erasequest 7171; + changequest 7168+.@i,7172; + next; + mes "When I push the box, it shows the door to go outside."; + close2; + warp "ice_dun02",209,219; + end; + } + mes "When you enter the number, it goes back to the first."; + close; + case 2: + mes "["+strcharinfo(0)+"]"; + mes "Hmm."; + mes "I can't get it..."; + mes "Is it the same code as the Prontera workplace...?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "According to that method..."; + mes "A means 11 and B means 12."; + close; + } + } + mes "It's a myterious box."; + mes "When I push the box, it shows the door to go outside."; + close2; + warp "ice_dun02",209,219; + end; +} + +job3_sha01,73,80,0 script ????#keybox03 844,{ + if (checkweight(1201,1) == 0) { + mes "- You can't continue on in this quest because you are overweight. -"; + close; + } + if (job_sha == 23 || job_sha == 24) { + if (job_sha == 23) { + mes "There is a box that looks like a house."; + mes "There's a small paper in the chimney."; + next; + mes "It says..."; + mes "-----------------"; + mes " 20 21 18 14"; + mes " 1 14 4"; + mes " 19 8 1 11 5"; + mes "-----------------"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I think it's another code."; + } else { + mes "["+strcharinfo(0)+"]"; + mes "Let me think again..."; + mes "20 21 18 14"; + mes "1 14 4 "; + mes "19 8 1 11 5"; + mes "..."; + } + next; + mes "["+strcharinfo(0)+"]"; + mes "It's the same as before."; + mes "There's no code, so 1 should be A."; + mes "And the answer is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "turn and shake" || .@inputstr$ == "TURN AND SHAKE") { + mes "["+strcharinfo(0)+"]"; + mes "Turn... Turn... and"; + mes "Shake? Shake?"; + mes "For what?"; + next; + while(1) { + switch(select("Turn the roof.:Turn the house.:Turn the handle.")) { + case 1: + mes "You turn the roof."; + next; + switch(select("Shake the roof.:Shake the house.")) { + case 1: + mes "Even though you shake the roof but"; + mes "nothing happens."; + next; + mes "["+strcharinfo(0)+"]"; + mes "That's not it."; + mes "Hmm..."; + next; + break; + case 2: + mes "You tried to shake the house but"; + mes "it doesn't do anything."; + next; + mes "["+strcharinfo(0)+"]"; + mes "It's wrong."; + mes "Put it back"; + mes "and try it again."; + next; + break; + } + break; + case 2: + mes "You grab the whole house and turn it."; + next; + switch(select("Shake up and down.:Shake back and forth.:Turn 'round and 'round and shake.:Roll it upside down.")) { + case 1: + case 2: + mes "Nothing happens."; + mes "You think there is something inside, but it won't come out."; + next; + mes "["+strcharinfo(0)+"]"; + mes "That's not it."; + mes "Hmm..."; + next; + break; + case 3: + mes "You shake it slowly."; + mes "You can hear a noise,"; + mes "but nothing's coming out."; + next; + mes "["+strcharinfo(0)+"]"; + mes "That's not it."; + mes "Hmm..."; + next; + break; + case 4: + mes "Rolling it upside down causes something inside to move."; + next; + mes "You shake it slowly."; + mes "You can hear some noise."; + mes "Something's coming out."; + next; + mes "- You got the Key of Pleasure. -"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What? A key again!"; + mes "Haled will be disappointed."; + mes "I better go back."; + set job_sha,25; + setquest 7176; + getitem 6268,1; //Mirth_Key + close; + } + break; + case 3: + mes "You tried to turn the small handle"; + mes "but it doesn't work."; + next; + mes "["+strcharinfo(0)+"]"; + mes "What should I do now?"; + next; + break; + } + } + } + mes "["+strcharinfo(0)+"]"; + mes "..."+.@inputstr$+"...?"; + if (job_sha == 23) { + mes "What does that mean?"; + set job_sha,24; + } else + mes "Again? I don't get it."; + close; + } + mes "You don't have to stay in here."; + mes "You put the box down and see that there is a door to go outside."; + close2; + warp "niflheim",230,270; + end; +} + +job3_sha01,71,27,0 script ????#keybox04 844,{ + if (checkweight(1201,1) == 0) { + mes "- You can't continue on in this quest because you are overweight. -"; + close; + } + if (job_sha == 27) { + mes "There is a stone statue that looks"; + mes "like a small casket with a fabulous pattern around it."; + next; + mes "But you can't feel any power from it."; + mes "You find three holes in there."; + next; + mes "Inscribed next to the holes is written"; + mes "deception, illusion and pleasure."; + next; + select("Place the key in the holes."); + if (countitem(6266) && countitem(6267) && countitem(6268)) { + mes "["+strcharinfo(0)+"]"; + mes "At first, Deception..."; + mes "then Illusion..."; + mes "and Pleasure..."; + mes "Let me see."; + next; + mes "When you put the keys in"; + mes "something comes out."; + next; + mes "- You got a brush with a fabulous pattern on it. -"; + delitem 6266,1; //Cheat_Key + delitem 6267,1; //Virtual_Key + delitem 6268,1; //Mirth_Key + set job_sha,28; + getitem 6269,1; //Master_Brush + changequest 7178,7179; + next; + mes "["+strcharinfo(0)+"]"; + mes "What???"; + mes "A brush!!!!"; + mes "This isn't treasure!!!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ahahhah!!!!"; + mes "*sniff*"; + mes "It's not treasure!"; + next; + select("Now I'm pissed off."); + mes "["+strcharinfo(0)+"]"; + mes "*Sigh*"; + mes "Guess I should bring this to ^4d4dffVicente^000000!"; + close; + } + mes "["+strcharinfo(0)+"]"; + mes "I didn't bring all of the keys."; + mes "How could I be so stupid?"; + close; + } + mes "It's an empty stone statue."; + close; +} + +// Brush Shops +//============================================================ +s_atelier,29,119,3 script Max#sc05_prt 97,{ + mes "[Max]"; + mes "Welcome~"; + if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "You are a member of the Rogue guild!"; + mes "What can I help you with?"; + next; + set .@i, select("I need a make-up brush.:I need a paint brush.:Nothing."); + mes "[Max]"; + if (.@i == 1) setarray .@i[1],6121,1,10,100000; + else if (.@i == 2) setarray .@i[1],6122,2,30,200000; + else { + mes "If you need more"; + mes "just visit me!"; + close; + } + if (countitem(.@i[1])) { + mes "Are you kidding me?"; + mes "You already have it?"; + mes "You don't need anything else."; + next; + mes "[Max]"; + mes "Visit later and use what you have!"; + close; + } + if (countitem(7150) >= .@i[2] && countitem(949) >= .@i[3] && Zeny >= .@i[4]) { + mes "Oh you brought all the things required."; + mes "Hold on a bit."; + next; + mes "[Max]"; + mes "Here's what you need."; + next; + mes "[Max]"; + mes "Take it."; + mes "Good luck!"; + delitem 7150,.@i[2]; //Bamboo_Cut + delitem 949,.@i[3]; //Feather + set Zeny, Zeny - .@i[4]; + getitem .@i[1],1; //Makeover_Brush,Paint_Brush + close; + } + mes "Here's what you need to get a make-up brush."; + mes .@i[2]+" Bamboo Cut,"; + mes .@i[3]+" Feather,"; + mes "and "+.@i[0]+"00,000 zeny."; + close; + } + mes "We sell all art related things here~"; + next; + switch(select("Paint!?:Where's the manager?")) { + case 1: + mes "[Max]"; + mes "You are asking for paint?"; + mes "Could you just ask them to get the paint?~"; + close; + case 2: + mes "[Max]"; + mes "There's our manager."; + mes "Right over there."; + mes "**points**"; + mes "Are you blind?"; + close; + } +} + +s_atelier,136,70,3 script Titika#sc09_ra 914,{ + mes "[Titika]"; + mes "Welcome."; + if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "You are in a guild."; + mes "What can I help you with?"; + next; + set .@i, select("Make a new make-up brush.:Make a new paint brush.:Nothing."); + mes "[Titika]"; + if (.@i == 1) setarray .@i[1],6121,1,10,100000; + else if (.@i == 2) setarray .@i[1],6122,2,30,200000; + else { + mes "Visit me again."; + close; + } + if (countitem(.@i[1])) { + mes "You already have a paint brush?"; + mes "I think it's enough..."; + close; + } + if (countitem(7150) >= .@i[2] && countitem(949) >= .@i[3] && Zeny >= .@i[4]) { + mes "You brought all the materials."; + mes "I'll exchange it with the goods that I made."; + delitem 7150,.@i[2]; //Bamboo_Cut + delitem 949,.@i[3]; //Feather + set Zeny, Zeny - .@i[4]; + getitem .@i[1],1; //Makeover_Brush,Paint_Brush + close; + } + mes "To make a paint brush,"; + mes "you need "+.@i[2]+" Bamboo Cut,"; + mes .@i[3]+" Feathers,"; + mes "and "+.@i[0]+"00,000 zeny."; + close; + } + mes "This is the Shadow Chaser workplace~"; + next; + switch(select("Where is the paint?:Where is the manager?")) { + case 1: + mes "[Titika]"; + mes "You mean paint?"; + mes "Talk to the assistant and ask about the paint tool."; + close; + case 2: + mes "[Titika]"; + mes "My manager is inside of the workplace."; + mes "If you visit him without a special reason, he will ignore you."; + close; + } +} + +s_atelier,124,128,3 script RimiGX#sc07_yuno 862,{ + mes "[RimiGX]"; + mes "Welcome."; + if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "What are you looking for?"; + next; + set .@i, select("Make a new blush for make-up.:Make a new blush for painting.:Nothing."); + mes "[RimiGX]"; + if (.@i == 1) setarray .@i[1],6121,1,10,100000; + else if (.@i == 2) setarray .@i[1],6122,2,30,200000; + else { + mes "Visit me again."; + close; + } + if (countitem(.@i[1])) { + mes "I can't offer extra stuff."; + mes "Visit here when you lost stuff."; + close; + } + if (countitem(7150) >= .@i[2] && countitem(949) >= .@i[3] && Zeny >= .@i[4]) { + mes "You brought stuff you need."; + mes "It will be fast when I exchange the stuff made?"; + delitem 7150,.@i[2]; //Bamboo_Cut + delitem 949,.@i[3]; //Feather + set Zeny, Zeny - .@i[4]; + getitem .@i[1],1; //Makeover_Brush,Paint_Brush + close; + } + mes "For blush to "+((.@i[0] == 1)?"make up":"paint"); + mes "you need "+.@i[2]+" Bamboo Cut,"; + mes .@i[3]+" Feather, and "+.@i[0]+"00,000 zeny."; + close; + } + mes "It's the shadow workplace~"; + next; + switch(select("Where is the paint?:Where is the manager?")) { + case 1: + mes "[RimiGX]"; + mes "Paint?"; + mes "Ask an assistant who works over there."; + close; + case 2: + mes "[RimiGX]"; + mes "Manager? He's in inside of the workplace."; + mes "But when you visit him, you should have something to tell him...."; + close; + } +} + +s_atelier,26,68,3 script Vito#sc11_lgt 904,{ + mes "[Vito]"; + mes "Welcome."; + if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "What are you looking for?"; + next; + set .@i, select("Make a new blush for make-up.:Make a new blush for painting.:Nothing."); + mes "[Vito]"; + if (.@i == 1) setarray .@i[1],6121,1,10,100000; + else if (.@i == 2) setarray .@i[1],6122,2,30,200000; + else { + mes "Whenever you need a blush, visit me."; + mes "See you!"; + close; + } + if (countitem(.@i[1])) { + mes "We offer only one blush to each person."; + mes "We can't offer extra blushes."; + close; + } + if (countitem(7150) >= .@i[2] && countitem(949) >= .@i[3] && Zeny >= .@i[4]) { + mes "You brought all what you need."; + mes "I'm going to exchange the blush I made before."; + delitem 7150,.@i[2]; //Bamboo_Cut + delitem 949,.@i[3]; //Feather + set Zeny, Zeny - .@i[4]; + getitem .@i[1],1; //Makeover_Brush,Paint_Brush + close; + } + mes "For blush to "+((.@i[0] == 1)?"make up":"paint"); + mes "you need "+.@i[2]+" Bamboo Cut,"; + mes .@i[3]+" Feather, and "+.@i[0]+"00,000 zeny."; + close; + } + mes "It's the shadow workplace."; + next; + switch(select("Where is the paint?:Where is the manager?")) { + case 1: + mes "[Vito]"; + mes "Paint?"; + mes "Ask the assistant standing over there."; + close; + case 2: + mes "[Vito]"; + mes "The man standing in front of the counter is the manager."; + close; + } +} + +// Warp Portal +//============================================================ +tha_t01,149,228,0 script #shadowc02 45,2,2,{ + end; +OnTouch: + mes "You can feel weird power."; + if (BaseJob == Job_Rogue && job_sha == 27) { + mes "You are getting dizzy."; + close2; + warp "job3_sha01",71,36; + end; + } + mes "You don't know what it is."; + close; +} + +// Quest Mob Spawn +//============================================================ +tur_dun03,0,0,0,0 monster Shadow of Deception 2076,1,1000,0,0 +ice_dun02,0,0,0,0 monster Shadow of Illusion 2077,1,1000,0,0 +niflheim,0,0,0,0 monster Shadow of Pleasure 2078,1,1000,0,0
\ No newline at end of file diff --git a/npc/re/jobs/3-2/sorcerer.txt b/npc/re/jobs/3-2/sorcerer.txt new file mode 100644 index 000000000..712e01452 --- /dev/null +++ b/npc/re/jobs/3-2/sorcerer.txt @@ -0,0 +1,420 @@ +//===== rAthena Script ======================================= +//= Sorcerer Job Quest +//===== By: ================================================== +//= Muad_Dib +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Job change Quest from Sage / Professor -> Sorcerer. +//===== Additional Comments: ================================= +//= 1.0 First Version. [Masao] +//= 1.1 Cleaning. [Euphy] +//= 1.2 Updated script, optimized. [Euphy] +//============================================================ + +gef_tower,102,34,5 script Merito 742,{ + mes "[Merito]"; + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) { + mes "You packed so much in your bag. Try again after emptying your bag."; + close; + } + if (Class == Job_Sorcerer || Class == Job_Sorcerer_T || Class == Job_Baby_Sorcerer) { + mes "Please get on with the sprits well~ You should~!"; + close; + } + if (BaseLevel < 99 || JobLevel < 50 || SkillPoint != 0) { + mes "Wow~ you are a young adventurer. I envy you."; + close; + } + if (BaseJob != Job_Sage) { + mes "Ahh~ I think you don't need to have a conversation with me."; + close; + } + if (job_soc == 0) { + mes "Welcome. What can I help you with?"; + next; + select("Do you know about Sorcerers?"); + mes "[Merito]"; + mes "Wouldn't it be more comfortable to just live as a scholar? Sorcerers are busy communicating with the spirits and don't have much time to read books..."; + next; + mes "[Merito]"; + mes "What made you want to be a sorcerer?"; + next; + if(select("The spirit of fire led me here.:The spirit of water led me here.:The spirit of earth led me here:The spirit of meat led me here.") == 4) { + mes "[Merito]"; + mes "That kind of spirit doesn't exist!"; + close; + } + mes "[Merito]"; + mes "Oh, I see."; + mes "You must be born with the natural ability to see that you already communicated with the spirits, or you must be an excellent liar."; + next; + mes "[Merito]"; + mes "Hmm... Then first, can you write down your name on this list?"; + next; + if(select("Write name.:I won't.") == 2) { + mes "[Merito]"; + mes "Well, okay. See you again when you get a chance."; + close; + } + mes "[Merito]"; + mes "So, you are [" + strcharinfo(0) + "]."; + next; + mes "[Merito]"; + mes "Give me a second to register your name."; + mes "Talk to me again in a second."; + set job_soc,1; + close; + } else if (job_soc == 1) { + mes "Good, then I'll give you a short explanation about the Sorcerer."; + next; + mes "[Merito]"; + mes "[" + strcharinfo(0) + "], can you handle magic skillfully?"; + next; + if(select("Yes, I can.:No, I'm not really good at it.") == 2) { + mes "[Merito]"; + mes "What!? You don't know how to use magic?"; + mes "What are you doing here then? Get out of here. Right now!"; + close; + } + mes "[Merito]"; + mes "Okay, that should be obvious."; + mes "Of course, Sorcerers use magic, too. But, do you know the main difference Sorcerers have from other magical jobs?"; + next; + switch(select("They know how to sing.:They're all old fogies.:They can deal with the spirits.")) { + case 1: + mes "[Merito]"; + mes "Well maybe some but that's not the main difference."; + close; + case 2: + mes "[Merito]"; + mes "What! How dare you!?!"; + close; + case 3: + break; + } + mes "[Merito]"; + mes "That's right. That is the most distinguishing feature that Sorcerers have."; + next; + mes "[Merito]"; + mes "When the people who want to be a Sorcerer come, the first thing we do is to check whether they can communicate with spirits or not."; + next; + mes "[Merito]"; + mes "So that's the basic introduction, so you just need to decide whether or not you want to take the qualification test."; + next; + mes "[Merito]"; + mes "Well, it's all up to you. What are you going to do?"; + next; + switch(select("I will take the test.:I'll do it later.")) { + case 1: + mes "[Merito]"; + mes "Okay. "; + mes "Then I'll hand it over to Karacas who is on the 4th floor. He will guide you through the process of the test."; + set job_soc,2; + setquest 12096; + close; + case 2: + mes "[Merito]"; + mes "What? I was sure that you wanted to become a Sorcerer."; + close; + } + } else { + mes "How about your test? Well, Karacas is a little lazy, so that might bother you some... kkk"; + close; + } +} + +gef_tower,113,161,5 script Karacas 754,{ + mes "[Karacas]"; + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) { + mes "Oh, it seems that you're too heavy. Empty your bag and then come again."; + close; + } + if (Class == Job_Sorcerer || Class == Job_Sorcerer_T || Class == Job_Baby_Sorcerer) { + mes "You look happy. Have a great journey."; + close; + } + if (BaseLevel < 99 || JobLevel < 50 || SkillPoint != 0) { + mes "Is there anything I can do for you?"; + close; + } + if (BaseJob != Job_Sage) { + mes "I belong to the Sorcerer association. I don't think you have any business with me."; + close; + } + if (job_soc < 2) { + mes "More people are visiting Geffen Tower these days."; + close; + } else if (job_soc == 2) { + mes "...."; + next; + select("Ah... excuse me~"); + mes "[Karacas]"; + mes "... (Z z z~)"; + next; + select("Hm hm!!!~"); + mes "[Karacas]"; + mes "Aaaak!! "; + mes "Oh, my... "; + next; + mes "[Karacas]"; + mes "Wh... where are you from?"; + next; + select("Merito told me to visit you."); + mes "[Karacas]"; + mes "I see, give me a moment."; + mes "The list... has already arrived."; + next; + mes "[Karacas]"; + mes "So, you are [" + strcharinfo(0) + "]... right?"; + next; + if(select("Yes, I am.:No, I'm not!") == 2) { + mes "[Karacas]"; + mes "Oh, there must be some mistake in the list, I think. Will you come again later?"; + close; + } + mes "[Karacas]"; + mes "Before you take the Sorcerer test, let me give you the basic information."; + next; + mes "[Karacas]"; + mes "The way to get a Sorcerer registration ticket is really simple. You just need to go and find one of each spirit scattered around the world, and then convert their power into the shape of a certain material."; + next; + mes "[Karacas]"; + mes "Sounds easy, right?"; + next; + select("Ahh... sir. Is that really possible?"); + mes "[Karacas]"; + mes "Well, it is impossible to meet every spirit by yourself. You need to train yourself very hard to give a shape to the spirits and see them clearly through your eyes."; + next; + mes "[Karacas]"; + mes "So, usually we perform a certain ceremony parade toward the place where we can feel the spirits."; + next; + mes "[Karacas]"; + mes "I will tell you how to do that. So listen carefully."; + next; + mes "[Karacas]"; + mes "Usually we cannot see the spirits with our eyes but there is a way to realize the part of the spirits through a special medium."; + next; + mes "[Karacas]"; + mes "For example, if you visit the place where the spirit of wind stays with a certain amount of Wind of Verdure, the reaction of the spirit is amplified."; + next; + mes "[Karacas]"; + mes "Likewise, if you approach the place where the spirit of fire seems to stay while you have a certain amount of Red Blood, the spirit will show the adverse reaction."; + next; + mes "[Karacas]"; + mes "Sorcerers use this basic principle, this is the essential knowledge that Sorcerers need to have to reach the spirits."; + next; + select("So communicating with spirits..."); + mes "[Karacas]"; + mes "Right~"; + mes "This job is based on the power of spirits."; + next; + mes "[Karacas]"; + mes "Hmm, but it might be hard for someone like you who's focused only on reading books..."; + next; + mes "[Karacas]"; + mes "First, you need to bring the following materials needed for the test."; + next; + mes "[Karacas]"; + mes "3 Wind of Verdure."; + mes "3 Crystal Blue."; + mes "3 Red Blood."; + mes "3 Green Live."; + next; + mes "[Karacas]"; + mes "When you bring these materials, I'll tell you the next step."; + set job_soc,3; + changequest 12096,12097; + close; + } else if (job_soc == 3) { + if (countitem(992) > 2 && countitem(991) > 2 && countitem(990) > 2 && countitem(993) > 2) { + mes "Oh, you have all the materials."; + next; + select("What should I do next?"); + mes "[Karacas]"; + mes "I'll tell you about it now. First, I'll tell you the places for the test. You better write them down."; + next; + mes "[Karacas]"; + mes "1. 1st floor of Ice Cave"; + mes "2. 1st floor of Thor Volcano Dungeon"; + mes "3. 3rd floor of Mjolnir Dead Pit"; + mes "4. 2nd floor of Kunlun Dungeon"; + next; + mes "[Karacas]"; + mes "We have set up the detecting poles in these 4 places so that ordinary people can communicate with the spirits."; + next; + mes "[Karacas]"; + mes "Be aware that these detecting poles are activated only when you have more than the certain amount of property stones."; + next; + mes "[Karacas]"; + mes "You need to prepare at least 3 small stones for each property. For example, you need Wind of Verdure, not Rough Wind."; + next; + select("So I need the property stones..."); + mes "[Karacas]"; + mes "Yes, you have quick wits!"; + next; + mes "[Karacas]"; + mes "Once you bring the stones to the poles, put them into the property decomposing machine which is attached to the pole. The detecting pole will be activated, and you can communicate with the spirit."; + next; + mes "[Karacas]"; + mes "If you succeed, you can extract a part of the spirit as a reagent. If you fail, the property stone will break up."; + next; + mes "[Karacas]"; + mes "Of course if you are lucky enough, if you fail, a Wind of Verdure can be changed into a Rough Wind... Well, that's not a common situation so let's leave that out of the discussion for now."; + next; + select("What if I run out of stones?"); + mes "[Karacas]"; + mes "Ahahaha... If you run out of property stones, you simply have to get more."; + next; + mes "[Karacas]"; + mes "So people who have this test usually start with as many property stones as they can carry. The amount I told you to get is just the bare minimum."; + next; + mes "[Karacas]"; + mes "If you are an advanced Sorcerer, you will be able to talk with spirits without going through this process again. But beginners need to use that kind of medium to talk with them."; + next; + select("So the reagent is...?"); + mes "[Karacas]"; + mes "We don't know which reagent is going to be made from the spirits. It differs by the state of spirits."; + next; + mes "[Karacas]"; + mes "When you succeed in getting 3 different kinds of reagents, you can come back."; + next; + mes "[Karacas]"; + mes "A reagent that one spirit makes won't be over 2 kinds so if you're going to make 3 kinds of reagents, I suggest you go around several places."; + next; + mes "[Karacas]"; + mes "Have any questions?"; + next; + if(select("No.:Please explain it again.") == 2) { + mes "[Karacas]"; + mes "Haha, then can I have a cup of water for a minute? Please come and find me again later."; + next; + } + mes "[Karacas]"; + mes "Then I'll write down the progress that I've summarized shortly. Wait..."; + next; + mes "^000099You got a paper on which the way of communicating with spirits is written. For more information please open your quest window^000000."; + set job_soc,4; + changequest 12097,12098; + close; + } + mes "Before I let you know the progressing way, you'll need to bring some required material."; + next; + mes "[Karacas]"; + mes "3 Wind of Verdure."; + mes "3 Crystal Blue."; + mes "3 Red Blood."; + mes "3 Green Live."; + next; + mes "[Karacas]"; + mes "When you bring these basic things, I'll guide you to the next step."; + close; + } else if (job_soc == 4) { + if (countitem(6276) && countitem(6278) && countitem(6277)) { + mes "Wow~ your skill is good."; + mes "I thought you'd be overwhelmed by the spirits but you've managed to get the effective medicine!"; + next; + select("Is this all I need to do?"); + mes "[Karacas]"; + mes "Well done. First, I will organize the miraculous medicine so please wait a moment."; + delitem 6276,1; //Clear_Reagent + delitem 6278,1; //Black_Reagent + delitem 6277,1; //Red_Reagent + set job_soc,5; + completequest 12098; + close; + } + mes "It's not an easy thing to get the desired effect by communicating with spirits."; + next; + mes "[Karacas]"; + mes "Don't give up and keep on trying~"; + close; + } else if (job_soc == 5) { + mes "Originally my teacher needs to check the Sorcerer job change but after he went out to find the spirit of fish, I can't see him. So I'll check it myself."; + next; + mes "[Karacas]"; + mes "Dear [" + strcharinfo(0) + "],"; + mes "you went around the rough wilds to open the door as a Sorcerer and passed all the requirements that our Academy has given."; + next; + mes "[Karacas]"; + mes "Of course it is just a beginning, we don't know which spirit you're going to commune with or what kind of hardships await you."; + next; + mes "[Karacas]"; + mes "But with the ability you've shown until now, you will be capable to do anything from now on. Dear [" + strcharinfo(0) + "]"; + next; + mes "[Kalakas]"; + if (BaseLevel < 99 || JobLevel < 50 || SkillPoint) { + mes "Before I appointed you the need job, please check on your own body status. "; + next; + mes "[Kalakas]"; + mes "You must have the etiquette of your job now before you accept the new job! "; + close; + } + if (ismounting()) { + mes "Good, before we get started..."; + mes "Please unequip your riding pet~"; + close; + } + mes "Moreover, I formally acknowledge that you've completed all the job transfer tests of the Sorcerer Academy."; + next; + mes "[Karacas]"; + mes "Congratulations, [" + strcharinfo(0) + "]"; + jobchange roclass(eaclass()|EAJL_THIRD); + getitem 5756,1; //Wind_Whisper + getitem 2795,1; //Green_Apple_Ring + next; + mes "[Karacas]"; + mes "I hope that you gain more communion with spirits from now on."; + close; + } +} +- script Spirit Detecting Staff#0 -1,{ + + if (strnpcinfo(4) == "thor_v01") setarray .@id[0],990,994,6276,6278; + else if (strnpcinfo(4) == "ice_dun01") setarray .@id[0],991,995,6278,6276; + else if (strnpcinfo(4) == "mjo_dun03") setarray .@id[0],993,997,6277,6276; + else if (strnpcinfo(4) == "gon_dun02") setarray .@id[0],992,996,6277,6278; + + if (job_soc == 4 && countitem(.@id[0]) > 2) { + progressbar "ffff00",5; + delitem .@id[0],3; //Boody_Red,Crystal_Blue,Yellow_Live,Wind_Of_Verdure + set .@soc_ran, rand(1,70); + if (.@soc_ran < 10) { + if (countitem(.@id[2]) == 0) { + mes "You got a reagent by communicating with an unseen spirit."; + getitem .@id[2],1; //Clear_Reagent,Black_Reagent,Red_Reagent + close; + } + mes "It doesn't seem like you got anything special from the spirits."; + close; + } else if (.@soc_ran > 9 && .@soc_ran < 16) { + if (countitem(.@id[3]) == 0) { + mes "You got a reagent by communicating with an unseen spirit."; + getitem .@id[3],1; //Clear_Reagent,Black_Reagent,Red_Reagent + close; + } + mes "It doesn't seem like you got anything special from the spirits."; + close; + } else if (.@soc_ran == 56) { + mes "The spirit combined the property stones into a huge property stone."; + getitem .@id[1],1; //Flame_Heart,Mistic_Frozen,Great_Nature,Rough_Wind + close; + } else { + mes "You used the property stones but it looks like you failed to communicate with the spirits."; + close; + } + } + mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits."; + if (job_soc == 4 && countitem(.@id[0]) < 3) { + next; + mes "If you have the suitable property stones, you should be able to commune with the spirits."; + } + close; +} +thor_v01,64,252,0 duplicate(Spirit Detecting Staff#0) Spirit Detecting Staff#1 836 +ice_dun01,274,274,0 duplicate(Spirit Detecting Staff#0) Spirit Detecting Staff#2 836 +mjo_dun03,200,141,0 duplicate(Spirit Detecting Staff#0) Spirit Detecting Staff#3 836 +gon_dun02,195,190,0 duplicate(Spirit Detecting Staff#0) Spirit Detecting Staff#4 836
\ No newline at end of file diff --git a/npc/re/jobs/3-2/sura.txt b/npc/re/jobs/3-2/sura.txt new file mode 100644 index 000000000..b31719934 --- /dev/null +++ b/npc/re/jobs/3-2/sura.txt @@ -0,0 +1,867 @@ +//===== rAthena Script ======================================= +//= Sura Job Quest +//===== By: ================================================== +//= Muad_Dib, Gepard +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Job change Quest from Monk / Champion -> Sura. +//===== Additional Comments: ================================= +//= 1.0 First Version. [Masao] +//= 1.1 Removed disablenpc which causes players stucked in waitingroom. [Joseph] +//= 1.2 Updated script, optimized. [Euphy] +//============================================================ + +ve_in,237,125,0 script King Crab#job_shu 107,{ + if (job_shu == 0) { + mes "[King Crab]"; + mes "Khh ha ha ha ha ha ha."; + mes "That little rookie was knocked out by my one blow!"; + next; + mes "[Sludge Worm]"; + mes "Those arrogant fellows deserve a bitter lesson."; + mes "How dare a little rookie attack you, boss!"; + next; + if (BaseJob != Job_Monk || BaseLevel < 99 || JobLevel < 50) { + mes "[King Crab]"; + mes "Khhha ha ha ha ha ha!!!!"; + mes "One more cup of beer, here!!!"; + mes "I will drink today!!!"; + next; + mes "[Sludge Worm]"; + mes "King Crab!!! I will follow you forever!!"; + close; + } + mes "[King Crab]"; + mes "Ha ha ha ha ha ha ha!!!!"; + next; + mes "[Sludge Worm]"; + mes "Hey! Right here!!! One more cup of beer!!!"; + mes "What are you doing? My boss's cup is already empty! Come quickly!"; + next; + mes "[Waitress]"; + mes "Yes, I will bring it right away."; + next; + mes "[Sludge Worm]"; + mes "Too slow!!! Who do you think my boss is? Huh!?"; + next; + mes "[Waitress]"; + mes "I... I'm really sorry, sir..."; + next; + mes "[King Crab]"; + mes "K k k k k. That's enough."; + mes "That cute girl seems to be scared of you!"; + mes "Hey lady~ We are not scary people~~"; + next; + mes "[Waitress]"; + mes "Aaaaaaaaaaak! Don't do this!!"; + next; + mes "- Bang -"; + donpcevent "???#bcmd::OnEnable"; + next; + mes "[???]"; + mes "Hey, there."; + mes "I've been watching you, making a ruckus like you own this place."; + next; + mes "[???]"; + mes "It's too noisy. So if you want to say that nonsense again, go home."; + next; + mes "[Sludge Worm]"; + mes "What?!"; + mes "I don't know who you are but you must've lost your mind!"; + mes "Do you have any idea who my boss is?!!"; + next; + mes "[Sludge Worm]"; + mes "This is the famous King Crab!!!"; + mes "Who can decimate entire armies with his fist!!!"; + next; + mes "[???]"; + mes "You do all the dirty things like your dirty face."; + mes "You're just a thug satisfying your desires."; + next; + mes "[King Crab]"; + mes "What?"; + mes "How dare you say those things?"; + mes "Just because you're a girl doesn't mean I'll just let it go."; + next; + mes "[Sludge Worm]"; + mes "Huh! The boss is really mad!"; + mes "I can beat you up with one blow..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey! How dare you use violence against a lady!?"; + next; + mes "[???]"; + mes "Move back, you little thing..."; + next; + mes "[???]"; + mes "Oh, I'm glad to hear that."; + mes "I won't attack first because I'm in the middle of training."; + next; + mes "[King Crab & Sludge Worm]"; + mes "What?"; + next; + mes "[King Crab & Sludge Worm]"; + mes "Uhhhh?!"; + next; + mes "[King Crab & Sludge Worm]"; + mes "Aaaaaahhhhhhhhk!!!!!!!!"; + specialeffect EF_FIRESPLASHHIT,AREA,"King Crab#job_shu"; + specialeffect EF_FIRESPLASHHIT,AREA,"Sludge Worm#job_shu"; + next; + mes "- What is that amazing power? -"; + mes "- I've never seen this -"; + mes "- kind of skill before... -"; + next; + mes "[???]"; + mes "Well, the mood is spoiled..."; + next; + mes "[Waitress]"; + mes "Tha... Thank you so much..."; + mes "How can I repay you?"; + next; + mes "[???]"; + mes "It's not a big deal. It's okay."; + next; + mes "[Waitress]"; + mes "Are you going back to your lodging?"; + mes "If it's okay with you, can I deliver you a meal?"; + next; + mes "[???]"; + mes "Oh, you don't really need to."; + mes "Just a slice of bread and warm soup will be enough for me."; + mes "Then, I've got to say goodbye. Bye."; + donpcevent "???#bcmd::OnDisable"; + next; + mes "[Waitress]"; + mes "Bye..."; + mes "..."; + mes "....."; + mes "........(cheeks glowing)"; + set job_shu,1; + setquest 11155; + close; + } else { + if (strnpcinfo(0) == "King Crab#job_shu") { + mes "[King Crab]"; + mes "How come a little rookie knocked me out! Me! The great King Crab..."; + } else { + mes "[Sludge Worm]"; + mes "Boss... Are we really past our prime now?"; + mes "Sob... sob..."; + } + close; + } +} +ve_in,241,128,4 duplicate(King Crab#job_shu) Sludge Worm#job_shu 110 + +ve_in,244,126,3 script Waitress#job_shu 69,{ + mes "[Waitress]"; + if (job_shu == 0) { + mes "Oh no~"; + mes "I hate those noisy and impolite customers!"; + mes "I hope there is someone who can scold them for me."; + close; + } else if (job_shu == 1) { + if (BaseJob == Job_Monk) { + mes "Oh dear~"; + mes "I really appreciate you, "+jobname(Class)+", for helping me a while ago."; + next; + } + mes "Ah, the person we saw before?"; + mes "She has been staying in this village for days,"; + mes "Isn't she so great?"; + next; + mes "[Waitress]"; + mes "Although she is a woman like me, she was so cool!"; + mes "Aaahh~ That beautiful and imposing figure..."; + next; + mes "[Waitress]"; + mes "Oh my!!"; + mes "I forgot to do something!"; + mes "I should cook right away and then bring the meal to the Inn. Aaahh~"; + next; + mes "[Waitress]"; + mes "If you still don't know where to stay, please use ^f57d7dthe Inn at the upper side of this building^000000."; + close; + } + mes "Now that the customers have become a little quiet."; + mes "Ahhhh, I feel better now!!"; + close; +} + +ve_in,240,131,0 script ???#bcmd 484,{ + end; +OnInit: + disablenpc "???#bcmd"; + end; +OnEnable: + enablenpc "???#bcmd"; + initnpctimer; + end; +OnDisable: + disablenpc "???#bcmd"; + stopnpctimer; + end; +OnTimer600000: + donpcevent "???#bcmd::OnDisable"; + stopnpctimer; + end; +} + +ve_in,97,149,0 script #Suraryokan 139,3,3,{ +OnTouch: + if (job_shu == 1) { + set .@n$, "["+strcharinfo(0)+"]"; + mes "[???]"; + mes "Who is it?!"; + next; + mes .@n$; + mes "I am the person who was at the pub a while ago."; + mes "I have something to ask."; + next; + mes "[???]"; + mes "Don't bother me, just go away!"; + next; + mes .@n$; + mes "Please, I just want to talk."; + next; + mes "[???]"; + mes "..."; + next; + mes .@n$; + mes "Don't ignore me, just talk to me."; + next; + mes .@n$; + mes "Just for a moment, isn't it okay?"; + next; + mes .@n$; + mes "I'm not here to hurt you."; + next; + mes .@n$; + mes "How could you treat someone who came to your door so badly?"; + next; + mes .@n$; + mes "You're going too far."; + next; + mes .@n$; + mes "After I saw you fighting..."; + next; + mes .@n$; + mes "I thought that you must have practiced martial arts and I came here to meet you."; + next; + mes .@n$; + mes "But seeing that you stood me up outside like this..."; + next; + mes .@n$; + mes "You must be advanced in martial arts..."; + next; + mes "[???]"; + mes "How persistent..."; + next; + mes "[???]"; + mes "What the hell do you want?"; + set job_shu,2; + close; + } + end; +} + +ve_in,98,159,0 script Fighter#job_shu 484,{ + if (job_shu < 2) { + mes "[Fighter]"; + mes "Ahhhh~ I'm so tired."; + mes "Training is so tough and I have a long way to go!"; + close; + } else if (job_shu == 2) { + mes "["+strcharinfo(0)+"]"; + mes "I want to know about the skill you used a while ago."; + next; + mes "[???]"; + mes "..."; + mes "......"; + mes "........."; + mes "............ A rookie like you doesn't need to know."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Rookie?!"; + mes "I have steadily practiced martial arts."; + mes "I am confident that I will never lose."; + next; + mes "[???]"; + mes "So you can beat me, too?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "No..."; + mes "I guess that's too much..."; + mes "Frankly speaking, I was quite amazed by you."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I had thought that I was strong enough but after seeing you fight, I realized that I was full of conceit."; + next; + mes "[???]"; + mes "Huuuh~ No matter how strong you are,"; + mes "you cannot avoid reaching for your true limit."; + next; + mes "["+strcharinfo(0)+"]"; + mes "You are just the person that I expected."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I think you would know"; + mes "how to overcome this limitation."; + next; + mes "[???]"; + mes "Stop it."; + next; + mes "["+strcharinfo(0)+"]"; + mes "What? Why?"; + next; + mes "[???]"; + mes "Are you a human?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What?"; + mes "Of course, I am a human."; + next; + mes "[???]"; + mes "To become stronger is too hard for a mere human."; + mes "If you want to, just buy better equipment."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Then, what are you?"; + mes "You mean you're not a human being?"; + next; + mes "[???]"; + mes "To overstep the limit..."; + mes "is impossible for a human."; + mes "It's a ghost's way..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ghost?"; + next; + mes "[???]"; + mes "I gave up being a human after I chose this way."; + mes "The way to become a Sura abandoning divine protection."; + next; + mes "[???]"; + mes "You won't even have time to take a rest if you choose this way."; + mes "You'll become a puppet for war..."; + next; + switch(select("But I still want to know more.:Well, I quit then.")) { + case 1: + mes "[???]"; + mes "Aren't you an idiot?"; + mes "Why are you so happy about becoming a ghost?"; + next; + mes "[???]"; + mes "You'll regret it, so just be satisfied with your present life."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Well, now that I've met you, I won't live my life this way anymore!"; + next; + mes "[???]"; + mes "Hah... you're really making me tired."; + next; + mes "[???]"; + mes "Okay, then^f57d7d go and kill 100 Desert Wolves.^000000"; + mes "After that, I'll think about it again."; + set job_shu,3; + changequest 11155,11156; + close; + case 2: + mes "[???]"; + mes "Well, good choice."; + mes "You don't need to look for trouble."; + close; + } + } else if (job_shu == 3) { + if (checkquest(11156,HUNTING) == 2) { + mes "[???]"; + mes "Wow~"; + mes "Did you really kill all those wolves?"; + mes "I figured you'd have given up."; + next; + mes "[???]"; + mes "A woman's word is her bond!!"; + mes "A promise is a promise."; + next; + mes "[???]"; + mes "Go to ^f57d7dEl Mes Gorge Southeast of Juno^000000."; + mes "My colleague ^f57d7dBuddy^000000 will be training himself near the center of that area."; + next; + mes "[Bruno]"; + mes "Tell him that 'Bruno' sent you there and after that, just suit yourself."; + set job_shu,4; + changequest 11156,11157; + close; + } + mes "[???]"; + mes "Hah... you're really making me tired."; + next; + mes "[???]"; + mes "Okay, then^f57d7d go and kill 100 Desert Wolves.^000000"; + mes "Then I'll think about it again."; + close; + } else if (job_shu == 4) { + mes "[Bruno]"; + mes "Go to ^f57d7dEl Mes Gorge Southeast of Juno^000000."; + mes "My colleague ^f57d7dBuddy^000000 will be training himself near the center of that area."; + next; + mes "[Bruno]"; + mes "Tell him that 'Bruno' sent you there and after that, just suit yourself."; + close; + } else if (job_shu == 100) { + mes "[Bruno]"; + mes "Hey~ !"; + mes "How are you doing?"; + next; + mes "[Bruno]"; + mes "Don't you have any presents for your teacher?"; + close; + } + mes "[Bruno]"; + mes "I recommend you to reconsider being a Sura."; + mes "Sura is strong and cool, but that's not all."; + next; + mes "[Bruno]"; + mes "Me?"; + mes "If I need to choose a job again, I will definitely choose Sura."; + close; +} + +yuno_fild07,254,176,7 script Buddy#job_shu 753,{ + if (job_shu < 4) { + mes "[Buddy]"; + mes "Haaap!!! Haaaap!!! Whoo!! Haahhp!!!"; + next; + mes "[Buddy]"; + mes "I don't know why you're here but please don't stand behind me unless you want to die."; + close; + } else if (job_shu == 4) { + mes "[Buddy]"; + mes "Haaap!!! Haaaap!!! Whoo!! Haahhp!!!"; + next; + mes "[Buddy]"; + mes "I don't know why you're here but please don't stand behind me unless you want to die."; + next; + mes "["+strcharinfo(0)+"]"; + mes "'Bruno' sent me here."; + next; + mes "[Buddy]"; + mes "Ah! My colleague introduced me to you!"; + mes "Anyway, why are you here to see me?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I asked Bruno about her strength, and she recommended me to you."; + next; + mes "[Buddy]"; + mes "That difficult girl... no, just kidding."; + mes "You must be a special person for her to send you to me."; + next; + mes "[Buddy]"; + mes "Well, I can't answer your question because I'm in the process of self-training, so I will take you to our master."; + next; + mes "[Buddy]"; + mes "My master doesn't like noise, so please ^f57d7dwait in the living room silently.^000000"; + next; + mes "[Buddy]"; + mes "This way..."; + set job_shu,5; + changequest 11157,11158; + close2; + warp "sword_1-1",215,244; + end; + } else if (job_shu == 100) { + mes "[Buddy]"; + mes "Ah, long time no see, "+strcharinfo(0)+"."; + mes "Are you here to meet my master?"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Buddy]"; + mes "I'll take you right away."; + close2; + warp "sword_1-1",216,168; + end; + case 2: + mes "[Buddy]"; + mes "Then, why are you here?"; + mes "You are not here to see me, aren't you?"; + close; + } + } + mes "[Buddy]"; + mes strcharinfo(0)+", didn't you meet the master yet?"; + next; + mes "[Buddy]"; + mes "My master doesn't like noise, so please ^f57d7dwait in the living room silently.^000000"; + next; + mes "[Buddy]"; + mes "This way..."; + close2; + warp "sword_1-1",215,244; + end; +} + +sword_1-1,223,243,4 script Drawing Room 753,{ + end; +OnInit: + waitingroom "Drawing Room",20,"Drawing Room::OnStartArena",1; + enablewaitingroomevent; + end; +OnStartArena: + warpwaitingpc "sword_2-1",223,205; + donpcevent "Buddy#Sura_Salon::OnEnable"; + disablewaitingroomevent; + end; +OnEnable: + enablewaitingroomevent; + end; +OnDisable: + disablewaitingroomevent; + end; +} + +sword_1-1,223,243,4 script Buddy#job_shu_Salong 753,{ + mes "[Buddy]"; + mes "My master doesn't like noise, so please ^f57d7dwait in the living room silently.^000000"; + next; + switch(select("Go to the living room.:Go outside.")) { + case 1: + mes "[Buddy]"; + mes "Please wait in the living room at the upper side."; + close; + case 2: + mes "[Buddy]"; + mes "Then, see you again."; + close2; + warp "yuno_fild07",255,178; + end; + } +} + +sword_2-1,1,1,0 script Buddy#Sura_Salon 66,{ + end; +OnInit: + disablenpc "Buddy#Sura_Salon"; + end; +OnEnable: + enablenpc "Buddy#Sura_Salon"; + initnpctimer; + end; +OnReset: + killmonster "sword_2-1","Buddy#Sura_Salon::OnMyMobDead"; + end; +OnDisable: + disablenpc "Buddy#Sura_Salon"; + stopnpctimer; + end; +OnMyMobDead: + if (mobcount("sword_2-1","Buddy#Sura_Salon::OnMyMobDead") < 1) { + monster "sword_2-1",219,210,"Hallucination",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"Hallucination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"Hallucination",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"Hallucination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + } + end; +OnTimer3000: + mapannounce "sword_2-1","The master is now in the middle of training, and you need to wait in the living room around 5 minutes.",bc_map; + end; +OnTimer4000: + mapannounce "sword_2-1","Ah! You may have hallucinations in the living room, so please be careful.",bc_map; + end; +OnTimer5000: + mapannounce "sword_2-1","This is the policy of the master, so please don't feel unpleasant.",bc_map; + end; +OnTimer33000: + monster "sword_2-1",219,210,"Hallucination",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,210,"It can't be true",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"Hallucination",1446,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"Just Imagination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"Hallucination",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"Illusion",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"Hallucination",1446,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"Just Imagination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + end; +OnTimer93000: + monster "sword_2-1",219,210,"Hallucination",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,210,"Just Imagination",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"Hallucination",1446,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"Hallucination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"Hallucination",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"Hallucination",1446,1,"Buddy#Sura_Salon::OnMyMobDead"; + end; +OnTimer153000: + mapannounce "sword_2-1","If you're bored, may I bring you some magazines?",bc_map; + monster "sword_2-1",219,210,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,210,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + end; +OnTimer213000: + monster "sword_2-1",219,210,"Hallucination",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,210,"Never mind",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"Hallucination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"Hallucination",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"Can you see me?",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"Hallucination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + end; +OnTimer273000: + monster "sword_2-1",219,210,"",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"Hallucination",1446,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"Hallucination",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"Hallucination",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"Hallucination",1446,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"Hallucination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + end; +OnTimer300000: + mapannounce "sword_2-1","The master has arrived. Soon I'll show you into the master's room.",bc_map; + end; +OnTimer303000: + donpcevent "Buddy#job_shuaneh::OnEnable"; + end; +OnTimer305000: + donpcevent "Buddy#Sura_Salon::OnReset"; + end; +OnTimer315000: + mapannounce "sword_2-1","Come on here.",bc_map; + donpcevent "Buddy#job_shuaneh::OnDisable"; + donpcevent "#Sura_garajjom::OnEnable"; + end; +OnTimer320000: + mapannounce "sword_2-1","I guess you're not ready to meet the master yet...",bc_map; + donpcevent "#Sura_garajjom::OnDisable"; + donpcevent "Drawing Room::OnEnable"; + mapwarp "sword_2-1","yuno_fild07",255,178; + stopnpctimer; + end; +} + +sword_2-1,223,205,7 script Buddy#job_shuaneh 753,{ + if (job_shu > 4) { + mes "I'll show you the way. This way."; + close2; + warp "sword_1-1",216,168; + donpcevent "Buddy#job_shuaneh::OnDisable"; + end; + } + mes "Why are you here?"; + close2; + warp "yuno_fild07",248,179; + end; +OnInit: +OnDisable: + disablenpc "Buddy#job_shuaneh"; + end; +OnEnable: + enablenpc "Buddy#job_shuaneh"; + end; +} + +sword_2-1,223,205,0 script #Sura_garajjom 139,10,10,{ +OnTouch: + warp "sword_1-1",216,168; + end; +OnInit: +OnDisable: + disablenpc "#Sura_garajjom"; + end; +OnEnable: + enablenpc "#Sura_garajjom"; + end; +} + +sword_1-1,222,169,5 script Bruno#job_shu 484,{ + if (job_shu > 4) { + mes "[Bruno]"; + mes "Hey~ "+strcharinfo(0)+", what's up?"; + next; + switch(select("Let's have conversation.:Go outside.")) { + case 1: + if (job_shu == 100) { + mes "[Bruno]"; + mes "My master?"; + mes "He said he has put the world out of his mind and he is a ghost who gave up being a human but he seems to have a lingering desire for the world."; + next; + mes "[Bruno]"; + mes "Well, I am also a Sura but I still enjoy traveling and meeting many people~"; + next; + mes "[Bruno]"; + mes "In the old days, my master had one close friend but after becoming a Sura,"; + next; + mes "[Bruno]"; + mes "I heard that he wrote a letter to the friend that he had died."; + mes "Then he sometimes visits 'the place of memory' secretly."; + next; + mes "[Bruno]"; + mes "It would be better not saying that he died and just keep meeting his friend."; + mes "He's a bit of a stick-in-the-mud."; + next; + mes "[Bruno]"; + mes "But he is really cool and awesome."; + mes "Ho ho."; + next; + mes "[Bruno]"; + mes "The reason why I keep traveling is to find 'the precious friend' of my master and not to training myself more."; + next; + mes "[Bruno]"; + mes "I feel heavy-hearted when I see my master missing his friend..."; + mes "It's not... not just for my... master!"; + close; + } + mes "[Bruno]"; + mes "Wow~ I thought you would be knocked out before seeing my master but you are finally here now?"; + next; + mes "[Bruno]"; + mes "Anyway you are here now, so I am your immediate superior."; + next; + mes "[Bruno]"; + mes "We don't care about your age in our world!"; + close; + case 2: + mes "[Bruno]"; + mes "Come again whenever you want to~"; + mes "I will show you the training course of the dead~"; + close2; + warp "yuno_fild07",255,178; + end; + } + } + mes "[Bruno]"; + mes "What are you?"; + mes "How did you find this place!"; + mes "Go away!!!"; + close2; + warp "yuno_fild07",255,178; + end; +} + +sword_1-1,223,167,2 script Master#job_shu 483,{ + mes "[Master]"; + if (job_shu == 5) { + mes "You must have bright eyes to see that you finally came to this room."; + next; + mes "[Master]"; + if (SkillPoint != 0) { + mes "You can't become a Sura unless you use all your skill points."; + close; + } + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 3500) { + mes "You seem to be heavily burdened. Please remove some of it."; + close; + } + if (BaseLevel < 99 || JobLevel < 50) { + mes "You don't seem to have reached the limit of a human, you still have far to go in order to become Sura."; + mes "Please go practice some more."; + close; + } + if (BaseJob != Job_Monk) { + mes "Hmm?"; + close; + } + mes "Of course~"; + mes "I have keen eyes."; + next; + mes "[Bruno]"; + mes "Master! This is a wolf fur coat."; + mes "Put it on when it's cold."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ahhk! That is the wolf I... caught... Uhh."; + next; + mes "- Whack -"; + next; + mes "[Bruno]"; + mes "Ho ho ho~"; + mes "Do you have something to say, "+strcharinfo(0)+"?"; + mes "You became a member of our family, let's get along together ~"; + next; + mes "[Master]"; + mes "Right, I now accept you as my student, too."; + next; + mes "[Master]"; + mes "I think you already know it, but to live as a Sura will not be that easy."; + next; + mes "[Master]"; + mes "I also shut myself off from the world. If there comes a day when we go to the world again, it must be the day when the world needs ghosts for the wars."; + next; + mes "[Master]"; + mes "I hope those days will not come but... I'll willingly be the ghost and kill all enemies."; + next; + if (ismounting()) { + mes "[Master]"; + mes "So... please get down from your riding pet!"; + mes "It is a loss of etiquette on this situation."; + close; + } + mes "[Master]"; + mes "You should train yourself steadily until that day."; + set job_shu,100; + jobchange roclass(eaclass()|EAJL_THIRD); + completequest 11158; + getitem 5754,1; //Blazing_Soul + getitem 2795,1; //Green_Apple_Ring + close; + } else if (job_shu > 5) { + mes "Once I was also an ordinary young man who traveled a lot and met many friends."; + next; + mes "[Master]"; + mes "However, as you might have felt, I finally faced my limitation."; + next; + mes "[Master]"; + mes "Sometimes I wondered 'should I have to give up everything to be more powerful...?'"; + next; + mes "[Master]"; + mes "But what's done is done..."; + close; + } + mes "This is not a place where you can stay."; + mes "Please go back."; + close2; + warp "yuno_fild07",255,178; + end; +} + +/* +sword_2-1,1,2,0 script Button Girl#sura 66,{ + switch(select("Turn on arena.:Turn off arena.:Turn on the living room.:Turn on Buddy.:Turn on Gara.:Turn off all.:Close")) { + case 1: + mes "Turn on arena."; + donpcevent "Drawing Room::OnEnable"; + close; + case 2: + mes "Turn off arena."; + donpcevent "Drawing Room::OnDisable"; + close; + case 3: + mes "Turn on the living room."; + donpcevent "Buddy#Sura_Salon::OnEnable"; + close; + case 4: + mes "Turn on Buddy."; + donpcevent "Buddy#job_shuaneh::OnEnable"; + close; + case 5: + mes "Turn on Gara."; + donpcevent "#Sura_garajjom::OnEnable"; + close; + case 6: + mes "Turn off all."; + donpcevent "Drawing Room::OnDisable"; + donpcevent "Buddy#Sura_Salon::OnReset"; + donpcevent "Buddy#Sura_Salon::OnDisable"; + donpcevent "Buddy#job_shuaneh::OnDisable"; + donpcevent "#Sura_garajjom::OnDisable"; + close; + case 7: + close; + } +} +*/
\ No newline at end of file diff --git a/npc/re/jobs/3-2/wanderer.txt b/npc/re/jobs/3-2/wanderer.txt new file mode 100644 index 000000000..552c9d80b --- /dev/null +++ b/npc/re/jobs/3-2/wanderer.txt @@ -0,0 +1,1037 @@ +//===== rAthena Script ======================================= +//= Wanderer Job Quest +//===== By: ================================================== +//= Muad_Dib, Meyraw +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Job change Quest from Dancer / Gypsy -> Wanderer. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Updated dialogue to be more official / accurate. Huge thanks to Muad_Dib! [Masao] +//= 1.2 Fixed an endless loop in dialogue. +//= 1.3 Fixed a typo and added checkquest. [Joseph] +//= 1.4 Updated script, optimized. [Euphy] +//============================================================ + +xmas,162,209,5 script Aspiring Wanderer, Soy 714,{ + if (job_wan == 0) { + mes "[Soy]"; + mes "Mimi, what should I do?"; + mes "My heart is beating so fast. Ahhh~"; + next; + mes "[Mimi]"; + mes "Why is you face so flushed? Ha ha ha."; + next; + mes "[Soy]"; + mes "Don't make fun of me Mimi~"; + mes "I have dreamed of being at Dancer Kim's stage for a very long time!"; + emotion e_shy,0,"Aspiring Wanderer, Soy"; + next; + mes "[Soy]"; + mes "I might lose my senses if I really see her dancing like a beautiful angel sent from above."; + next; + mes "[Mimi]"; + mes "Calm down, Soy."; + mes "You are going to faint even before the performance starts. Ha ha."; + next; + mes "[Mimi]"; + mes "But I understand you."; + mes "Many people are looking forward to meeting the best Wanderer in the world."; + if (BaseJob != Job_Dancer || BaseLevel < 99) close; + next; + select("Dancer Kim?:Wanderer?"); + emotion e_omg,0,"Aspiring Wanderer, Soy"; + mes "[Soy]"; + mes "What? You don't know the famous Wanderer, Dancer Kim?"; + mes "Oh my, oh my!!!"; + mes "You seem to know the art of dancing but how come you don't know her?"; + mes "Oh, no!"; + next; + mes "[Mimi]"; + mes "A Wanderer is a free-spirited person who wanders about the world with the wind and the stars."; + mes "Rhythm and Music accompany them wherever they go."; + next; + mes "[Mimi]"; + mes "Dancer Kim is the most famous Wanderer who tours the world with the Maestro Guitar Dong as the team <Nollio>."; + next; + mes "[Mimi]"; + mes "Soy and myself are Aspiring Wanderers, and there will be a performance of <Nollio> in this town soon, so we are eagerly looking forward to see it."; + next; + mes "[Soy]"; + mes "If you are a true Dancer, you must be struck with her Dance!"; + mes "Will I ever meet a Maestro like Guitar Song someday, Mimi?"; + next; + emotion e_heh,0,"Aspiring Wanderer, Soy"; + mes "[Mimi]"; + mes "Just hang in there, Soy. Ha ha."; + next; + switch(select("Where is the performance?:End the conversation.")) { + case 1: + mes "[Soy]"; + mes "Right in front of the Christmas tree!"; + mes "White snow, beautiful melody, and my captivating dance."; + mes "Don't you think it would be a great performance?"; + set job_wan,1; + close; + case 2: + mes "[Mimi]"; + mes "If you are interested in becoming a Wanderer, just come back to me anytime. Although I'm not perfect, I will try my best to help you."; + close; + } + } else if (job_wan == 1) { + if (strnpcinfo(0) == "Aspiring Wanderer, Soy") { + mes "[Soy]"; + mes "The performance will be held in front of the Christmas tree here in Lutie."; + mes "I can't wait! Ah~ I'm losing my senses, Mimi."; + } else { + mes "[Mimi]"; + mes "A Wanderer's dancing charm is higher than that of a dancer or gypsy, everyone will lose their souls when they see their performance."; + next; + mes "[Mimi]"; + mes "I want to become a Wanderer, but I'm still a dancer."; + mes "But I think^3131FF it's better to learn Gypsy's unique skills first, and then become a Wanderer^000000. Soy can't wait to become a Wanderer."; + } + close; + } else if (job_wan == 10) { + mes "[Soy]"; + mes "<Nollio> is the best!!"; + close; + } else { + if (strnpcinfo(0) == "Aspiring Wanderer, Soy") { + mes "[Soy]"; + mes "I want to become an famous Wanderer too, Mimi."; + } else { + mes "[Mimi]"; + mes "Not sure if I'm greedy, but I need to learn all Dancer and Gypsy skills before I can become a Wanderer."; + } + close; + } +} +xmas,163,209,3 duplicate(Aspiring Wanderer, Soy) Aspiring Wanderer, Mimi 714 + +xmas,132,143,5 script Performance Manager#wnd 713,{ + mes "[Performance Manager]"; + if (job_wan == 0) { + mes "Oh, what should I do?"; + close; + } else if (job_wan == 1) { + mes "Oh, what should I do?"; + mes "Why did they do this?"; + next; + emotion e_shy,0,"Aspiring Wanderer, Soy"; + mes "[Performance Manager]"; + mes "Hey, you there!"; + mes "Please listen to my story."; + mes "Actually, I shouldn't tell anyone."; + mes "But I'm so overwhelmed that I might go crazy. Ahhhh~~!"; + next; + while (1) { + set .@loop,0; + switch(select("Sorry, I don't care.:What's the matter?:Why are you telling me this?")) { + case 1: + mes "[Performance Manager]"; + mes "That's a bit harsh don't you think?"; + close; + case 2: + mes "[Performance Manager]"; + mes "The performance is supposed to be soon!"; + next; + mes "[Performance Manager]"; + mes "Those people don't feel any responsibility.."; + mes "We're all expecting them and I've promoted them a lot."; + next; + set .@loop,1; + break; + case 3: + emotion e_ag; + mes "[Performance Manager]"; + mes "I told you that I'm overwhelmed!"; + mes "You don't understand me!"; + next; + break; + } + if (.@loop) break; + } + while (1) { + set .@loop,0; + switch(select("Is there a problem?:Who do you mean?:It has nothing to do with me.")) { + case 1: + mes "[Performance Manager]"; + mes "How could they do that?"; + mes "People will throw snowballs!"; + mes "Maybe they will even throw a big snowman, no!"; + next; + emotion e_wah; + mes "[Performance Manager]"; + mes "People might grab me by the collar!!"; + mes "Swing swing, dangling dangling!!"; + mes "This is awful."; + next; + set .@loop,1; + break; + case 2: + mes "[Performance Manager]"; + mes "Who?!"; + mes "It's <Nollio>!"; + mes "You call that a question?"; + mes "They are the worst people in the world."; + next; + break; + case 3: + mes "[Performance Manager]"; + mes "What a heartless thing to say!"; + close; + } + if (.@loop) break; + } + while (1) { + set .@loop,0; + switch(select("Are you afraid of people?:The performers caused trouble?:Ignore him.")) { + case 1: + mes "[Performance Manager]"; + mes "Wouldn't you be afraid of all the eyes of people if you were me?"; + mes "I am in charge of this performance! A lot of people are looking forward to see it and there are many sponsors who are supporting us! I'm so stressed."; + next; + break; + case 2: + mes "[Performance Manager]"; + mes "Yes!"; + mes "<Nollio> has cancelled their performance!"; + next; + mes "[Performance Manager]"; + mes "And they didn't give me any reason whatsoever!"; + next; + mes "[Performance Manager]"; + mes "Besides the money I spent for promoting and setting up the stage.."; + mes "How can I handle all the angry people?"; + next; + set .@loop,1; + break; + case 3: + mes "[Performance Manager]"; + mes "Hey, where are you going!"; + close; + } + if (.@loop) break; + } + mes "[" + strcharinfo(0) + "]"; + mes "I see that you are worried that the performance is going down the drain."; + mes "You wanted to make a successful performance to meet the fan's expectations."; + next; + mes "[Performance Manager]"; + mes "I really don't know how I should manage this."; + mes "Why did they suddenly cancel the performance?"; + mes "Do you know?"; + next; + mes "[Performance Manager]"; + mes "Why is <Nollio> taking this kind of attitude towards me?"; + mes "Did I make any mistakes? After making a contract with them, I did everything they demanded of me!"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "It's because..."; + input .@inputstr$; + mes "^3131FF" + .@inputstr$ + "^000000"; + mes "......"; + next; + emotion e_ag; + mes "[Performance Manager]"; + mes "What the hell are you talking about?"; + mes "Are you teasing me because I'm emotionally unstable?"; + next; + mes "[Performance Manager]"; + mes "Oh, I'm so worried that I'm having heart palpitations and I'm starting to feel dizzy!"; + next; + mes "[Performance Manager]"; + mes "Hey! Can you please go out and find the Maestro Guitar Song?"; + next; + switch(select("Ah, okay.:Why should I do that?:I won't!")) { + case 1: + break; + case 2: + emotion e_an; + mes "[Performance Manager]"; + mes "You're asking me why!?"; + mes "Ahh, no....."; + mes "It's because you seem like a similar artist."; + mes "You also wanted to watch the performance, didn't you?"; + next; + break; + case 3: + mes "[Performance Manager]"; + mes "You are so cold-hearted...."; + close; + } + mes "[Performance Manager]"; + mes "I would grab them by their collars if I could!"; + mes "I would tell them Why are you spoiling the performance? but for now, dealing with the angry sponsors is hard enough... Oh, no!"; + next; + mes "[Performance Manager]"; + mes "I don't know where Guitar Song is, but it is clear that he likes to visit the Comodo Casino!"; + mes "Hu, Hurry up!! Oh, I really feel dizzy! Guitar Song!!!"; + set job_wan,2; + setquest 2218; + close; + } else if (job_wan == 2) { + mes "I am not sure if Guitar Song is in Comodo, you should go there and find him!"; + close; + } else if (job_wan == 9) { + mes "They came back!!"; + close; + } else if (job_wan == 10) { + mes "Thanks to you, the performance was successful."; + mes "You are so competent!"; + mes "In return, I will prepare the stage for you someday."; + close; + } + mes "Ahhh, so distracting!"; + close; +} + +comodo,140,86,5 script Cheerless Maestro 479,{ + if (job_wan < 2) { + mes "[Cheerless Maestro]"; + mes "You can dance ~"; + mes "You can do your work ~"; + mes "You are the dancing Queen ~"; + mes "I am the tambourine King ~"; + next; + mes "[Cheerless Maestro]"; + mes "Whew..."; + close; + } else if (job_wan == 2) { + mes "[Cheerless Maestro]"; + mes "You can dance ~"; + mes "You can do your work ~"; + mes "You are the dancing Queen ~"; + mes "I am the tambourine King ~"; + next; + mes "- You found a Maestro -"; + mes "- singing a weird song. -"; + next; + if(select("That's a weird song.:Ignore it.") == 2) { + mes "- What a weird person, I better stay away. -"; + close; + } + emotion e_omg; + mes "[Cheerless Maestro]"; + mes "What?!"; + mes "Are you ignoring my immortal masterpiece <Tambourine King>? You are the first person who's ever slapped me in the face."; + next; + select("I didn't slap you."); + emotion e_gasp; + mes "[Cheerless Maestro]"; + mes "Oh! Lady, looking at your appearance you must be a dancer, right?"; + next; + mes "[Cheerless Maestro]"; + mes "Do you have a Bard or Minstrel traveling together with you?"; + mes "If you don't, how about making a traveling troupe with me?"; + next; + mes "[Cheerless Maestro]"; + mes "The name of the team is <Guitar Song's Agony>."; + mes "This name expresses the excruciating pain it takes to create art works."; + next; + mes "[Cheerless Maestro]"; + mes "It has an edgy kind of name So I think that it will be a very popular group."; + next; + select("Are you Guitar Song?"); + emotion e_shy; + mes "[Guitar Song]"; + mes "Huh... I'm a bit disappointed that you finally recognize me now."; + mes "Yes, I am the handsome Guitar Song in the famous group <Nollio>."; + mes "Ha ha ha!"; + next; + mes "[Guitar Song]"; + mes "So how about it? Isn't that a tempting offer to you?"; + mes "I'm a really famous Maestro at the peak of my popularity. People are dying to work with me, but you are indifferent to me lady."; + next; + select("Where is Dancer Kim?:Why'd you cancel the performance?"); + mes "[Guitar Song]"; + mes "Why are you asking me that question so suddenly?"; + mes "Come on, let's just talk about a pleasant matter."; + mes "Dancer Kim and the performance have nothing to do with me."; + next; + select("What do you mean?"); + mes "[Guitar Song]"; + mes "Hey, I told you to stop talking about this matter...."; + mes "I don't want to think about it. It just hurts my feelings."; + next; + mes "- Guitar Song is adamantly refusing to talk. What should I do to hear the story about <Nollio>? -"; + set job_wan,3; + close; + } else if (job_wan == 3) { + mes "[" + strcharinfo(0) + "]"; + mes "(Would it be possible for me to make him tell me what happened with Nollio?)"; + next; + switch(select("Use Dazzler:Use Lullaby:Use Lucky Luck")) { + case 1: + if (getskilllv("DC_UGLYDANCE") == 5 || rand(100) >= 80) { + mes "- You get closer to Song's ear. -"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Okay-"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Oi-!!!!!"; + specialeffect EF_STUNATTACK; + next; + mes "[Guitar Song]"; + mes "Wh...what!! What are you doing?!?"; + mes "You almost damaged my eardrum."; + emotion e_an; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Hey, cheer up!!!"; + next; + mes "[Guitar Song]"; + mes "What are you talking about?"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "You should know, people are addicted to your music?"; + mes "So many people are supporting you with anticipation."; + mes "Would you break your promise and let people down? Not giving people any reason?"; + next; + } else { + mes "[" + strcharinfo(0) + "]"; + mes "Okay-"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Aaaaahhh!!!!!"; + next; + mes "[Guitar Song]"; + mes "What... what are you doing?!! What's wrong with you!"; + mes "Security!!!"; + next; + mes "[Black-suit Guards]"; + mes "Please stop this."; + close2; + warp "comodo",117,98; + end; + } + break; + case 2: + if (getskilllv("BD_LULLABY") == 0) { + mes "- You cannot use this skill without learning it. -"; + close; + } + mes "[" + strcharinfo(0) + "]"; + mes "Looks like I will not get answer even if I force him."; + close; + case 3: + if (getskilllv("DC_FORTUNEKISS") == 0) { + mes "- You cannot use this skill without learning it. -"; + close; + } + emotion e_what,1; + mes "[" + strcharinfo(0) + "]"; + mes "Ah, ah my Guitar Song~"; + next; + mes "[Guitar Song]"; + mes "What? I've got goose bumps."; + next; + emotion e_what,1; + mes "[" + strcharinfo(0) + "]"; + mes "I've been watching <Nollio> for years."; + next; + mes "[Guitar Song]"; + mes "I know that we are that popular! Ha ha ha!"; + next; + emotion e_what,1; + mes "[" + strcharinfo(0) + "]"; + mes "I've seen other Maestro's performances but there was no one better then Guitar Song."; + next; + mes "[Guitar Song]"; + mes "He he he! Yes, I know I am super great!"; + next; + emotion e_no1,1; + mes "[" + strcharinfo(0) + "]"; + mes "Oh... When I hear Guitar Song's performance for the first time I has a crush on you immediately."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "It felt like hearing mommy's lullaby~ It was so beautiful and moving... You are the best artist of our time."; + next; + specialeffect 18; + mes "[Guitar Song]"; + mes "Ha ha ha. I know that well, but it feels good to hear a compliment from you!"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "So I was looking forward to seeing your performance in Lutie this time."; + mes "But after I heard the performance got cancelled, I felt so sad."; + next; + emotion e_sob,1; + mes "[" + strcharinfo(0) + "]"; + mes "Now I can't hear Guitar Song's melody~~"; + mes "I wanted to dance to your music like a beautiful butterfly."; + mes "Is there no way for my dream to be true now? Sob sob..."; + next; + mes "[Guitar Song]"; + mes "Huh huh! No, that is not..."; + next; + emotion e_sob,1; + mes "[" + strcharinfo(0) + "]"; + mes "I am really happy to meet you in person, but I hope to see your performance in the beautiful snowy town, Lutie.. Sob sob..."; + next; + emotion e_sob,1; + mes "[" + strcharinfo(0) + "]"; + mes "Why in the world don't you show us the performance, Guitar Song?"; + mes "Don't you like me? Sob sob.."; + next; + emotion e_omg; + mes "[Guitar Song]"; + mes "No, it's not that kind of reason!"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Then please tell me, I really love your music... but now I feel so blue..."; + emotion e_what; + next; + break; + } + mes "[Guitar Song]"; + mes "Oh, no! You know..."; + mes "I want to have a performance, too!"; + mes "But I cannot do it all by myself!"; + next; + emotion e_ag; + mes "[Guitar Song]"; + mes "It's all because of Dancer Kim!"; + mes "One day, she suddenly got mad and told me that she would quit <Nollio>!"; + mes "I was also tired of here unpredictable feelings, too!"; + next; + mes "[Guitar Song]"; + mes "Pshaw."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Why did she get mad so suddenly?"; + next; + emotion e_swt; + mes "[Guitar Song]"; + mes "I don't know! She must be holding a grudge for something."; + mes "That's what she's like."; + mes "She suddenly disappeared and sent me a letter telling me that the team would be disbanded."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Where is Dancer Kim now?"; + next; + mes "[Guitar Song]"; + mes "Well, the letter was sent from Hugel."; + mes "I guess she might be back at her hometown."; + mes "That's where I met her for the first time."; + next; + emotion e_dots; + mes "[Guitar Song]"; + mes "Although she loses her temper easily, her dance is so wonderful...."; + mes "I don't know what I am doing wrong."; + set job_wan,4; + changequest 2218,2219; + next; + mes "[Guitar Song]"; + mes "She smiled so happily that she likes the new song so much.."; + mes "Who can dance to my music so wonderfully as she did?"; + mes "Now my music and my life is history... (muttering)."; + close; + } else if (job_wan > 3 && job_wan < 8) { + mes "[Guitar Song]"; + mes "Dancer Kim is probably addicted to the monster races in Hugel again!"; + mes "Back in the day when she was addicted to the monster races, who do you think got her out of it?"; + close; + } else if (job_wan == 8) { + emotion e_gasp; + mes "- You tell him what happened in Hugel and ask him to go back to Lutie. -"; + next; + mes "[Guitar Song]"; + mes "Oh oh~"; + mes "You are silly Dancer Kim~"; + mes "Without me, who else can take care of such a lady like you~"; + next; + mes "[Guitar Song]"; + mes "I'll go there right away and scold her."; + set job_wan,9; + close; + } else if (job_wan == 9) { + mes "[Guitar Song]"; + mes "Okay, I will go to the Christmas tree in Lutie where the performance is supposed to be held."; + close; + } + mes "[Cheerless Maestro]"; + mes "Where is my partner..."; + close; +} + +hu_in01,305,251,5 script Vacant Looking Lady#wnd 879,{ + if (job_wan < 4) { + mes "[Vacant Looking Lady]"; + mes "(blank...)"; + close; + } else if (job_wan == 4) { + mes "[Vacant Looking Lady]"; + mes "Sob... sob..."; + next; + select("Why are you crying?"); + emotion e_sob; + mes "[Vacant Looking Lady]"; + mes "I gave up my dream..."; + mes "*Sob *Sob."; + next; + select("What do you mean?"); + mes "[Vacant Looking Lady]"; + mes "I said goodbye to my partner who had been working with me for a long time."; + next; + select("Why did you say goodbye?"); + emotion e_sob; + mes "[Vacant Looking Lady]"; + mes "it's because... sob... sob!"; + next; + select("You can tell me everything."); + mes "[Vacant Looking Lady]"; + mes "When Wanderers and Maestro's get together, their abilities become stronger."; + next; + mes "[Vacant Looking Lady]"; + mes "So when they travel, they often get together and perform duets."; + mes "They have a good time dancing and playing music."; + next; + mes "[Vacant Looking Lady]"; + mes "A few days ago, with my partner Guitar Song. I showed a beautiful dance to his music to many people as we usually do."; + next; + mes "[Vacant Looking Lady]"; + mes "I was really proud of being a Wanderer after I drew all of that enthusiastic applause."; + mes "Guitar Song also praised me."; + mes "I was so happy that day."; + next; + mes "[Vacant Looking Lady]"; + mes "But..."; + next; + select("What happened next?"); + mes "[Vacant Looking Lady]"; + mes "The following morning, I woke up and washed my fave and was looking for something to eat in my room.."; + next; + emotion e_omg; + mes "[Vacant Looking Lady]"; + mes "Then Guitar Song suddenly opened the door of my room for some reason and said ^3131FFHey! What the hell are.. you doing here?^000000 and then he threw me out of my room!"; + next; + mes "[Vacant Looking Lady]"; + mes "We've been together for a long time but how can he do such a thing to me?"; + mes "At first, I thought he was kidding around with me! But when he kicked me out of my room..."; + next; + emotion e_sob; + mes "[Vacant Looking Lady]"; + mes "Why didn't he recognize my face?"; + mes "Do you think he doesn't want to see my face without makeup?"; + mes "Boo hoo hoo!"; + next; + select("So you disbanded the team?"); + emotion e_sob; + mes "[Vacant Looking Lady]"; + mes "Are you also ignoring my wounded self-respect as a woman?"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "No! He is really a caring man!"; + mes "But I don't think you disbanded your precious team just because of that."; + next; + mes "[Vacant Looking Lady]"; + mes "You're right."; + mes "It's not just because of that."; + mes "The real reason why I disbanded the team is..."; + next; + mes "[Vacant Looking Lady]"; + mes "After that day, I went to my hometown, Hugel and I just stayed indoors."; + mes "It was then when Shide comforted me with sweet cakes."; + next; + emotion e_shy; + mes "[Vacant Looking Lady]"; + mes "Shide's cake is so wonderful!"; + mes "It is the most famous cake in Hugel with soft sponge cake and fresh fruits and sweet chocolate cream!"; + next; + mes "[Vacant Looking Lady]"; + mes "It felt like all the angels of happiness came to comfort me when I tasted that sweet cake."; + next; + mes "[Vacant Looking Lady]"; + mes "So I ate it every morning and every night."; + next; + select("Oh, you wouldn't..."); + emotion e_sob; + mes "[Vacant Looking Lady]"; + mes "The angel of happiness took back my sadness and gave me a lot of belly fat!"; + mes "Boo hoo hoo hoo!!"; + next; + mes "[Vacant Looking Lady]"; + mes "Now I can't wear my dancing clothes!"; + mes "I am not a dancer who dances like a beautiful butterfly anymore!"; + next; + mes "[Vacant Looking Lady]"; + mes "What is worse, it became hard to bend my waist forward!"; + mes "Boo hoo hoo!"; + next; + mes "[Vacant Looking Lady]"; + mes "The performance day is approaching, but the angel of happiness brought me a big obstacle."; + mes "Now I've fallen into despair again!"; + mes "I can't let Guitar Song and my fans see me like this!"; + next; + mes "[Vacant Looking Lady]"; + mes "<Nollio> is over! Boo hoo hoo!"; + set job_wan,5; + close; + } else if (job_wan == 5) { + emotion e_sob; + mes "[Vacant Looking Lady]"; + mes "Not long ago, I was like a beautiful dove, but now I am just a fat chicken."; + mes "Sob sob...!"; + mes "I think the life of Wanderer Dancer Kim is over now."; + mes "Boo hoo hoo hoo!"; + next; + if(select("Hey, don't give up.:I feel sorry for you.") == 2) { + mes "[Dancer Kim]"; + mes "My life cannot get out of abyss now......"; + close; + } + mes "[Dancer Kim]"; + mes "But I already told Guitar Song that it's all over."; + mes "Even if it's not over, I cannot do anything right now."; + next; + select("If you give up, it will be over."); + mes "[Dancer Kim]"; + mes "But in this situation..."; + mes "Do I really have a way to change it?"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Exercise is the best way!"; + mes "If you work hard, your bossy will be lighter than before!"; + next; + mes "[Dancer Kim]"; + mes "But I get tired and give up easily."; + mes "I think I am going to give up."; + next; + if(select("Well, there's no other way.:Let's work together.") == 1) { + mes "[Dancer Kim]"; + mes "No dreams and no hope..."; + close; + } + emotion e_omg; + mes "[Dancer Kim]"; + mes "Will you exercise together with me?"; + mes "Really?"; + next; + mes "[Dancer Kim]"; + mes "I'm sure that I would try harder if I had someone to workout with."; + next; + mes "[Dancer Kim]"; + mes "I feel better now!"; + mes "I think I'm gaining strength again!"; + mes "Let's work together!"; + next; + select("What should we do first?"); + mes "[Dancer Kim]"; + mes "I have a good idea!"; + next; + mes "[Dancer Kim]"; + mes "Meet me at Abyss Lake."; + mes "I'll see you there."; + mes "Just go one field South and one field West from here in Hugel."; + mes "I'll meet you there."; + set job_wan,6; + changequest 2219,2220; + close; + } else if (job_wan == 6 || job_wan == 7) { + mes "[Dancer Kim]"; + mes "I'll meet you at Abyss Lake."; + close; + } else if (job_wan == 8) { + mes "[Dancer Kim]"; + mes "Please tell Guitar Song to go to Lutie"; + mes "I'll go there after I've packed my luggage!"; + close; + } + mes "[Vacant Looking Lady]"; + mes "Where is my partner......"; + close; +} + +hu_fild05,342,130,5 script Dancer Kim#fild 879,{ + if (job_wan == 6) { + mes "[Dancer Kim]"; + mes "Exercising together is good but if we compete for it, I think we'll get a better effect!"; + next; + mes "[Dancer Kim]"; + mes "From now on, let's compete to see who defeats the Yellow Novus first!"; + next; + mes "[Dancer Kim]"; + mes "You need to defeat 50 Yellow Novus!"; + mes "Are you ready?"; + next; + if(select("No.:Yes.") == 1) { + mes "[Dancer Kim]"; + mes "Hurry up before I lose interest!"; + close; + } + mes "[Dancer Kim]"; + mes "Good! Then ready, set~~"; + mes "Go!"; + set job_wan,7; + changequest 2220,2221; + close; + } else if (job_wan == 7) { + if (checkquest(2221,PLAYTIME) == 0 || checkquest(2221,PLAYTIME) == 1) { + if (checkquest(2221,HUNTING) == 2) { + mes "[Dancer Kim]"; + mes "Whew!"; + mes "Looks like I've lost!"; + next; + mes "[Dancer Kim]"; + mes "This feeling reminds me of the past where I've crossed the borders of many continents."; + next; + mes "[Dancer Kim]"; + mes "Ah! Look at this!"; + mes "I'm getting slimmer, can you see it?"; + next; + mes "[Dancer Kim]"; + mes "I feel that my body is full of power."; + mes "I suddenly want to see my good partner Guitar Song."; + mes "I want to start dancing again."; + next; + select("How about dancing in Lutie?"); + emotion e_gasp; + mes "[Dancer Kim]"; + mes "Ah! Christmas Village! Yes! Yes!"; + mes "My dream to dance in Lutie will finally come true."; + next; + mes "[Dancer Kim]"; + mes "I want to dance and jump all day to bring people happiness!"; + mes "So I will go to Lutie."; + next; + mes "[Dancer Kim]"; + mes "Ah, do me a favor, please."; + mes "Can you bring Guitar Song to Lutie?"; + mes "Say that his partner is waiting for him."; + next; + select("No problem!"); + mes "[Dancer Kim]"; + mes "You're a good person. I'm really happy that I met you."; + mes "Thank god for sending such a stubborn person to me!"; + set job_wan,8; + changequest 2221,2222; + close; + } else { + mes "[Dancer Kim]"; + mes "Does it look easy to you?"; + mes "But I'm sure I have a better chance to win."; + close; + } + } else if (checkquest(2221,PLAYTIME) == 2) { + mes "[Dancer Kim]"; + mes "Oh, you came back to me."; + mes "I'm so tired. I don't give up halfway. It's a good exercise for me. I will have to give up Nollio to another Wanderer, it's all over...."; + next; + mes "- Dancer Kim dropped down by grief and fatigue -"; + set job_wan,6; + changequest 2221,2220; + close; + } else { + mes "[Dancer Kim]"; + mes "Huh...?"; + set job_wan,6; + close; + } + } else if (job_wan == 8) { + mes "[Dancer Kim]"; + mes "Please tell Song, I will be waiting for him at the Christmas tree."; + close; + } + mes "[Dancer Kim]"; + mes "Hunting Novus is the best exercise, I think."; + close; +} + +- script #fildshout00::wandererjcq -1,{ +OnTouch: + if (job_wan == 7) { + switch(rand(3)) { + case 0: + mapannounce "hu_fild05","Dancer Kim: Hey, how did you get so fast? I've only got few myself...",bc_map,"0xffff00"; //FW_NORMAL 12 0 0 + break; + case 1: + mapannounce "hu_fild05","Dancer Kim: Errrgghh! Hey Novus! I'm gonna get you~",bc_map,"0xffff00"; //FW_NORMAL 12 0 0 + break; + case 2: + mapannounce "hu_fild05","Dancer Kim: Oh, are you tired already? Is this my victory? Ho ho ho.",bc_map,"0xffff00"; //FW_NORMAL 12 0 0 + break; + } + } + end; +} +hu_fild05,81,111,0 duplicate(wandererjcq) #fildshout01 139,20,20 +hu_fild05,193,98,0 duplicate(wandererjcq) #fildshout02 139,20,20 +hu_fild05,252,74,0 duplicate(wandererjcq) #fildshout03 139,20,20 +hu_fild05,323,175,0 duplicate(wandererjcq) #fildshout04 139,20,20 +hu_fild05,334,225,0 duplicate(wandererjcq) #fildshout05 139,20,20 +hu_fild05,301,287,0 duplicate(wandererjcq) #fildshout06 139,20,20 +hu_fild05,229,315,0 duplicate(wandererjcq) #fildshout07 139,20,20 +hu_fild05,146,309,0 duplicate(wandererjcq) #fildshout08 139,20,20 +hu_fild05,80,239,0 duplicate(wandererjcq) #fildshout09 139,20,20 +hu_fild05,69,147,0 duplicate(wandererjcq) #fildshout10 139,20,20 + +xmas,148,131,0 script #wandergogo 139,3,3,{ +OnTouch: + if (job_wan == 9) { + enablenpc "Dancer Kim#xmas"; + enablenpc "Guitar Song#xmas"; + enablenpc "Spectator#xmas1"; + enablenpc "Spectator#xmas2"; + enablenpc "Spectator#xmas3"; + enablenpc "Spectator#xmas4"; + enablenpc "Soy#xmas"; + enablenpc "Mimi#xmas"; + } + end; +} + +xmas,147,135,5 script Dancer Kim#xmas 485,{ + if (job_wan == 9) { + if (BaseJob != Job_Dancer && BaseLevel < 99 && JobLevel < 50) { + mes "- You can't continue the quest because the condition for the quest is not appropriate. -"; + close; + } + if (SkillPoint) { + mes "- You can't continue the quest because you have remaining skill points. -"; + close; + } + if (checkweight(1201,2) == 0) { + mes "- You need to empty your inventory if you want to continue the quest. -"; + close; + } + if (ismounting()) { + mes "[Dancer Kim]"; + mes "Please get off of that creature you're riding on."; + mes "Then talk to me again."; + close; + } + mes "- <Nollio> is performing. -"; + next; + emotion e_ho,0,"Guitar Song#xmas"; + emotion e_ho; + mes "[Guitar Song]"; + mes "One! Two! Three!"; + mes "Blue fish dancing~"; + mes "Fan! Fan! Fan! I am your fan~"; + mes "With a strong mind and strong will, I complete fishing~"; + next; + emotion e_ho,0,"Spectator#xmas1"; + emotion e_ho,0,"Spectator#xmas2"; + emotion e_ho,0,"Spectator#xmas3"; + emotion e_ho,0,"Spectator#xmas4"; + emotion e_ho,0,"Soy#xmas"; + emotion e_ho,0,"Mimi#xmas"; + mes "[Spectators]"; + mes "AAAAhhhhhhhhh - - !!!"; + mes "So cool! Nollio is the best!!!"; + next; + mes "[Guitar Song]"; + mes "Hello, ladies and gentlemen!"; + next; + emotion e_lv,0,"Spectator#xmas1"; + emotion e_lv,0,"Spectator#xmas2"; + emotion e_lv,0,"Spectator#xmas3"; + emotion e_lv,0,"Spectator#xmas4"; + emotion e_lv,0,"Soy#xmas"; + emotion e_lv,0,"Mimi#xmas"; + mes "[Spectators]"; + mes "Hello!!!!!"; + next; + mes "[Guitar Song]"; + mes "We are the romantic Wanderer team <Nollio> who stroll along the world following love and wind!"; + next; + emotion e_lv,0,"Spectator#xmas1"; + emotion e_lv,0,"Spectator#xmas2"; + emotion e_lv,0,"Spectator#xmas3"; + emotion e_lv,0,"Spectator#xmas4"; + emotion e_lv,0,"Soy#xmas"; + emotion e_lv,0,"Mimi#xmas"; + mes "[Spectators]"; + mes "Wowwwww~!"; + next; + emotion e_no1; + mes "[Dancer Kim]"; + mes "It's so fascinating that I can dance in a snowy, beautiful village,"; + mes "I'm so glad that I came here, Lutie."; + next; + mes "[Spectators]"; + mes "Yayyyy~"; + next; + mes "[Dancer Kim]"; + mes "In fact, this wonderfull performance would have been cancelled because of my carelessness."; + next; + mes "[Guitar Song]"; + mes "I unintentionally made her upset."; + mes "Let me take this opportunity to say to her that I'm sorry."; + next; + mes "[Dancer Kim]"; + mes "It's okay."; + mes "I'm sorry for behaving as I did."; + next; + mes "[Dancer Kim]"; + mes "In fact there is a friend who cheered me up and helped me get through the hardships I faced when I was depressed in my hometown."; + next; + mes "[Dancer Kim]"; + mes "You may love my friend's dance more than mine in the future."; + mes "She has a great talent."; + next; + mes "[Dancer Kim]"; + mes "Introducing!"; + next; + mes "[Dancer Kim]"; + mapannounce "xmas","Dancer Kim: Introducing the rising Wanderer! " + strcharinfo(0) + "!",bc_map,"0xffff00"; //FW_NORMAL 12 0 0 + mes "This rising Wanderer star, " + strcharinfo(0) + "!"; + jobchange roclass(eaclass()|EAJL_THIRD); + set job_wan,10; + getitem 2795,1; //Green_Apple_Ring + getitem 5758,1; //Dying_Swan + completequest 2222; + next; + mes "[Dancer Kim]"; + mes "Ha ha ha, are you surprised?"; + mes "Don't look so puzzled?"; + mes "You led me here, you deserve it."; + next; + mes "[Dancer Kim]"; + mes "Oh! You are like a beautiful swan!"; + mes "The goddess must be jealous to see your beauty."; + next; + mes "[Dancer Kim]"; + mes "" + strcharinfo(0) + "! I hope to see your beautiful exploits in the future."; + mes "Also, I hope you to meet your precious Maestro."; + mes "Let's perform together later, shall we? Ha ha."; + next; + mes "[Guitar Song]"; + mes "Thanks to you, I didn't lose my precious partner."; + mes "Thank you a lot."; + mes "Soon I will make a song for you, so wait for it."; + close2; + disablenpc "Dancer Kim#xmas"; + disablenpc "Guitar Song#xmas"; + disablenpc "Spectator#xmas1"; + disablenpc "Spectator#xmas2"; + disablenpc "Spectator#xmas3"; + disablenpc "Spectator#xmas4"; + disablenpc "Soy#xmas"; + disablenpc "Mimi#xmas"; + end; + } +OnInit: + disablenpc "Dancer Kim#xmas"; + end; +} + +- script #wander_xmas -1,{ + end; +OnInit: + disablenpc strnpcinfo(0); + end; +} +xmas,149,135,3 duplicate(#wander_xmas) Guitar Song#xmas 479 +xmas,142,130,7 duplicate(#wander_xmas) Spectator#xmas1 711 +xmas,145,127,7 duplicate(#wander_xmas) Spectator#xmas2 712 +xmas,148,127,7 duplicate(#wander_xmas) Soy#xmas 714 +xmas,149,127,1 duplicate(#wander_xmas) Mimi#xmas 714 +xmas,151,127,1 duplicate(#wander_xmas) Spectator#xmas3 716 +xmas,154,129,1 duplicate(#wander_xmas) Spectator#xmas4 797
\ No newline at end of file diff --git a/npc/re/jobs/novice/novice.txt b/npc/re/jobs/novice/novice.txt new file mode 100644 index 000000000..ebefaff48 --- /dev/null +++ b/npc/re/jobs/novice/novice.txt @@ -0,0 +1,2056 @@ +//===== rAthena Script ======================================= +//= New Novice Training Grounds +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.4a +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= New Novice Training Grounds +//= [Hand Scripted (No Programs or AEGIS Scripts)] +//===== Additional Comments: ================================= +//= 1.0 First version. [Kisuka] +//= 1.1 Updated warps, savepoints, NPC locations. [Kisuka] +//= 1.2 Cleaning. [Euphy] +//= 1.3 Fixed Eden Group Officer's level requirement. [Joseph] +//= 1.4 Fixed checkquest to check quest accordingly. [Joseph] +//= 1.4a Added 'npcskill' command. [Euphy] +//============================================================ + +// Sprakki (Stard of Novice Training Ground, Outside Castle) +//============================================================ +new_1-1,53,114,4 script Sprakki#nv1 90,{ + if(job_novice_q < 1) { + mes "[Sprakki]"; + mes "Hello there! Welcome to the World of Ragnarok Online. My name is Sprakki and I'm in charge of giving you basic gameplay tips."; + mes "Click on the [Next] button or press [Enter] to continue."; + next; + mes "[Sprakki]"; + mes "First you need to learn the very basics of controlling your character."; + mes "All the basic ^4A4AFFmoves, selection of items, and attacks^000000 use the ^4A4AFFleft click of the mouse^000000."; + next; + cutin "tutorial01",3; + mes "-! Info !-"; + mes "Click on the ground to move the character."; + mes "Attacking monsters and conversations with the people of this world can be done by simply clicking on them."; + next; + cutin "",255; + mes "[Sprakki]"; + mes "First off, try moving around."; + mes "Do you see that wooden bridge to the right?"; + next; + setquest 7117; + set job_novice_q,1; + mes "[Sprakki]"; + mes "Walk over that bridge and there's a castle used as the Training Center."; + mes "I will be waiting for you inside of that Castle. Please come to the castle by yourself."; + next; + cutin "tutorial02",3; + mes "-! Info !-"; + mes "You've received a quest from Sprakki."; + mes "You can check the contents of the quest in the Quest Info Window."; + next; + mes "[Sprakki]"; + mes "I will wait inside the Training Center across the bridge."; + next; + mes "-! Info !-"; + mes "You can open the Quest Info Window by pressing the ^4A4AFFALT + U^000000 keys at the same time."; + next; + cutin "",255; + mes "[Sprakki]"; + mes "Have you checked the Quest Info Window?"; + mes "I'll be waiting in the castle across the bridge."; + close; + } + mes "[Sprakki]"; + mes "I will be waiting for you across the Bridge to the east."; + close; +} + +// Sprakki (Inside Castle) +//============================================================ +new_1-2,100,29,4 script Sprakki#nv2 90,{ + if(job_novice_q < 1) { + mes "[Sprakki]"; + mes "Hello there! Welcome to the World of Ragnarok Online. My name is Sprakki and I'm in charge of giving you basic gameplay tips."; + mes "Click on the [Next] button or press [Enter] to continue."; + next; + mes "[Sprakki]"; + mes "First you need to learn the very basics of controlling your character."; + mes "All the basic ^4A4AFFmoves, selection of items, and attacks^000000 use the ^4A4AFFleft click of the mouse^000000."; + next; + cutin "tutorial01",3; + mes "-! Info !-"; + mes "Click on the ground to move the character."; + mes "Attacking monsters and conversations with the people of this world can be done by simply clicking on them."; + next; + cutin "",255; + setquest 7117; + set job_novice_q,1; + mes "[Sprakki]"; + mes "Well then, I will give you a quest to talk to me."; + mes "After the conversation is over, talk to me again by left-clicking on me."; + next; + cutin "tutorial02",3; + mes "-! Info !-"; + mes "You've received a quest from Sprakki."; + mes "You can check the contents of the quest in the Quest Info Window by pressing the ^4A4AFFAlt + U^000000 keys at the same time."; + next; + cutin "",255; + mes "[Sprakki]"; + mes "Have you checked the Quest Info Window?"; + mes "Well, talk to me again."; + close; + } + if(job_novice_q == 1) { + getexp 300,0; + getexp 300,5; + completequest 7117; + set job_novice_q,2; + mes "[Sprakki]"; + mes "Great!"; + mes "Now you know how to move and talk to others, right?"; + next; + } + mes "[Sprakki]"; + mes "The training Center is prepared for novices just like you."; + mes "You are going to be trained to get used to the basics of the Game."; + next; + select("Begin Training."); + mes "[Sprakki]"; + mes "I will guide you to the Novice Training Center."; + mes "Inside, Instructor 'Brade' will be waiting to speak to you."; + next; + setquest 7118; + set job_novice_q,3; + mes "[Sprakki]"; + mes "Instructor 'Brade' will help you afterwards."; + mes "Please, Go see him."; + next; + mes "^4A4AFF- You received a quest 'Novice Training Ground-1' from Sprakki.^000000"; + mes "^4A4AFFPlease check the Quest Info Window.-^000000"; + close2; + savepoint "new_1-2",100,100; + warp "new_1-2",100,100; + end; +} + +// Instructor Brade +//============================================================ +new_1-2,100,105,4 script Brade#nv 733,{ + if(job_novice_q < 3) { + mes "[Instructor Brade]"; + mes "How did you get here?"; + close2; + warp "new_1-1",53,111; + end; + } + else if(job_novice_q == 3) { + getexp 300,0; + getexp 300,0; + getexp 300,10; + completequest 7118; + set job_novice_q,4; + mes "[Instructor Brade]"; + mes "Great."; + mes "You've completed the given quest successfully, so I will reward you with experience points."; + next; + mes "[Instructor Brade]"; + mes "Experience Points you've earned from hunting or finishing quests can be checked by tracking the EXP Bar, located at the upper-left side of the display."; + next; + mes "[Instructor Brade]"; + mes "Sigh... I will just talk roughly."; + mes "...I just can't get used to"; + mes "'politeness' you know."; + mes "Don't look at me like that!"; + next; + mes "[Instructor Brade]"; + mes "Ok look alive you maggot."; + mes "Next up is items and equipment."; + next; + mes "[Instructor Brade]"; + mes "First, take these."; + mes "These are very basic equipments and recovery potions."; + getitem 2352,1; // Novice_Plate + getitem 2510,1; // Novice_Hood + getitem 2414,1; // Novice_Boots + getitem 5055,1; // Novice_Egg_Cap + getitem 1243,1; // Novice_Knife + getitem 2112,1; // Novice_Guard + getitem 569,300; // Novice_Potion + setquest 7119; + set job_novice_q,5; + next; + mes "[Instructor Brade]"; + mes "In the upper left Basic Info Window, press the 'Item' icon to open the Item Window."; + mes "The item window has 3 sections..."; + next; + mes "[Instructor Brade]"; + mes "Consumable items, equipment, and other items."; + mes "If you want to use or equip items, double-click on the item or drag them into the Equipment Window."; + next; + mes "[Instructor Brade]"; + mes "You can see detailed info of each item by right-clicking on the item."; + mes "Do that and the info will pop-up in a separate window."; + next; + cutin "tutorial04",3; + mes "!- Info -!"; + mes "Double-click on the item to see the detailed information."; + next; + mes "!- Info -!"; + mes "Right-click on other players to show the Community Menu and you can join a party, request trades, etc."; + next; + cutin "",255; + mes "[Instructor Brade]"; + mes "Why don't you equip the items I gave you earlier?"; + mes "^4A4AFFDouble-Click^000000 on the item you want to equip. Let us continue after you are done gearing up."; + next; + cutin "tutorial03",3; + mes "!- Info -!"; + mes "Items can be easily equipped or used by simply clicking on them."; + mes "The Hot Key to open the Item Window is Alt + E."; + next; + mes "!- Info -!"; + mes "To check on the items that are currently equipped, use the hot key Alt + Q."; + mes "Or, drag the item on to the item slot you want the item to be equipped."; + next; + mes "!- Info -!"; + mes "Equip all of the equipment given by Instructor Brade."; + close2; + cutin "",255; + end; + } + else if(job_novice_q == 4) { + mes "[Instructor Brade]"; + mes "Uh... Where were we? Oh right, let's continue."; + mes "It's about items and equipments."; + next; + mes "[Instructor Brade]"; + mes "Take these."; + mes "Basic equipments and recovery potions."; + getitem 2352,1; // Novice_Plate + getitem 2510,1; // Novice_Hood + getitem 2414,1; // Novice_Boots + getitem 5055,1; // Novice_Egg_Cap + getitem 1243,1; // Novice_Knife + getitem 2112,1; // Novice_Guard + getitem 569,300; // Novice_Potion + setquest 7119; + set job_novice_q,5; + next; + mes "[Instructor Brade]"; + mes "In the upper left Basic Info Window, press the 'Item' icon to open the Item Window."; + mes "The item window is divided into..."; + next; + mes "[Instructor Brade]"; + mes "3 sections: consumable items, equipment and other items."; + mes "If you want to use or equip items, double-click on the item or drag them into the Equipment Window."; + next; + mes "[Instructor Brade]"; + mes "You can see detailed info of each item by right-clicking on the item."; + mes "Do that and the info will pop-up in a separate window."; + next; + cutin "tutorial04",3; + mes "!- Info -!"; + mes "Double-click on the item to see the detailed information."; + next; + mes "!- Info -!"; + mes "Right-click on other players to show the Community Menu and you can join a party, request trades, etc."; + next; + cutin "",255; + mes "[Instructor Brade]"; + mes "Why don't you equip the items I gave you earlier?"; + mes "^4A4AFFDouble-Click^000000 on the item you want to equip. Let us continue after you are done gearing up."; + next; + cutin "tutorial03",3; + mes "!- Info -!"; + mes "Items can be easily equipped or used by simply clicking on them."; + mes "The Hot Key to open the Item Window is Alt + E."; + next; + mes "!- Info -!"; + mes "To check on the items that are currently equipped, use the hot key Alt + Q."; + mes "Or, drag the item on to the item slot you want the item to be equipped."; + next; + mes "!- Info -!"; + mes "Equip all of the equipment given by Instructor Brade."; + close2; + cutin "",255; + end; + } + else if(job_novice_q == 5 || job_novice_q == 6) { + for(set .@i,1; .@i<7; set .@i,.@i+1) + if (getequipisequiped(.@i)) set .@EquipCheck, .@EquipCheck+1; + if(.@EquipCheck >= 4) { + if(job_novice_q == 5) { + mes "[Instructor Brade]"; + mes "You are all set."; + mes "You are coming along just fine."; + getexp 300,0; + getexp 300,0; + getexp 300,0; + getexp 300,15; + getitem 12323,50; // N_Fly_Wing + getitem 12324,20; // N_Butterfly_Wing + completequest 7119; + set job_novice_q,6; + next; + mes "[Instructor Brade]"; + mes "Here's some Fly Wings and Butterfly Wings as a reward."; + mes "You don't need these in the Training Ground, but they will come in handy later."; + next; + } + mes "[Instructor Brade]"; + mes "Next, are Hot Keys."; + mes "Press the ^4A4AFF12 key^000000 on your keyboard."; + mes "A box with 9 slots will pop up."; + next; + mes "[Instructor Brade]"; + mes "Drag on the right corner of the Hot Key Window and you will be able to see the other pages of the Hot Key."; + next; + mes "[Instructor Brade]"; + mes "The F1 to F9 keys are the designated hotkeys."; + mes "Just drag a skill or an item onto the Hot Key Window and press a corresponding key to use them right away."; + next; + cutin "tutorial05",3; + mes "!- Info -!"; + mes "You can register a skill or an item to the Hot Key Window by just dragging them onto the Hot Key Slot."; + next; + mes "!- Info -!"; + mes "Registered Skills or Items can be used/equipped by just pressing the corresponding key."; + next; + mes "!- Info -!"; + mes "You can customize the Hot Key to use any keys you please as the Hot Key by changing the Shortcut configuration in the options menu."; + next; + mes "!- Info -!"; + mes "Register skills and items that you use often so that you can use them easily"; + next; + cutin "",255; + mes "[Instructor Brade]"; + mes "The last part is how to use Skills."; + mes "But before that, you need to learn something first."; + next; + setquest 7120; + set job_novice_q,7; + mes "[Instructor Brade]"; + mes "Somewhere in this room, there's someone named ^4A4AFFJinha^000000."; + mes "Find Jinha and learn the ^4A4AFF[First Aid]^000000 skill from him."; + next; + mes "[Instructor Brade]"; + mes "Your lesson is after that."; + mes "Go find Jinha and learn the [First Aid] Skill. Then come back to me."; + close; + } + mes "[Instructor Brade]"; + mes "Try to put on at least 4 of the equipment I gave you."; + mes "Put those shoes on, wear those clothes, and arm yourself with that weapon you maggot."; + close; + } + else if(job_novice_q == 7) { + mes "[Instructor Brade]"; + mes "Somewhere in this room, there's someone named ^4A4AFFJinha^000000."; + mes "Find Jinha and learn the ^4A4AFF[First Aid]^000000 skill from him."; + close; + } + else if(job_novice_q == 8) { + mes "[Instructor Brade]"; + mes "Now you've learned the [First Aid] Skill."; + mes "Just as I told you before, by registering the First Aid Skill onto the Hot Key Window, you can use the skill fast and easy."; + next; + mes "[Instructor Brade]"; + mes "And that's it, that's all I can teach you."; + mes "You see that exit to the west?"; + mes "Move on to the next room and there will be another instructor waiting for you."; + next; + mes "[Instructor Brade]"; + mes "We will be seeing each other soon enough."; + mes "But for now, go to the room to the west and get more information."; + next; + mes "[Instructor Brade]"; + mes "You've come along fine this far."; + mes "This is not much, but that this as a reward."; + getitem 2393,1; // N_Adventurer's_Suit + completequest 7120; + set job_novice_q,9; + close; + } + else if(job_novice_q > 8) { + mes "[Instructor Brade]"; + mes "Next step of the Training is done in the room west of here."; + mes "If you are lost, I can send you there."; + next; + if(select("I can get there by myself.:Please, send me to the next room.") == 2) { + mes "[Instructor Brade]"; + mes "Oh well."; + mes "I think it's better than seeing you lost and wandering about."; + mes "Hahahaha..."; + close2; + warp "new_1-2",41,172; + end; + } + mes "[Instructor Brade]"; + mes "Good. That's the attitude you must have."; + mes "You can't just lean on others to help you."; + mes "Now, go ahead."; + close; + } + mes "[Instructor Brade]"; + mes "Why are you still here?"; + close2; + warp "prontera",156,90; + end; +} + +// Instructor Jinha +//============================================================ +new_1-2,115,120,4 script Jinha#nv 59,{ + if(job_novice_q < 7) { + mes "[Jinha]"; + mes "What can I help you with?"; + mes "Hmm? You haven't followed the curriculum correctly."; + next; + mes "[Jinha]"; + mes "You have to see Instructor Brade first before me. I will send you to Instructor Brade."; + close2; + warp "new_1-2",100,100; + end; + } + else if(job_novice_q == 7) { + mes "[Jinha]"; + mes "Hello!"; + mes "How can I help you?"; + next; + select("I want to learn the use the [First Aid] Skill."); + mes "[Jinha]"; + mes "That's right."; + mes "First Aid is the skill used to convert SP into HP when you are in danger."; + next; + specialeffect2 58; + specialeffect2 234; + mes "[Jinha]"; + mes "It's recovery amount is small."; + mes "Still, it will help you not to faint from a critical hit."; + next; + skill "NV_FIRSTAID",1,0; // NV_FIRSTAID + set job_novice_q,8; + mes "[Jinha]"; + mes "You can open the Skill Window by pressing the ^4A4AFFskill^000000 button in the Basic Window."; + mes "Hot Key is ^4A4AFFALT + S^000000."; + mes "Why don't you try the skill?"; + next; + mes "[Jinha]"; + mes "Good, now you know how to use the First Aid Skill, you have to move on to the next step."; + mes "Go back to Instructor Brade and show him what you've learned here."; + close; + } + else if(job_novice_q == 8) { + mes "[Jinha]"; + mes "Didn't you learn the First Aid Skill already?"; + mes "Have it checked by Instructor Brade."; + mes "If you don't know how to get to him, I will send you to him."; + next; + if(select("I'm good by myself.:Please, send me to him.") == 2) { + mes "[Jinha]"; + mes "I will send you to Instructor Brade."; + close2; + warp "new_1-2",100,100; + end; + } + mes "[Jinha]"; + mes "Very Good!"; + mes "That's the right attitude!"; + mes "You will be a great adventurer in the future."; + close; + } + else if(job_novice_q > 8) { + mes "[Jinha]"; + mes "What can I do for you?"; + mes "Next course will be continued in the West Room."; + mes "Go on to the west room."; + close; + } + mes "[Jinha]"; + mes "Why are you still here?"; + close2; + warp "prontera",156,90; + end; +} + +// People/Services in Ragnarok +//============================================================ +// ---------- Chocolat ---------- +new_1-2,32,172,4 script Chocolat#nv 96,{ + if(job_novice_q < 9) { + mes "[Chocolat]"; + mes "Hmm? Strange."; + mes "Let me see that Trainee ID for a sec."; + next; + mes "[Chocolat]"; + mes "You were still on the basic course."; + mes "You should go back to Instructor Brade or Jinha."; + next; + mes "[Chocolat]"; + mes "If you don't know how to find them, I can send you to Instructor Brade, How about it?"; + next; + if(select("I will go myself.:Will you do that for me?") == 2) { + mes "[Chocolat]"; + mes "Sure."; + mes "I will see you later."; + close2; + warp "new_1-2",100,100; + end; + } + mes "[Chocolat]"; + mes "Sure. Go out to the door to the right."; + close; + } + else if(job_novice_q == 9) { + mes "[Chocolat]"; + mes "I will tell you about the people you will be seeing in Town."; + mes "There are many kinds of people in town and some of them will be helpful to know."; + next; + mes "[Chocolat]"; + mes "There are a lot of people in town, but among them, these people are the most important to know."; + next; + mes "[Chocolat]"; + mes "They are [Kafra] Agents standing right behind me and their rival company the [Cool Event]."; + mes "When you visit a town for the first time, you should talk to Information [Soldier]."; + next; + mes "[Chocolat]"; + mes "Well then, let's hear from each of them."; + mes "Start by talking to the [Kafra] agent."; + setquest 7121; + set job_novice_q,10; + close; + } + else if(job_novice_q == 10) { + mes "[Chocolat]"; + mes "Here, talk to these guys standing behind me."; + mes "Start with the [Kafra] gal behind me."; + close; + } + else if(job_novice_q == 11) { + mes "[Chocolat]"; + mes "You've learned a lot about Kafra service huh?"; + mes "From now on, you can use the Kafra Server."; + next; + mes "[Chocolat]"; + mes "Next is Kafra's rival, [Cool Event] Staff!"; + mes "[Cool Event] Staff specialize in events."; + mes "Well, why don't you talk to him yourself?"; + close; + } + else if(job_novice_q == 12) { + mes "[Chocolat]"; + mes "After [Kafra] and [Cool Event], are the Information [Soldier]s."; + mes "They can seem insignificant but they can help you greatly when the time comes."; + next; + mes "[Chocolat]"; + mes "I've brought the Information Soldier from the City of Prontera."; + mes "Ask him what he actually does in town."; + close; + } + else if(job_novice_q == 13) { + mes "[Chocolat]"; + mes "How was the guide of the Information [Soldier]?"; + mes "Last is about using [Inn]s."; + mes "There's an Inn located in each town."; + next; + mes "[Chocolat]"; + mes "You can rest at Inns or Hotels for a small fee."; + mes "Your HP and SP will be recovered completely by resting there."; + mes "Can't hurt to use one, eh?"; + next; + mes "[Chocolat]"; + mes "Besides these guys, there's many merchants selling various kind of items, so go check them out."; + completequest 7121; + getexp 300,0; + getexp 300,0; + getexp 300,0; + getexp 300,0; + getexp 300,0; + getexp 300,20; + getitem 7059,20; // Cargo_Free_Ticket + getitem 7060,30; // Warp_Free_Ticket + set job_novice_q,14; + next; + mes "[Chocolat]"; + mes "You've completed all the quests I gave you."; + mes "As the reward, I will give you Free Tickets for Kafra Storage and Teleport Service."; + mes "They will come in handy."; + next; + mes "[Chocolat]"; + mes "That's all for me."; + mes "Now, it's time for real combat!"; + next; + mes "[Chocolat]"; + mes "Real Combat Training will be given by Instructor Brade. You met him earlier."; + mes "I will send you to the Real Combat Training Field."; + close2; + savepoint "new_1-3",96,21; + warp "new_1-3",96,21; + end; + } + else if(job_novice_q > 13) { + mes "[Chocolat]"; + mes "What can I do for you?"; + next; + select(""); + mes "[Chocolat]"; + mes "I will send you to the Real Combat Training Field right away."; + close2; + savepoint "new_1-3",96,21; + warp "new_1-3",96,21; + end; + } + mes "[Chocolat]"; + mes "Why are you still here?"; + close2; + warp "prontera",156,90; + end; +} + +// ---------- Kafra ---------- +new_1-2,29,176,4 script Kafra#nv 117,{ + if(job_novice_q < 10) { + mes "[Kafra Agent]"; + mes "Hello."; + mes "I don't think it's my turn yet."; + mes "Please talk to 'Chocolat' first."; + close; + } + else if(job_novice_q == 10) { + mes "[Kafra Agent]"; + mes "Hello."; + mes "I've been dispatched by the Kafra Head Office to help Trainees."; + mes "The Kafra Corporation is the world's largest company with a long and distinguished history on the Rune Midgard continent."; + mes "It's important for you adventurers to be close with us."; + next; + mes "[Kafra Agent]"; + mes "I will inform you about the Kafra Services which you will be using most frequently, [Save], [Storage], and [Teleport] Services."; + next; + mes "[Kafra Agent]"; + mes "When you talk to a Kafra Agent and ask for the Save Service, the location of where you will revive, after being defeated in battle, will be changed."; + next; + mes "[Kafra Agent]"; + mes "Your Respawn Point is always the last place where you have saved."; + mes "Using a Butterfly Wing will return you to the place where you last saved."; + mes "This service is free to use, so feel free to use the Save Service anytime you like."; + next; + mes "[Kafra Agent]"; + mes "Next is the Storage Service."; + mes "You can store and retrieve your items in any town at your convenience."; + next; + mes "[Kafra Agent]"; + mes "It's unreasonable to carry all of your items with you when you don't need them right away."; + mes "Please use our Storage and keep your items safe and secure."; + next; + mes "[Kafra Agent]"; + mes "Our convenient Storage Service is provided to our customers for a small fee which is different from town to town."; + mes "However, you must be at least ^4A4AFFBasic Skill Level 6^000000 to use the Storage."; + next; + mes "[Kafra Agent]"; + mes "There are 7 different item sections of the Storage into which items are organized: Consumable, Kafra (Item Mall), Armor, Weapons, Ammo, Cards, and Etc items."; + next; + mes "[Kafra Agent]"; + mes "There are a maximum of 600 Inventory Slots in Kafra Storage, meaning you can have up to 600 different kinds of total items in Storage."; + next; + mes "[Kafra Agent]"; + mes "If you have a Premium Subscription, the maximum Inventory Slots in Kafra Storage is 600!"; + mes "Remember though, that in the case of Equipment, each item takes up one Inventory Slot."; + mes "The maximum number of items that can be placed in Kafra Storage is 30,000."; + next; + mes "[Kafra Agent]"; + mes "Storage is shared by everyone character on one account."; + mes "Storage Fees can vary for each Town."; + mes "So please keep that in mind when you are using our storage service."; + next; + mes "[Kafra Agent]"; + mes "We also provide you with a Teleport Service to make your trips easier when you are trying to move a long distance."; + next; + mes "[Kafra Agent]"; + mes "With our veteran teleporter's skill, your trip will be safer and more comfortable."; + mes "Oh and remember that the places you can teleport to vary from town to town."; + next; + mes "[Kafra Agent]"; + mes "This is all for your never ending support. We are working hard to repay our debt to our customers."; + next; + mes "[Kafra Agent]"; + mes "Do you want to hear another explanation?"; + set job_novice_q,11; + next; + } + else { + mes "[Kafra Agent]"; + mes "Kafra Service at your service"; + mes "What can I do for you?"; + next; + select("About Kafra Service"); + mes "[Kafra Agent]"; + mes "I will explain about the Kafra Service."; + mes "Which service do you want to be informed about?"; + next; + } + + while(1) { + switch(select("About Save:About Storage:About Teleport:About Cart:No More.")) { + case 1: + mes "[Kafra Agent]"; + mes "When you are killed in battle, you can revive in the location you saved with this service."; + mes "If you save at a Kafra in a village, you can revive in the village you saved."; + next; + mes "[Kafra Agent]"; + mes "Saved location is always where you saved last, and by using a Butterfly Wing, you can teleport directly to your saved point."; + mes "So feel free to use this service."; + next; + break; + case 2: + mes "[Kafra Agent]"; + mes "Next is the Storage Service."; + mes "You can store and retrieve your items in any town at your convenience."; + next; + mes "[Kafra Agent]"; + mes "It's unreasonable to carry all of your items with you when you don't need them right away."; + mes "Please use our Storage and keep your items safe and secure."; + next; + mes "[Kafra Agent]"; + mes "Our convenient Storage Service is provided to our customers for a small fee which is different from town to town."; + mes "However, you must be at least ^4A4AFFBasic Skill Level 6^000000 to use the Storage."; + next; + mes "[Kafra Agent]"; + mes "There are 7 different item sections of the Storage into which items are organized: Consumable, Kafra (Item Mall), Armor, Weapons, Ammo, Cards, and Etc items."; + next; + mes "[Kafra Agent]"; + mes "There are a maximum of 600 Inventory Slots in Kafra Storage, meaning you can have up to 600 different kinds of total items in Storage."; + next; + mes "[Kafra Agent]"; + mes "If you have a Premium Subscription, the maximum Inventory Slots in Kafra Storage is 600!"; + mes "Remember though, that in the case of Equipment, each item takes up one Inventory Slot."; + mes "The maximum number of items that can be placed in Kafra Storage is 30,000."; + next; + mes "[Kafra Agent]"; + mes "Storage is shared by everyone character on one account."; + mes "Storage Fees can vary for each Town."; + mes "So please keep that in mind when you are using our storage service."; + next; + break; + case 3: + mes "[Kafra Agent]"; + mes "We also provide you with a Teleport Service to make your trips easier when you are trying to move a long distance."; + next; + mes "[Kafra Agent]"; + mes "With our veteran teleporter's skill, your trip will be safer and more comfortable."; + mes "Oh and remember that the places you can teleport to vary from town to town."; + next; + mes "[Kafra Agent]"; + mes "This is all for your never ending support. We are working hard to repay our debt to our customers."; + next; + break; + case 4: + mes "[Kafra Agent]"; + mes "The Kafra corporation provides Cart rental services to customers engaged in commercial business."; + mes "Originally this cart rental service had been only provided by the merchant guild in Alberta."; + next; + mes "[Kafra Agent]"; + mes "However, since we took over this service, our merchant customers have been able to rent carts from almost anywhere."; + mes "The cart rental service is available only for job classes engaged in commercial business such as ^4A4AFFMerchants, Blacksmiths, Alchemists, and Super Novices^000000."; + next; + mes "[Kafra Agent]"; + mes "Of course you should learn the 'Pushcart' skill beforehand, otherwise you will not be able to rent a cart from us."; + mes "The rental fee varies by town, please keep that in mind."; + next; + break; + case 5: + mes "[Kafra Agent]"; + mes "I hope you are satisfied with my explanation about the Kafra Service."; + close; + } + } +} + +// ---------- Cool Event Staff ---------- +new_1-2,32,176,4 script Cool Event Staff#nv 874,{ + if(job_novice_q < 11) { + mes "[Cool Event Staff]"; + mes "This is not my turn."; + mes "You finished talking to Kafra yet?"; + close; + } + else if(job_novice_q == 11) { + mes "[Cool Event Staff]"; + mes "Hello."; + mes "We are working hard to provide events on Rune Midgard similar to the Kafra service."; + next; + mes "[Cool Event Staff]"; + mes "Our staff is here to support you with [storage], [save], and [teleport] services."; + next; + mes "[Cool Event Staff]"; + mes "If there's no Kafra around you, we're around to help you."; + next; + mes "[Cool Event Staff]"; + mes "We are working hard on a network of Events to make your life better."; + mes "I hope that you can meet our staff in Alberta."; + next; + mes "[Cool Event Staff]"; + mes "Who knows, we might meet outside of this academy."; + next; + mes "[Cool Event Staff]"; + mes "Mostly all of us wear red coats in the places that the Kafra Staff don't work for."; + set job_novice_q,12; + close; + } + mes "[Cool Event Staff]"; + mes "Most of our services are similar to those of Kafra."; + close; +} + +// ---------- Soldier ---------- +new_1-2,35,176,4 script Soldier#nv 105,{ + if(job_novice_q < 12) { + mes "[Soldier]"; + mes "It isn't my turn yet."; + mes "Listen to Chocolat."; + close; + } + else if(job_novice_q == 12) { + mes "[Soldier]"; + mes "Soldiers are in each town to guide you to useful places."; + mes "Ask us where you want to go and we'll mark your mini maps with a ^4A4AFF+^000000."; + mes "Don't hesitate to ask us questions."; + next; + mes "[Soldier]"; + mes "We all don't look the same in every town but our roles are the same."; + mes "Take note of this whenever you go to a new town."; + next; + mes "[Soldier]"; + mes "If you want to go to your first town, you can do so once you have reached Base Level 11 in the training grounds."; + set job_novice_q,13; + close; + } + mes "[Soldier]"; + mes "What can I help you with?"; + mes "Need me to explain what I do again?"; + next; + if(select("Yes, I need an explanation.:Nope") == 2) { + mes "[Soldier]"; + mes "Ok well talk to Chocolat if you're done talking with us."; + close; + } + mes "[Soldier]"; + mes "Soldiers are in each town to guide you to useful places."; + mes "Ask us where you want to go and we'll mark your mini maps with a ^4A4AFF+^000000."; + mes "Don't hesitate to ask us questions."; + next; + mes "[Soldier]"; + mes "We all don't look the same in every town but our roles are the same."; + mes "Take note of this whenever you go to a new town."; + next; + mes "[Soldier]"; + mes "If you want to go to your first town, you can do so once you have reached Base Level 11 in the training grounds."; + close; +} + +// Instructor Brade (Real Combat Training) +//============================================================ +- script Brade#nv::NvBrade 733,{ + if(job_novice_q < 14) { + mes "[Brade]"; + mes "How did you get here?"; + close2; + warp "new_1-2",100,100; + end; + } + else if(job_novice_q == 14) { + mes "[Brade]"; + mes "Welcome."; + mes "Now this is real practice."; + mes "We can practice real battle here."; + next; + mes "[Brade]"; + mes "As I explained the first time, we can click on the monsters."; + mes "One attack per click."; + next; + mes "[Brade]"; + mes "For convenience,"; + mes "^4A4AFFIf you hold down the Ctrl key,^000000"; + mes "while attacking, you will automatically attack."; + next; + mes "[Brade]"; + mes "You can also set this mode before battle by typing ^4A4AFF[ /nc ]^000000."; + next; + mes "[Brade]"; + mes "Then, let's go Poring hunting."; + mes "Please hunt Poring's on Level 1 of the training grounds."; + setquest 7122; + set job_novice_q,15; + getitem 569,100; // Novice_Potion + next; + mes "^4A4AFF- You've received a quest from Instructor Brade.^000000"; + mes "^4A4AFFPlease check the quest information window. -^000000"; + close; + } + else if(job_novice_q == 15) { + if(checkquest(7122,HUNTING) == 2) { + mes "[Brade]"; + mes "You can see it is not so hard, right?"; + mes "Nice job."; + getitem 13040,1; // N_Cutter + getexp 1000,0; + getexp 1000,0; + getexp 1000,30; + completequest 7122; + set job_novice_q,16; + next; + mes "[Brade]"; + mes "Now all of the courses are almost done."; + mes "You are a Novice, and you can't get any jobs yet."; + next; + mes "[Brade]"; + mes "If you acquire all of basic skills with Job Level 10, you can change your job."; + next; + mes "[Brade]"; + mes "The first job classes are defined into 6 classes."; + next; + mes "[Brade]"; + mes "The 6 basic jobs are"; + mes "Swordman, Thief,"; + mes "Acolyte, Mage,"; + mes "Archer and Merchant."; + next; + mes "[Brade]"; + mes "Let's experience the basic 6 jobs, Swordman, Thief, Acolyte, Mage, Archer and Merchant and see what those jobs can do."; + next; + mes "[Brade]"; + mes "Behind me, there are people dispatched from each of the basic Job Guilds."; + mes "These people will give you instruction manuals that allow you to experience some limited skills of each job."; + next; + mes "[Brade]"; + mes "Equip a manual of the job which you want to experience, and you will be able to use some basic skills of that corresponding job."; + mes "Try those skills and decide which job to choose."; + close; + } + mes "[Brade]"; + mes "Kill enough Porings."; + mes "Porings are easy to deal with, so cheer up."; + mes "Try again."; + npcskill "AL_HEAL",10,99,60; + close; + } + mes "[Brade]"; + mes "Have you tried the skills in the Manuals?"; + mes "If you want to hear information about each job, talk to the people dispatched by the Job Guilds."; + next; + mes "[Brade]"; + mes "I think you've learned enough, if you want to learn more, then speak to the Eden Group girl next to the Trainers."; + next; + mes "[Brade]"; + mes "Try using the job manuals to find out the characteristics of each job's skills."; + mes "I will restore your HP and SP... Keep it up."; + npcskill "AL_HEAL",10,99,60; + close; +} + +new_1-3,96,30,4 duplicate(NvBrade) Brade#nv1 733 +new_2-3,96,30,4 duplicate(NvBrade) Brade#nv2 733 +new_3-3,96,30,4 duplicate(NvBrade) Brade#nv3 733 +new_4-3,96,30,4 duplicate(NvBrade) Brade#nv4 733 +new_5-3,96,30,4 duplicate(NvBrade) Brade#nv5 733 + +// Job Guides (Real Combat Training) +//============================================================ +// --------------------------- Deletion Function ------------------------------ +function script F_NvErase { + if (getarg(0,0)) { + if (checkquest(7123) == 0 || checkquest(7123) == 1) erasequest 7123; + if (checkquest(7124) == 0 || checkquest(7124) == 1) erasequest 7124; + if (checkquest(7126) == 0 || checkquest(7126) == 1) erasequest 7126; + if (checkquest(7127) == 0 || checkquest(7127) == 1) erasequest 7127; + } + nude; + if (countitem(2819)) delitem 2819,1; // Swordsman_Manual + if (countitem(2820)) delitem 2820,1; // Thief_Manual + if (countitem(2821)) delitem 2821,1; // Acolyte_Manual + if (countitem(2822)) delitem 2822,1; // Archer_Manual + if (countitem(2823)) delitem 2823,1; // Merchant_Manual + if (countitem(2824)) delitem 2824,1; // Mage_Manual + return; +} + +// ---------------------------- Swordman Guide ------------------------------- +- script Swordman Guide#nv::NvSwd 728,{ + if(job_novice_q < 16) { + mes "[Swordman Guildsman]"; + mes "I won't help you until you finish Brade's instructions."; + close; + } + mes "[Swordman Guildsman]"; + mes "Can I help you?"; + next; + switch(select("About Swordman Class.:Job change to Swordman.:Got any quests?:Cancel.")) { + case 1: + mes "[Swordman Guildsman]"; + mes "Literally, Swordman means one, who is specialized in wielding swords."; + mes "But they can also choose to use spears if they so choose."; + next; + mes "[Swordman Guildsman]"; + mes "We possess strong physical strength."; + mes "So naturally we can equip heavy armors and weapons."; + mes "Most weapon classes, except for bows and rods, are equippable by our class."; + next; + mes "[Swordman Guildsman]"; + mes "The only weakness of the Swordman class is that they cannot use magic spells."; + mes "But we've compensated for that by using elemental weapons."; + next; + mes "[Swordman Guildsman]"; + mes "The merits of being a Swordman is the enormous amount of HP we have."; + mes "Most of us can bear the grunt of our enemies' attacks with relative ease."; + next; + mes "[Swordman Guildsman]"; + mes "And we are unrivaled when it comes to one-on-one melee combat."; + next; + mes "[Swordman Guildsman]"; + mes "Anyone who chooses to be a Swordman will likely play the role of the tank. It is our duty to protect the weak."; + next; + mes "[Swordman Guildsman]"; + mes "As a Swordman you can advance to a ^8C2121Knight^000000 or ^8C2121Crusader^000000 class as your 2nd class profession."; + mes "And just recently third professions have been discovered."; + if(countitem(2819) == 0 && (getequipid(EQI_ACC_L) != 2819 || getequipid(EQI_ACC_R) != 2819)) { + next; + mes "[Swordman Guildsman]"; + mes "If you're interested in being a Swordman, I'll offer you this manual."; + mes "Do you want to try the skills of a Swordman?"; + next; + if(select("I'll try the Swordman skills.:No Thanks.") == 2) { + mes "[Swordman Guildsman]"; + mes "Hum. Do you think so?"; + mes "Ok, I agree with you. Choosing a job is very important in our lives."; + mes "Just talk to me whenever you want to experience Swordman skills."; + close; + } + mes "[Swordman Guildsman]"; + mes "Here is the Swordman manual."; + mes "I'll just take any manuals from any other classes you have."; + callfunc "F_NvErase"; + getitem 2819,1; // Swordsman_Manual + next; + mes "[Swordman Guildsman]"; + mes "After equipping the Manual, open your Skill menu by pressing ALT+S."; + mes "Make sure to minimize your Skill tree by clicking the '-' button on the top right corner of the Skill Tree Window."; + } + close; + case 2: + mes "[Swordman Guildsman]"; + mes "Do you really want to change your job to Swordman?"; + mes "If you want to be a Swordman, I'll send you to the Swordman Guild immediately."; + next; + mes "[Swordman Guildsman]"; + mes "I think you have enough job levels, of course, right?"; + mes "Do you want to stop your training now and go to the Swordman Guild?"; + next; + if(select("I'll consider it again.:I'll go to the Swordman Guild.") == 2) { + mes "[Swordman Guildsman]"; + mes "I see."; + mes "Then I'll end your training process and send you to the Swordman Guild."; + close2; + callfunc "F_NvErase",1; + savepoint "izlude",94,103; + warp "izlude_in",74,167; + end; + } + mes "[Swordman Guildsman]"; + mes "Please try enough instruction manuals from each job class and consider it carefully."; + mes "Of course, you're always welcomed."; + close; + case 3: + set .@quest, checkquest(7123); + if (.@quest == -1) { + mes "[Swordman Guildsman]"; + mes "You want me to give you a quest?"; + mes "Umm. Let me see."; + mes "Ok! Hunt a couple of Picky monsters around here."; + next; + mes "^4d4dffYou received a hunting request from a staff of the Swordman Guild."; + mes "You can check the contents of the quest from the quest information window.^000000"; + setquest 7123; + next; + mes "[Swordman Guildsman]"; + mes "Use the 'Bash' skill in the Swordman manual."; + mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available Swordman skills."; + next; + mes "[Swordman Guildsman]"; + mes "Talk to Trainer Brutus if you want to fight stronger monsters."; + mes "I'll wait for you here."; + mes "Wish you a good luck."; + close; + } + else if (.@quest == 1) { + if (checkquest(7123,HUNTING) == 2) { + mes "[Swordman Guildsman]"; + mes "Great."; + mes "I think that you're good enough to be a Swordman."; + mes "I'll give you some potions as a reward."; + completequest 7123; + getitem 569,200; // Novice_Potion + getexp 5000,100; + close; + } + mes "[Swordman Guildsman]"; + mes "Hunt two Picky monsters."; + mes "You can find them in the more difficult training grounds by talking to Trainer Brutus."; + close; + } + else if (.@quest == 2) { + mes "[Swordman Guildsman]"; + mes "I think you finished that quest already, right?"; + mes "You'll experience more of these quests as you grow as an adventurer in the world."; + next; + mes "[Swordman Guildsman]"; + mes "Your training is now complete."; + mes "If you choose to become a Swordman I wish you goodluck."; + close; + } + mes "[Swordman Guildsman]"; + mes "I'm sorry but I don't have any quests to give you right now."; + close; + case 4: + mes "[Swordman Guildsman]"; + mes "If you have any questions about the Swordman class, please ask me."; + mes "The Swordman Guild is waiting for novices like you."; + close; + } +} + +new_1-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv1 728 +new_2-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv2 728 +new_3-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv3 728 +new_4-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv4 728 +new_5-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv5 728 + +// ---------------------------- Mage Guide ---------------------------------- +- script Mage Guide#nv::NvMag 123,{ + if(job_novice_q < 16) { + mes "[Mage Guild Member]"; + mes "You are still in the process of training with Instructor Brade."; + close; + } + mes "[Mage Guild Member]"; + mes "What can I help you with?"; + next; + switch(select("Tell me about Mages:I want to be a Mage:Give me a Quest:Cancel")) { + case 1: + mes "[Mage Guild Member]"; + mes "Mages are those who can use magic when they need to protect their friends."; + mes "Mages can curse enemies using the elements of fire, water, earth and thunder magic."; + next; + mes "[Mage Guild Member]"; + mes "However they cannot equip other weapons but staffs and books."; + mes "Because they are too delicate to carry heavy weapons."; + next; + mes "[Mage Guild Member]"; + mes "But they can cover this weakness by their remarkable magic skills."; + mes "That is why many people want to become a Mage!"; + next; + mes "[Mage Guild Member]"; + mes "Mages have to be in their guild for guild's power and honor."; + mes "This is one of the reasons why Mages are popular in any parties and guilds."; + mes "Why don't you become a Mage?"; + next; + mes "[Mage Guild Member]"; + mes "^8C2121Mages can transform to Wizards or Sages as their second job.^000000"; + if(countitem(2824) == 0 && (getequipid(EQI_ACC_L) != 2824 || getequipid(EQI_ACC_R) != 2824)) { + next; + mes "[Mage Guild Member]"; + mes "Do you want to register to experience how it is to be a Mage?"; + mes "Would you like to test Mage skills?"; + next; + if(select("I want to test Mage skills.:I don't want to test it.") == 2) { + mes "[Mage Guild Member]"; + mes "Hum. Do you think so."; + mes "Ok, I agree with you. Choosing a job is very important in our life."; + mes "Just talk to me whenever you want to experience Mage skills."; + close; + } + mes "[Mage Guild Member]"; + mes "Here is the Mage Manual."; + mes "I will take the other job registration forms and manuals from you."; + next; + mes "[Mage Guild Member]"; + mes "Here is the Mage Manual."; + mes "I will take the other job registration forms and manuals from you."; + callfunc "F_NvErase"; + getitem 2824,1; // Mage_Manual + next; + mes "[Mage Guild Member]"; + mes "After equipping the Manual, open your Skill menu by pressing ALT+S."; + mes "Make sure to minimize your Skill tree by clicking the '-' button on the top right corner of the Skill Tree Window."; + } + close; + case 2: + mes "[Mage Guild Member]"; + mes "You want to be a Mage?"; + mes "Ok, then, I will send you to the Mage Guild union in Geffen right away."; + next; + mes "[Mage Guild Member]"; + mes "Wait, have you checked your Job level?"; + mes "Do you want to complete your Novice training and go straight to the Mage Guild's union?"; + next; + if(select("I will think about it again.:Yes, complete my training.") == 2) { + mes "[Mage Guild Member]"; + mes "Welcome!!"; + mes "I will send you to the Mage Guilds union after you complete your Novice training."; + close2; + callfunc "F_NvErase",1; + savepoint "geffen",119,38; + warp "geffen_in",163,98; + end; + } + mes "[Mage Guild Member]"; + mes "Please test what Mage skills are all about before you decide."; + mes "We are always welcome to have you!"; + close; + case 3: + set .@quest, checkquest(7124); + if (.@quest == -1) { + mes "[Mage Guild Member]"; + mes "Huh? Quest?"; + mes "Hmm... What would be suited for you...?"; + mes "Would you like to hunt Lunatics by using Bolt skills?"; + next; + mes "^4d4dffYou have received a Hunting quest from the Mage Guide."; + mes "You can get more information about the quest from the quest window.^000000"; + setquest 7124; + next; + mes "[Mage Guild Member]"; + mes "You are able to use 'Fire Bolt' skill that is shown on the Mage manual."; + mes "I will wait for you here."; + mes "Good luck!"; + close; + } + else if (.@quest == 1) { + if (checkquest(7124,HUNTING) == 2) { + mes "[Mage Guild Member]"; + mes "You have done excellent job."; + mes "So, did you find any interests about Mages?"; + mes "Alright. I will give something..."; + mes "Here are Novice Butterfly Wings, please take them."; + completequest 7124; + getitem 12324, 30; // N_Butterfly_Wing + getexp 5000,100; + close; + } + mes "[Mage Guild Member]"; + mes "The quest is that you have to"; + mes "hunt Lunatics and bring 5 clovers."; + close; + } + else if (.@quest == 2) { + mes "[Mage Guild Member]"; + mes "You have already completed the quest."; + mes "Once you enter the main world, you can get various exciting quests there!"; + next; + mes "[Mage Guild Member]"; + mes "This should be enough for your training."; + close; + } + mes "[Mage Guild Member]"; + mes "I'm sorry but I don't have any quests to give you right now."; + close; + case 4: + mes "[Mage Guild Member]"; + mes "If you have any questions about Mages, feel free to ask me."; + mes "I think you could be a intelligent Mage..."; + close; + } +} + +new_1-3,101,41,4 duplicate(NvMag) Mage Guide#nv1 123 +new_2-3,101,41,4 duplicate(NvMag) Mage Guide#nv2 123 +new_3-3,101,41,4 duplicate(NvMag) Mage Guide#nv3 123 +new_4-3,101,41,4 duplicate(NvMag) Mage Guide#nv4 123 +new_5-3,101,41,4 duplicate(NvMag) Mage Guide#nv5 123 + +// ---------------------------- Thief Guide --------------------------------- +- script Thief Guide#nv::NvThf 118,{ + if(job_novice_q < 16) { + mes "[Thief Guild Member]"; + mes "You look like you are not done with Instructor Brade's lessons."; + close; + } + mes "[Thief Guild Member]"; + mes "How can I help you?"; + next; + switch(select("About the Thief Class.:I want to be a Thief.:Got any Quests?:Cancel.")) { + case 1: + mes "[Thief Guild Member]"; + mes "Thieves are experts at using Dagger class weapons."; + mes "They strike quickly and easily evade attacks from their enemies."; + next; + mes "[Thief Guild Member]"; + mes "Thieves can learn skills that allow them to hide from their enemies or steal items from monsters."; + mes "They are also feared for their use of poison, which slowly weakens their enemies."; + next; + mes "[Thief Guild Member]"; + mes "In jeopardy, or in the case that thieves do not want to reveal themselves, they can use their skill to hide themselves easily."; + next; + mes "[Thief Guild Member]"; + mes "Thieves can change their jobs to ^8C2121Assassins^000000 or ^8C2121Rogues.^000000"; + if(countitem(2820) == 0 && (getequipid(EQI_ACC_L) != 2820 || getequipid(EQI_ACC_R) != 2820)) { + next; + mes "[Thief Guild Member]"; + mes "If you want, I'll give you a Thief skill manual."; + mes "Would you like to experience the skills of a Thief?"; + next; + if(select("Yes, I would.:No, I don't.") == 2) { + mes "[Thief Guild Member]"; + mes "Oh, are you sure?"; + mes "Class selection is very important so please consider it carefully."; + mes "If you want to ask about Thieves, please talk to me any time."; + close; + } + mes "[Thief Guild Member]"; + mes "Here, please take the Thief manual."; + mes "I'll just take the other class manuals while I'm at it."; + next; + mes "[Thief Guild Member]"; + mes "Here, please take the Thief manual."; + mes "I'll just take the other class manuals while I'm at it."; + callfunc "F_NvErase"; + getitem 2820,1; // Thief_Manual + next; + mes "[Thief Guild Member]"; + mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window."; + mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available skills."; + } + close; + + case 2: + mes "[Thief Guild Member]"; + mes "Do you really want to be a Thief?"; + mes "If so, I will send you to the Thief Guild immediately."; + next; + mes "[Thief Guild Member]"; + mes "You already reached the required job level, didn't you?"; + mes "Do you want to finish the Novice training and go to the Thief Guild?"; + next; + if(select("Let me consider it again.:Yes, I do.") == 2) { + mes "[Thief Guild Member]"; + mes "Ok, I see."; + mes "Welcome. Then your Novice training is totally complete and you will be sent to the Thief Guild immediately."; + close2; + callfunc "F_NvErase",1; + savepoint "morocc",150,100; + warp "moc_prydb1",99,185; + end; + } + mes "[Thief Guild Member]"; + mes "Have you tried all of the class manuals yet?"; + mes "If you're undecided what job to take on I suggest you try talking to all the Guides first."; + close; + case 3: + set .@quest, checkquest(7127); + if (.@quest == -1) { + mes "[Thief Guild Member]"; + mes "Quests?"; + mes "Hmm, what will be good for you?"; + mes "How about hunting some Willows."; + next; + mes "[Thief Guild Member]"; + mes "You can't cheat this so make sure to kill 5 Willows. When you're done come and talk to me again."; + mes "If you talk to Trainer Brutus, he can send you to a more difficult training ground where there are Willows to hunt."; + setquest 7127; + next; + mes "[Thief Guild Member]"; + mes "If you equip the Thief manual, you can have the effect of the skill, Double Attack."; + mes "Double Attack and Hide are the main skills of the Thief."; + close; + } + else if (.@quest == 1) { + if (checkquest(7127,HUNTING) == 2) { + mes "[Thief Guild Member]"; + mes "You are very strong."; + mes "These are not many but let me give you a reward for your effort."; + completequest 7127; + getitem 12323, 50; // N_Fly_Wing + getexp 5000,100; + close; + } + mes "[Thief Guild Member]"; + mes "Hunt 5 Willows and then come talk to me to finish your quest."; + close; + } + else if (.@quest == 2) { + mes "[Thief Guild Member]"; + mes "I think you finished that quest already, right?"; + mes "You'll experience more of these quests as you grow as an adventurer in the world."; + next; + mes "[Thief Guild Member]"; + mes "Your training is now complete."; + mes "If you choose to become a Thief I wish you goodluck."; + close; + } + mes "[Thief Guild Member]"; + mes "I'm sorry but I don't have any quests to give you right now."; + close; + case 4: + mes "[Thief Guild Member]"; + mes "If you have something to ask about the Thief job, feel free to ask me."; + close; + } +} + +new_1-3,105,41,4 duplicate(NvThf) Thief Guide#nv1 118 +new_2-3,105,41,4 duplicate(NvThf) Thief Guide#nv2 118 +new_3-3,105,41,4 duplicate(NvThf) Thief Guide#nv3 118 +new_4-3,105,41,4 duplicate(NvThf) Thief Guide#nv4 118 +new_5-3,105,41,4 duplicate(NvThf) Thief Guide#nv5 118 + +// ---------------------------- Merchant Guide ------------------------------ +- script Merchant Guide#nv::NvMer 97,{ + if(job_novice_q < 16) { + mes "[Merchant Guildsman]"; + mes "You are still in the process of training with sir Brade."; + close; + } + mes "[Merchant Guildsman]"; + mes "What can I help you with?"; + next; + switch(select("Tell me about Merchants:I want to be a Merchant.:Give me a Quest.:Cancel")) { + case 1: + mes "[Merchant Guildsman]"; + mes "Merchant? Simply put, they sell goods and make money."; + mes "That's the main focus for any Merchant."; + next; + mes "[Merchant Guildsman]"; + mes "We have special skills for making money."; + mes "We can buy goods at a lower price and sell them at a higher price."; + next; + mes "[Merchant Guildsman]"; + mes "Also Merchants can have Carts that we can store lots of items in."; + next; + mes "[Merchant Guildsman]"; + mes "^8C2121Merchants can transform to a Blacksmith or an Alchemist^000000 as their second job."; + if(countitem(2823) == 0 && (getequipid(EQI_ACC_L) != 2823 || getequipid(EQI_ACC_R) != 2823)) { + next; + mes "[Merchant Guildsman]"; + mes "Do you wan to see what it's like to be a Merchant?"; + next; + if(select("I want to test Merchant skills.:I don't want to test it.") == 2) { + mes "[Merchant Guildsman]"; + mes "Hum. Do you think so?"; + mes "Ok, I agree with you. Choosing a job is very important in our life."; + mes "Just talk to me whenever you want to experience Merchant skills."; + close; + } + mes "[Merchant Guildsman]"; + mes "Here is the Merchant skill manual."; + mes "I will take other job manuals from you while I'm at it."; + next; + mes "[Merchant Guildsman]"; + mes "Here is the Merchant skill manual."; + mes "I will take other job manuals from you while I'm at it."; + callfunc "F_NvErase"; + getitem 2823,1; // Merchant_Manual + next; + mes "[Merchant Guildsman]"; + mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window."; + mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available skills."; + } + close; + + case 2: + mes "[Merchant Guildsman]"; + mes "You want to be a Merchant?"; + mes "Ok, then, I will send you to the Merchant Guild's union right away."; + next; + mes "[Merchant Guildsman]"; + mes "Wait, have you checked your Job level?"; + mes "Do you want to complete your Novice training and go straight to the Merchant Guild's union?"; + next; + if(select("I will think about it again.:Yes, I want to go to the Merchant Guild's union.") == 2) { + mes "[Merchant Guildsman]"; + mes "Welcome!!"; + mes "I will send you to the Merchant Guild's union after you complete your Novice training."; + close2; + callfunc "F_NvErase",1; + savepoint "alberta",29,231; + warp "alberta_in",62,44; + end; + } + mes "[Merchant Guildsman]"; + mes "Ok, I hope you consider being a Merchant."; + mes "We are always welcome to have you!"; + close; + case 3: + set .@quest, checkquest(7126); + if (.@quest == -1) { + mes "[Merchant Guildsman]"; + mes "Huh? Quest??"; + mes "Humm... What would be suited for you...?"; + mes "Ok, then bring me ^5d5dff300 zeny^000000 by selling some of your items to the Potato Merchant."; + next; + mes "[Merchant Guildsman]"; + mes "If you equipped the Merchant manual you have the ability to use the 'Overcharge' and 'Discount' skills."; + setquest 7126; + next; + mes "I will wait for you here."; + mes "Good luck!"; + close; + } + else if (.@quest == 1) { + if (Zeny > 299) { + mes "[Merchant Guildsman]"; + mes "Excellent!"; + mes "Zeny is the currency of Rune-Midgard."; + mes "You can make zeny by selling loot as well as through making smart business decisions."; + next; + mes "[Merchant Guildsman]"; + mes "We can use extremely powerful skills with zeny!"; + mes "Mammonite! That is our ultimate attack skill!!"; + mes "We basically paste money on the weapon and then strike the enemy. Death by Zeny! Nyahahahaha!"; + next; + mes "[Merchant Guildsman]"; + mes "By the way, you have done an excellent job. So, I should give you something... What would be good?"; + mes "Alright! What about Phracon?"; + mes "Phracon is a metallic element which you can use for refining weapons."; + completequest 7126; + getitem 1010,7; // Phracon + getexp 5000,100; + close; + } + mes "[Merchant Guildsman]"; + mes "Zeny is the currency of Rune-Midgard."; + mes "You can make zeny by selling loot as well as through making smart business decisions."; + next; + mes "[Merchant Guildsman]"; + mes "You can get loot by killing monsters. After hunting monsters, you can sell those loot to make a profit!"; + mes "What a valuable job it is! Isn't it?"; + next; + mes "[Merchant Guildsman]"; + mes "Why don't you try to be a Merchant? Making money is not easy but it will be a great experience!"; + close; + } + else if (.@quest == 2) { + mes "[Merchant Guildsman]"; + mes "You have already completed the quest."; + mes "Once you enter the main world, you can get various exciting quests there!"; + next; + mes "[Merchant Guildsman]"; + mes "I think you're strong enough now to change your job right? Hahahaha don't waste too much time here Novice."; + close; + } + mes "[Merchant Guildsman]"; + mes "I'm sorry but I don't have any quests to give you right now."; + close; + case 4: + mes "[Merchant Guildsman]"; + mes "If you have any questions about Merchants, feel free to ask me."; + mes "I think you could be a rich Merchant. AhHahaha."; + close; + } +} + +new_1-3,109,41,4 duplicate(NvMer) Merchant Guide#nv1 97 +new_2-3,109,41,4 duplicate(NvMer) Merchant Guide#nv2 97 +new_3-3,109,41,4 duplicate(NvMer) Merchant Guide#nv3 97 +new_4-3,109,41,4 duplicate(NvMer) Merchant Guide#nv4 97 +new_5-3,109,41,4 duplicate(NvMer) Merchant Guide#nv5 97 + +// ---------------------------- Archer Guide -------------------------------- +- script Archer Guide#nv::NvArc 727,{ + if(job_novice_q < 16) { + mes "[Archer Guide]"; + mes "You are still in the process of training with sir Brade."; + close; + } + mes "[Archer Guide]"; + mes "What can I help you with?"; + next; + switch(select("Tell me about Archers:I want to be an Archer:Cancel")) { + case 1: + mes "[Archer Guide]"; + mes "Archers have specialized skills by using a Bow and have a variety of powerful skills."; + mes "Archers are good at staying back and picking off their targets."; + next; + mes "[Archer Guide]"; + mes "Archers don't have great vitality so they have to keep their distance from enemies."; + next; + mes "[Archer Guide]"; + mes "On the other hand, Archers are attentive and have incredibly accurate eyes."; + mes "So once they are ready to attack, they can kill enemies before they're even aware of their presence."; + next; + mes "[Archer Guide]"; + mes "^8C2121Archers can transform to many second jobs like a Hunter.^000000"; + mes "^8C2121Besides Hunters, Archers can transform to a Bard, if they are male.^000000"; + mes "^8C2121They can transform to a Dancer, if they are female.^000000"; + if(countitem(2822) == 0 && (getequipid(EQI_ACC_L) != 2822 || getequipid(EQI_ACC_R) != 2822)) { + next; + mes "[Archer Guide]"; + mes "Do you want to register to test skill experience?"; + mes "Would you like to test Archer skills?"; + next; + if(select("I want to test Archer skills.:I don't want to test it.") == 2) { + mes "[Archer Guide]"; + mes "Hum. Do you think so."; + mes "Ok, I agree with you. Choosing a job is very important in our life."; + mes "Just talk to me whenever you want to experience Archer skills."; + close; + } + mes "[Archer Guide]"; + mes "Here is the Archer manual."; + mes "I will take the other job manuals from you while you test the Archer manual out."; + next; + mes "[Archer Guide]"; + mes "I will take the other job manuals from you while you test the Archer manual out."; + callfunc "F_NvErase"; + getitem 2822,1; // Archer_Manual + next; + mes "[Archer Guide]"; + mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window."; + mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available skills."; + } + close; + case 2: + mes "[Archer Guide]"; + mes "You want to be an Archer?"; + mes "Ok, then, I will send you to the Archer Guild right away."; + next; + mes "[Archer Guide]"; + mes "Wait, have you checked your Job level?"; + mes "Do you want to complete the Novice training arena and go to the Archer Guild right now?"; + next; + if(select("I will think about it again.:Yes, I want to go to the Archer Guild's union.") == 2) { + mes "[Archer Guide]"; + mes "Welcome!!"; + mes "I will send you to the Archer Guild after you complete your Novice training."; + close2; + callfunc "F_NvErase",1; + savepoint "payon",256,242; + warp "payon_in02",64,65; + end; + } + mes "[Archer Guide]"; + mes "Test out all the jobs if you have to but choose Archer because we're the best."; + mes "We are always welcome to have you!"; + close; + case 3: + mes "[Archer Guide]"; + mes "If you have any questions about Archers, feel free to ask me."; + mes "I think you could be a strong Archer young Novice."; + close; + } +} + +new_1-3,113,41,4 duplicate(NvArc) Archer Guide#nv1 727 +new_2-3,113,41,4 duplicate(NvArc) Archer Guide#nv2 727 +new_3-3,113,41,4 duplicate(NvArc) Archer Guide#nv3 727 +new_4-3,113,41,4 duplicate(NvArc) Archer Guide#nv4 727 +new_5-3,113,41,4 duplicate(NvArc) Archer Guide#nv5 727 + +// ---------------------------- Acolyte Guide ------------------------------- +- script Acolyte Guide#nv::NvAco 95,{ + if(job_novice_q < 16) { + mes "[Prontera Acolyte]"; + mes "You look like you are not done with Instructor Brade's lessons."; + close; + } + mes "[Prontera Acolyte]"; + mes "What can I do for you?"; + next; + switch(select("What is an Acolyte?:Job change to Acolyte:Cancel")) { + case 1: + mes "[Prontera Acolyte]"; + mes "An Acolyte is someone who worships the goddess Freya sacrificing themselves to help others."; + next; + mes "[Prontera Acolyte]"; + mes "Acolytes use supportive skills to make combat easier."; + mes "It is essential to have an Acolyte in any successful party."; + next; + mes "[Prontera Acolyte]"; + mes "^8C2121As an Acolyte, you can upgrade your future job to Priest or Monk.^000000"; + next; + mes "[Prontera Acolyte]"; + if(countitem(2821) == 0 && (getequipid(EQI_ACC_L) != 2821 || getequipid(EQI_ACC_R) != 2821)) { + next; + mes "[Prontera Acolyte]"; + mes "If you want, I can give you a skill manual to experience what it is like to be an Acolyte."; + mes "Would you like to experience the skills of an Acolyte?"; + next; + if(select("Yes, please.:No I'm not interested.") == 2) { + mes "[Prontera Acolyte]"; + mes "Hum. Do you think so."; + mes "Ok, I agree with you. Choosing a job is very important in our life."; + mes "Just talk to me whenever you want to know about Acolytes."; + close; + } + mes "[Prontera Acolyte]"; + mes "Here you go, the instruction manual of an Acolyte."; + mes "I will take away those other job's manuals while you study this one."; + next; + mes "[Prontera Acolyte]"; + mes "Here you go, the instruction manual of an Acolyte."; + mes "I will take away those other job's manuals while you study this one."; + callfunc "F_NvErase"; + getitem 2821,1; // Acolyte_Manual + next; + mes "[Prontera Acolyte]"; + mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window."; + mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimizing the window by pressing the '-' button on the top right corner of the window to see the available skills."; + } + close; + case 2: + mes "[Prontera Acolyte]"; + mes "Of course, I assume you have enough job levels to become an Acolyte right?"; + mes "Would you like to quit the Training Process and go to the Cathedral of Prontera?"; + next; + if(select("Let me reconsider.:I will go to the Cathedral.") == 2) { + mes "[Prontera Acolyte]"; + mes "That's great."; + mes "Then I will completely end the Training Process and send you to the Cathedral of Prontera."; + close2; + callfunc "F_NvErase",1; + savepoint "prontera",117,72; + warp "prt_church",172,19; + end; + } + mes "[Prontera Acolyte]"; + mes "You should try out each job's manuals."; + mes "Go through them throughly and decide carefully."; + mes "Of course, I will welcome you anytime."; + close; + case 3: + mes "[Prontera Acolyte]"; + mes "If you have any questions about Acolytes, please ask me anytime."; + mes "Our God, Odin awaits adventurers like you"; + close; + } +} + +new_1-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv1 95 +new_2-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv2 95 +new_3-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv3 95 +new_4-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv4 95 +new_5-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv5 95 + +// ---------------------------- Bruce (Extended Jobs) ----------------------- +- script Bruce#nv::NvBruce 57,{ + mes "[Bruce]"; + mes "Hello?"; + mes "I'm here to guide you about extra jobs and special classes."; + next; + mes "[Bruce]"; + mes "For special classes, there are Taekwon, Ninja, Super Novice, and Gunslinger."; + mes "Which job description do you want to hear?"; + next; + while(1) { + switch(select("Taekwon:Ninja:Super Novice:Gunslinger:End the conversation.")) { + case 1: + mes "[Bruce]"; + mes "It's a job that usually uses a lot of kicking skills."; + mes "It belongs to special class and later you can change your job into Taekwon Master which has much stronger attack skills."; + next; + mes "[Bruce]"; + mes "There is a secondary class to choose from called Soul Linker which also has strong attacks."; + mes "You can decide that later when you get stronger."; + next; + break; + case 2: + mes "[Bruce]"; + mes "Ninja's specialty is rapid movement."; + mes "They specialize in using throwing weapons."; + next; + mes "[Bruce]"; + mes "Ninjas are kind of a hybrid class that can use various dodge skills with the capability of both physical and magical attacks depending on their preference."; + next; + break; + case 3: + mes "[Bruce]"; + mes "The biggest attraction of the stronger Novice, called Super Novice, is their pull to mediocrity."; + mes "They are the proverbial Jack-of-all-Trades but Master of none."; + next; + mes "[Bruce]"; + mes "Super Novices can learn most of the 1st job class skills."; + mes "If you become a Super Novice, you cannot change your job, which is too bad, but you can grow as a very individual character."; + next; + break; + case 4: + mes "[Bruce]"; + mes "You can job change directly from Novice to a special class which is optimized for a long-distance attack with guns."; + next; + mes "[Bruce]"; + mes "Gunslingers use all kinds of guns made in 'Einbroch', the city of steel."; + mes "I recommend this for those who want to become powerful sharpshooters."; + next; + break; + case 5: + mes "[Bruce]"; + mes "If you need more information, you can always go to"; + mes "'iro.ragnarokonline.com'"; + close; + } + } +} + +new_1-3,121,41,4 duplicate(NvBruce) Bruce#nv1 57 +new_2-3,121,41,4 duplicate(NvBruce) Bruce#nv2 57 +new_3-3,121,41,4 duplicate(NvBruce) Bruce#nv3 57 +new_4-3,121,41,4 duplicate(NvBruce) Bruce#nv4 57 +new_5-3,121,41,4 duplicate(NvBruce) Bruce#nv5 57 + +//============================================================================ +// Eden Group Officer (Real Combat Training) +//============================================================================ +- script Eden Group Officer#nv::NvEdn -1,{ + if(BaseLevel < 10) { + mes "[Eden Group Officer]"; + mes "Hello, I am a representative of the Eden Group."; + mes "We are here to assist adventurers in Rune Midgard."; + next; + mes "[Eden Group Officer]"; + mes "We have agents all over the world waiting to send you to our secret headquarters where you can get some useful quests."; + next; + mes "[Eden Group Officer]"; + mes "If you take our quests we even give you weapons and equipment so be sure to visit us once you are done with your training."; + next; + mes "[Eden Group Officer]"; + mes "Speak to me again once you have reached Base Level 10 and I will send you out of the training grounds."; + mes "Have you taken the quests from all of the Guides yet?"; + close; + }else{ + mes "[Eden Group Officer]"; + mes "Great! You are ready to take on the challenges of the world."; + mes "What would you like to do?"; + next; + switch(select("I want to leave the training grounds:Tell me about the towns.:Cancel")) { + case 1: + mes "[Eden Group Officer]"; + mes "Looks like you are ready."; + mes "I guess you have made up your mind, huh?"; + next; + mes "[Eden Group Officer]"; + mes "If you know what job you want to change to, you should ask the ^4A4AFFJob Guides^000000 to send you out of the training grounds."; + mes "What town would you like to go to?"; + next; + switch(select("Prontera:Morocc:Payon:Alberta:Geffen:Cancel")) { + case 1: + mes "[Eden Group Officer]"; + mes "Prontera, the Capital city of the Rune-Midgarts Kingdom."; + mes "Take care and may Freya bless you on your journey."; + callsub S_Warp,"prontera",121,77,121,76; + case 2: + mes "[Eden Group Officer]"; + mes "The desert city of Morocc was recently destroyed."; + mes "I will send you to the camp where the survivors are."; + callsub S_Warp,"moc_ruins",71,157,70,158; + case 3: + mes "[Eden Group Officer]"; + mes "Just north of Payon you'll find the Archer Village."; + mes "Good luck on your journeys."; + callsub S_Warp,"payon",167,68,172,111; + case 4: + mes "[Eden Group Officer]"; + mes "Alberta, the Port City."; + mes "It's the main hub of all trades."; + mes "If you want to travel to other civilizations, Alberta is the only outlet."; + callsub S_Warp,"alberta",115,57,116,58; + case 5: + mes "[Eden Group Officer]"; + mes "Geffen, is known as the Magical City of Rune Midgard."; + mes "I will send you near the Fountains."; + mes "Goddess Freya bless you."; + callsub S_Warp,"geffen",118,36,128,66; + case 6: + mes "[Eden Group Officer]"; + mes "If you're still not sure what job you want, talk to the Job Guides for more help."; + close; + } + case 2: + mes "[Eden Group Officer]"; + mes "Prontera is the main capital of the Rune-Midgard Kingdom. Here you will find Merchants selling their items and is a favorite gathering point of adventurers."; + next; + mes "[Eden Group Officer]"; + mes "The Acolyte Guild is here at the Prontera Church located to the northwest. The Swordman Guild can be found at Izlude, a town just southeast of Prontera."; + next; + mes "[Eden Group Officer]"; + mes "Morocc is a city located in the desert that was recently destroyed due to an evil monster named Satan Morroc. The Thief Guild has been working to restore it to it's former glory."; + next; + mes "[Eden Group Officer]"; + mes "Payon is where the Archer Guild has made it's home. You can also find the Kafra Shop Employees selling their Item Mall items near the center of this city."; + next; + mes "[Eden Group Officer]"; + mes "Alberta is the trading hub of Rune Midgard. The Merchant Guild is located here and the docks have ships that will take you to different island cities."; + next; + mes "[Eden Group Officer]"; + mes "Geffen is known as the magical city of Rune Midgard. The Mage Guild is located here and research for new magic is always being conducted at their headquarters."; + next; + mes "[Eden Group Officer]"; + mes "If you wish to be sent directly to the Job Guilds, then speak to the Job Guides and tell them that you want to change your job."; + close; + case 3: + close; + } + } + +S_Warp: + close2; + callfunc "F_NvErase",1; + savepoint getarg(0),getarg(1),getarg(2); + warp getarg(0),getarg(3),getarg(4); + end; + +OnTouch: + emotion e_gasp; + end; +} + +new_1-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv1 729,5,5 +new_2-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv2 729,5,5 +new_3-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv3 729,5,5 +new_4-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv4 729,5,5 +new_5-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv5 729,5,5 + +// Merchant (Real Combat Training) +//============================================================ +- shop Merchant#nv::NvPotato 93,516:15 + +new_1-3,100,50,4 duplicate(NvPotato) Merchant#nv1 93 +new_2-3,100,50,4 duplicate(NvPotato) Merchant#nv2 93 +new_3-3,100,50,4 duplicate(NvPotato) Merchant#nv3 93 +new_4-3,100,50,4 duplicate(NvPotato) Merchant#nv4 93 +new_5-3,100,50,4 duplicate(NvPotato) Merchant#nv5 93 + +// Trainer (Real Combat Training) +//============================================================ +- script Level 1 Trainer#nv::NvBrutus 84,{ + mes "[Trainer Brutus]"; + mes "These monsters are all weak and easy to kill. But be careful, a lot of them are aggressive and out for blood!"; + next; + mes "[Trainer Brutus]"; + mes "If you think monsters here are too weak for you, I can send you to another training ground where the monsters are stronger than the ones over here."; + next; + mes "[Trainer Brutus]"; + mes "So would you like to try?"; + next; + switch(select("Send me to another Level:What monsters are there?:Cancel")) { + case 1: + mes "[Trainer Brutus]"; + mes "I see, then let me guide you to another level. Which level do you want to go to?"; + next; + for(set .@i,1; .@i<6; set .@i,.@i+1) { + if (!compare(strnpcinfo(2),"nv"+.@i)) + set .@menu$, .@menu$+"Send me to Level "+.@i; + set .@menu$, .@menu$+":"; + } + set .@i, select(.@menu$+"Cancel"); + if (.@i < 7) warp "new_"+.@i+"-3",96,21; + close; + case 2: + mes "[Trainer Brutus]"; + mes "You seem eager to fight."; + mes "The monster levels increase with each level of the training grounds."; + next; + mes "[Trainer Brutus]"; + mes "Level 1 has the weakest monsters."; + mes "There you'll find Poring, Drops, Lunatics, Fabres, and Chonchons."; + next; + mes "[Trainer Brutus]"; + mes "Level 2 is more challenging."; + mes "There you'll find Condors, Pickys, Willows, Fabres, and Roda Frogs."; + next; + mes "[Trainer Brutus]"; + mes "Level 3 is pretty much the same as Level 2."; + mes "There you'll find Condors, Pickys, Willows, Fabres, and Roda Frogs."; + next; + mes "[Trainer Brutus]"; + mes "Level 4 has stronger monsters."; + mes "There you'll find Rockers, Spores, and Fabres."; + next; + mes "[Trainer Brutus]"; + mes "Level 5 is the same as Level 4."; + mes "There you'll find Rockers, Spores, and Fabres."; + close; + case 3: + mes "[Trainer Brutus]"; + mes "Hmm...?"; + mes "Are you worried about going to more challenging places? That's understandable, since you're still a new adventurer. Good luck~"; + close; + } +} + +new_1-3,103,50,4 duplicate(NvBrutus) Level 1 Trainer#nv1 84 +new_2-3,103,50,4 duplicate(NvBrutus) Level 2 Trainer#nv2 84 +new_3-3,103,50,4 duplicate(NvBrutus) Level 3 Trainer#nv3 84 +new_4-3,103,50,4 duplicate(NvBrutus) Level 4 Trainer#nv4 84 +new_5-3,103,50,4 duplicate(NvBrutus) Level 5 Trainer#nv5 84 + +// Random Stuff (Guards & Bulletin Board) +//============================================================ +new_1-1,66,114,4 script Bulletin Board#nv 111,{ + mes "^FF0000=================================^000000"; + mes "^FF0000 ^000000 ^E40CAA[Welcome]^CC0000 to ^FF9000Novice^7FFF00 Training ^00FF00Grounds ^E40CAA[Welcome]^FF0000^000000"; + mes "^FF0000=================================^000000"; + close; +} + +new_1-1,144,116,2 script Guard#nv1 105,{ + mes "[Training Grounds Guard]"; + mes "Welcome to the Training Grounds."; + mes "You are now in the outer court yard. Please go inside the castle to begin your training."; + close; +} + +new_1-1,144,107,2 script Guard#nv2 105,{ + mes "[Training Grounds Guard]"; + if(rand(2)) { + mes "Come in!"; + mes "I would like to welcome you to the Training Grounds!"; + next; + mes "[Training Grounds Guard]"; + mes "In here, you can prepare yourself for your future adventures throughout the Ragnarok world!"; + } + else { + mes "Go, Novice, go!"; + mes "Fight, and grow stronger! Look towards a brighter tomorrow!"; + } + close; +} + +new_1-2,161,182,5 script Instructor#nv 92,{ + mes "[Edwin]"; + mes "Eh? Why are you still here?"; + mes "There are no more courses that you need to take."; + next; + mes "[Edwin]"; + mes "Well, I will let you out of here."; + mes "Go find the instructor, Brade."; + close2; + warp "new_1-2",100,100; + end; +} + +// Real Combat Training Mobs +//============================================================ +new_1-3,0,0,0,0 monster ChonChon 1011,10,0,0,0 +new_1-3,0,0,0,0 monster Drops 1113,10,0,0,0 +new_1-3,0,0,0,0 monster Fabre 1184,5,0,0,0 +new_1-3,0,0,0,0 monster Lunatic 1063,10,0,0,0 +new_1-3,0,0,0,0 monster Poring 1002,10,0,0,0 +new_2-3,0,0,0,0 monster Condor 1009,10,0,0,0 +new_2-3,0,0,0,0 monster Fabre 1184,5,0,0,0 +new_2-3,0,0,0,0 monster Picky 1050,10,0,0,0 +new_2-3,0,0,0,0 monster Roda Frog 1012,10,0,0,0 +new_2-3,0,0,0,0 monster Willow 1010,10,0,0,0 +new_3-3,0,0,0,0 monster Condor 1009,10,0,0,0 +new_3-3,0,0,0,0 monster Fabre 1184,5,0,0,0 +new_3-3,0,0,0,0 monster Picky 1050,10,0,0,0 +new_3-3,0,0,0,0 monster Roda Frog 1012,10,0,0,0 +new_3-3,0,0,0,0 monster Willow 1010,10,0,0,0 +new_4-3,0,0,0,0 monster Fabre 1184,5,0,0,0 +new_4-3,0,0,0,0 monster Rocker 1052,10,0,0,0 +new_4-3,0,0,0,0 monster Spore 1014,10,0,0,0 +new_4-3,0,0,0,0 monster Thief Bug 1051,10,0,0,0 +new_4-3,0,0,0,0 monster Thief Bug 1053,10,0,0,0 +new_5-3,0,0,0,0 monster Fabre 1184,5,0,0,0 +new_5-3,0,0,0,0 monster Rocker 1052,10,0,0,0 +new_5-3,0,0,0,0 monster Spore 1014,1,0,0,0 +new_5-3,0,0,0,0 monster Thief Bug 1051,1,0,0,0 +new_5-3,0,0,0,0 monster Thief Bug 1053,1,0,0,0
\ No newline at end of file diff --git a/npc/re/jobs/novice/supernovice_ex.txt b/npc/re/jobs/novice/supernovice_ex.txt new file mode 100644 index 000000000..5687c0768 --- /dev/null +++ b/npc/re/jobs/novice/supernovice_ex.txt @@ -0,0 +1,691 @@ +//===== rAthena Script ======================================= +//= Expanded Super Novice Job Quest +//===== By: ================================================== +//= Euphy +//===== Current Version: ===================================== +//= 1.1a +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Job Change quest for Expanded Super Novice class. +//===== Additional Comments: ================================= +//= 1.0 All dialogue is custom, contains some incorrect behaviors. +//= 1.1 Switched to a translated copy of the official script +//= by Gennosuke Kouga, but vastly edited its content. [Euphy] +//= 1.1a Replaced effect numerics with constants. [Euphy] +//============================================================ + +function script Esseray_Ex { + if (BaseLevel > 98 && JobLevel > 98) { + if (EXSUPNOV_Q > 0 && EXSUPNOV_Q < 6) { + mes "[Esseray]"; + mes "A legend in the Novice world has disappeared to do something in Comodo."; + mes "You should find him."; + next; + mes "[Esseray]"; + mes "He can guide you along"; + mes "the correct path..."; + close; + } + mes "[Esseray]"; + mes "Oh? Are you one of our Novice Society?"; + mes "You're looking good."; + next; + mes "[Esseray]"; + mes "You look full of energy..."; + mes "You seem strong enough to endure the test."; + next; + mes "[Esseray]"; + mes "I know a way to become stronger. Are you willing you try it?"; + next; + if(select("No, I'm okay now.:I want to be stronger!") == 1) { + mes "[Esseray]"; + mes "If you are satisfied with mediocrity, I can't help you."; + mes "Live a normal life then."; + close; + } + mes "[Esseray]"; + mes "Good!"; + mes "A legend in the Novice world has disappeared to do something in Comodo."; + mes "You should find him."; + next; + setquest 5092; + set EXSUPNOV_Q,1; + mes "[Esseray]"; + mes "He can guide you along"; + mes "the correct path..."; + close; + } + else return; +} + +beach_dun2,119,92,4 script Fishing Novice#sp2 567,{ + if (checkquest(5092) >= 0) { + mes "[Fishing Novice]"; + mes "Sh --------- !!"; + mes "Be quiet please."; + mes "You'll scare the fish."; + next; + select("Hmm... 'scuse me..."); + mes "[Fishing Novice]"; + mes "Aaaaaaak!!"; + mes "What are you doing?"; + mes "I told you be quiet!"; + mes "They're swimmin' away bacause of the noise~"; + next; + mes "[Fishing Novice]"; + mes "(-- sh--aking --)"; + mes "Who... are you?"; + mes "Why are you disrupting my fishing?"; + next; + select("I have a delivery from Esseray..."); + emotion e_hmm; + mes "[Fishing Novice]"; + mes "What? Esseray? Esseray?"; + mes "Hmm! I know him..."; + mes "Esseray... Esseray... hmm."; + next; + emotion e_dots,1; + emotion e_dots; + mes ".................."; + next; + emotion e_gasp; + mes "[Fishing Novice]"; + mes "Ahhhh --- !! ----- Ahhhh ---!!"; + mes "Got it! --- Got it!"; + mes "^0000FFA member of Novice Society in Aldebaran.^000000"; + mes "Esseray, right? Wrong?"; + next; + if(select("No he isn't:Yes, right") == 2) { + mes "[Fishing Novice]"; + mes "Hu hu~ my sense is still alive..."; + next; + mes "[Fishing Novice]"; + mes "So what do you want from me?"; + } + else { + mes "[Fishing Novice]"; + mes "What?! He isn't?"; + mes "Then where is Esseray from?"; + next; + emotion e_dots,1; + emotion e_dots; + mes ".... .... .... ...."; + next; + mes "[Fishing Novice]"; + mes "What -------- !!"; + mes "That isn't important, right?"; + next; + mes "[Fishing Novice]"; + mes "Then -------- !!"; + mes "Why did you come here?"; + } + next; + mes "- You explain why you're here. -"; + next; + emotion e_hmm; + mes "[Fishing Novice]"; + mes "Hmm... it is an easy and hard question at the same time."; + next; + mes "- You hear a voice complaining about something. -"; + next; + emotion e_an; + mes "[Fishing Novice]"; + mes "Esseray! Such a son of a %@&$# spoiling my vacation..."; + next; + mes "[Fishing Novice]"; + mes "Haaaaa~"; + mes "My poor life~"; + mes "Ahhh~ so many problems."; + next; + emotion e_what; + mes "[Fishing Novice]"; + mes "Too ~ hard. Hey, little kid!"; + mes "What's your name?"; + next; + select(strcharinfo(0)+", how about you?"); + mes "[Nodor]"; + mes "My name is Nodor! Nodor."; + next; + mes "[Nodor]"; + mes ".... .... ....."; + next; + mes "[Nodor]"; + mes "Hey! I can see what you are thinking about in your face~"; + next; + mes "[Nodor]"; + mes "Since my name is Nodor I've been made fun of my whole life."; + mes "Condor and Odor..."; + mes "Don't try to fool me."; + next; + changequest 5092,5093; + mes "[Nodor]"; + mes "Whatever the reason is... you are here!"; + mes "Let's get together to go further."; + mes "Come again after a while~"; + next; + mes "- Talk to him again. -"; + close; + } + else if (checkquest(5093) >= 0) { + mes "[Nodor]"; + mes "Emmhmm ----- !!"; + next; + mes "- Nodor gives you a suspicious look. -"; + next; + mes "[Nodor]"; + mes "Didn't you know that the ^0000FFSuper Novice^000000 was excellent?"; + next; + mes "- Nodor asks with confidence. -"; + next; + mes "[Nodor]"; + mes "Hey! Super Novice~"; + mes "Do you know who I am?"; + next; + select("What are you talking about?!"); + mes "[Nodor]"; + mes "Heh..."; + mes "You've got a lot of nerve, don't you?"; + next; + select("... ..... ..."); + mes "- This guy is a weirdo. -"; + next; + mes "[Nodor]"; + mes "Hey! Super Novice ~"; + mes "I will make you stronger!"; + mes "So will you believe what I tell you?"; + next; + if(select("I won't follow you.:Why not? kehehe~") == 1) { + mes "[Nodor]"; + mes "Refusing? Don't you want to be strong?"; + mes "I'd love to do nothing too."; + mes "Just let me fish if you want to go."; + close; + } + mes "[Nodor]"; + mes "Emmhmm~ Do I sound harsh?"; + mes "Hmm, I can't help using such words."; + next; + mes "[Nodor]"; + mes "Don't sweat it."; + mes "It's no problem for me to teach you to be stronger."; + next; + mes "[Nodor]"; + mes "Great~!"; + mes "What is your issue?"; + mes "You don't know how to be stronger. Right?"; + next; + select("Yes, I can't get stronger."); + emotion e_hmm; + mes "[Nodor]"; + mes "Hhhmmm ~!"; + mes "There's a way to do it..."; + mes "It is dangerous, but I can"; + mes "tell you how."; + next; + mes "[Nodor]"; + mes "I'll only do this on one condition. You do not ask anything and you do everything I tell you!"; + mes "How about it?"; + mes "Are you willing to do this?"; + next; + if(select("No, I will not!:Let's do this!") == 1) { + mes "[Nodor]"; + mes "To be strong is the only way to live!"; + mes "Do you want to be a weakling forever?"; + next; + mes "[Nodor]"; + mes "I will give you a tip."; + mes "You can't always be right."; + mes "Sometimes you need to check your ego and listen to others."; + emotion e_an; + close; + } + mes "[Nodor]"; + mes "All right --------- !!"; + mes "Your passion will make you stronger."; + mes "You calm?"; + next; + mes "[Nodor]"; + mes "What I want you to do is..."; + mes "Hunt 1,000 monsters."; + next; + mes "[Nodor]"; + mes "Do you know what this is for?"; + next; + setarray .@Monsters$[0],"Poring","Lunatic","Fabre","Picky"; + set .@i, rand(4); + changequest 5093,5094+.@i; + mes "[Nodor]"; + mes "You know what a ^FF0000"+.@Monsters$[.@i]+"^000000 monster is, right?"; + next; + mes "[Nodor]"; + mes "Hunt 1,000!"; + mes "Do not say you can't do this!"; + mes "I know that's a lot of monsters, but they're so weak!"; + next; + select("Are you kidding me?"); + mes "[Nodor]"; + mes "Huh huh~!"; + mes "Rembember, no questions!"; + mes "Don't come back until you've hunted 1,000."; + close; + } + else if (checkquest(5094) >= 0 || checkquest(5095) >= 0 || checkquest(5096) >= 0 || checkquest(5097) >= 0) { + mes "["+strcharinfo(0)+"]"; + mes "Hey, Nodor!"; + next; + emotion e_omg; + mes "[Nodor]"; + mes "Oh my god!"; + mes "So frightened... let me see?"; + next; + if (checkquest(5094,HUNTING) != 2 && checkquest(5095,HUNTING) != 2 && checkquest(5096,HUNTING) != 2 && checkquest(5097,HUNTING) != 2) { + mes "[Nodor]"; + mes "Hey! Super Novice!"; + mes "Didn't I say to hunt 1,000?"; + mes "Don't come back until you have."; + close; + } + mes "[Nodor]"; + mes "Have you hunted all 1,000 already?"; + next; + mes "[Nodor]"; + mes "You are better than I thought."; + mes "Anyway, what was the monster that I told you to hunt?"; + next; + set .@i, select("Poring:Lunatic:Fabre:Picky:Baphomet")-1; + if (.@i == 4) { + mes "[Nodor]"; + mes "Heheh? Can you seriously hunt Baphomet alone?"; + mes "Don't tell a lie!! I will hit you!!"; + close; + } + if (checkquest(5094+.@i,HUNTING) != 2) { + mes "[Nodor]"; + mes "Don't tell a lie!"; + mes "I didn't tell you to hunt this!"; + close; + } + changequest 5094+.@i,5098; + emotion e_heh; + mes "[Nodor]"; + mes "keheheheheheh~"; + next; + mes "[Nodor]"; + mes "You annoyed me so I made you do this task..."; + next; + mes "[Nodor]"; + mes "Wow! You actually hunted all 1,000?"; + mes "I guess I can't question your passion to be stronger."; + next; + mes "[Nodor]"; + mes "Okay! So far so good."; + mes "I will let you know how to overcome your strength deficiencies."; + close; + } + else if (checkquest(5098) >= 0) { + if (rand(10) != 1) { + mes "[Nodor]"; + mes "Oh! You already came here?"; + mes "Didn't you say you have something to handle?"; + mes "You have enough passion but..."; + mes "you need to learn patience."; + close; + } + emotion e_gg; + mes "[Nodor]"; + mes "Hhhhhhhhhh~"; + next; + mes "[Nodor]"; + mes "Oh sorry! Sorry!"; + mes "I got a letter from my brother a long time ago, will you read my letter for your information?"; + next; + if(select("Yes, I will:No, I won't") == 2) { + mes "[Nodor]"; + mes "You should read more!"; + next; + } + else { + mes "["+strcharinfo(0)+"]"; + mes "Tsk*... Ok..."; + next; + } + mes "- He throws a bundled letter at you. -"; + next; + mes "Dear Bro. Nodor,"; + mes " "; + mes "Hey Bro, it's your brother Nudor. How have you been? The reason I'm writing this letter is..."; + mes "I need money for food. You've got so much money, so help me out."; + next; + mes "If you don't... Remember last time you %$&*@*&%$..."; + mes "- The letter is crumpled, so you can't read more. -"; + mes "I'm still in the Schwaltzvalt Republic."; + mes "~ Nudor"; + next; + mes "- You get an uneasy feeling from reading this letter. -"; + next; + mes "[Nodor]"; + mes "Hu~u~"; + mes "Hmm, I only have one brother and he's always asking for money."; + mes "It's got to be my fame... T_T"; + next; + mes "- Now you really have an uneasy feeling. -"; + next; + changequest 5098,5099; + mes "[Nodor]"; + mes "Hey- Super Novice "+strcharinfo(0)+"!"; + next; + mes "[Nodor]"; + mes "You can give some to my bro. He's up in the airship."; + close; + } + else if (checkquest(5099) >= 0) { + mes "[Nodor]"; + mes "Have you visited already?"; + next; + select("How much money should I give?"); + mes "[Nodor]"; + mes "Oh, you didn't go there yet?"; + mes "Give him a little, ya~"; + next; + mes "[Nodor]"; + mes "100,000 zeny is okay~"; + mes "1,000,000 zeny is okay~"; + mes "10,000,000 zeny is okay~"; + close; + } + else if (checkquest(5100) >= 0) { + if (EXSUPNOV_Q_ == 3) set .@str$,"300,000"; + else if (EXSUPNOV_Q_ == 4) set .@str$,"1,000,000"; + else set .@str$,"100,000"; + mes "[Nodor]"; + mes "Hey, have you gone there?"; + mes "I got another message from my bro."; + next; + mes "Bro, someone gave me..."; + mes .@str$+" Zeny."; + mes "You do care about me..."; + mes "~ Nudor"; + next; + select("He seemed so hungry..."); + mes "[Nodor]"; + mes "By the way..."; + mes .@str$+" Zeny is so little considering my celebrity status, don't you think?"; + next; + select("Eh....."); + mes "[Nodor]"; + mes "Anyway~"; + mes .@str$+" Zeny..."; + mes "Don't you think you gave him too little? My reputation is gonna take a hit now."; + next; + select("Hey..."); + mes "[Nodor]"; + mes "Wow, you've got my point already?"; + next; + mes "[Nodor]"; + mes "I think you are right."; + mes "This test is about your ability to open someone else's sympathy."; + next; + mes "[Nodor]"; + mes "I mean your consuming habit and your gut..."; + mes "Hahahaha!"; + next; + select("Hey, that's not my..."); + mes "[Nodor]"; + mes "Hmm? Ah..."; + mes "I almost forgot to tell"; + mes "you how to exceed your limit,"; + mes "didn't I?"; + next; + mes "[Nodor]"; + mes "Eh-hem! I was not just killing time after I sent you!!"; + next; + emotion e_omg; + mes "[Nodor]"; + mes "What the? --- ah? --- !!"; + next; + select("??????"); + emotion e_swt; + mes "[Nodor]"; + mes "Watch out!! A bunch of Golems are running after us!"; + mes "We... have to run...!!!"; + next; + emotion e_omg,1; + if(select("What?!:Um?") == 2) { + mes "- You look around, and -"; + mes "- there is nothing behind you. -"; + mes "- When you are about to doubt... -"; + } + else { + mes "- You ask Nodor once -"; + mes "- again in your fright... -"; + } + next; + if (SkillPoint) { + mes "[Nodor]"; + mes "You've still got some skill points that aren't used up."; + mes "I can't make you stronger until you use those points."; + close; + } + specialeffect2 EF_LORD; + specialeffect2 EF_SIGHTRASHER; + specialeffect2 EF_STORMGUST; + erasequest 5100; + mes "[Nodor]"; + mes "Haha ------------- !!"; + mes "----- uhhahaha----- !!"; + mes "------------ yay -- !!"; + next; + nude; + callfunc "F_ClearJobVar"; // -- Clears all job variables for the current player + jobchange roclass(eaclass()|EAJL_THIRD); + set EXSUPNOV_Q,5; + emotion e_heh; + mes "[Nodor]"; + mes "Puhahahahahahahahahahah!!"; + mes "Good! You scared yet?"; + next; + select("... ... ..."); + emotion e_dots,1; + emotion e_sry; + mes "[Nodor]"; + mes "Sorry for scaring you!"; + mes "I think our duty and mission as Novices is to make days joyful."; + next; + mes "[Nodor]"; + mes "Well then, don't you feel something just changed?"; + mes "Feel your body lighter than before...?"; + mes "Or more powerful?"; + next; + select("...? ...? ...?"); + emotion e_what,1; + mes "[Nodor]"; + mes "Oh--- My--- (tut,tut,tut)!!"; + next; + emotion e_hmm; + mes "[Nodor]"; + mes "Mr. Sieu Ngu --"; + mes "Not to be mean, but"; + mes "you are a little dull..."; + mes "Don't you feel different now?"; + next; + if(select("What are you talking about?:I got it!") == 1) { + mes "[Nodor]"; + mes "Eh--- right, you are dull, aren't you?"; + mes "You already exceeded your limit."; + next; + mes "[Nodor]"; + mes "You can be stronger than before."; + mes "Wasn't it your dream?"; + next; + } + mes "[Nodor]"; + mes "Ok~!"; + mes "Now march to the world and live as a Novice and enjoy your free, happy life!"; + mes "That's it!"; + close; + } + else if (EXSUPNOV_Q == 5) { + mes "[Nodor]"; + mes "(Pouting) ------------- !!"; + mes "So you're finally back."; + next; + mes "[Nodor]"; + mes "To celebrate this new Novice comrade, I've prepared some equipment to give you --"; + next; + mes "[Nodor]"; + mes "Don't forget to make sure that you have enough ^FF0000inventory^000000 to take these items from me."; + mes "And don't say I didn't warn you either."; + next; + if(select("Yes, let me check my inventory.:I'm good, show me.") == 1) { + mes "[Nodor]"; + mes "Well, well!"; + mes "You know! Have no regrets."; + close; + } + mes "[Nodor]"; + mes "There are what I used to wear when I was younger,"; + mes "but they are still good."; + if (EXSUPNOV_Q_ == 3) getitem 2522,1; // Undershirt + else if (EXSUPNOV_Q_ == 4) { + getitem 2628,1; // Novice Armlet [1] + getitem 2113,1; // Novice Shield [1] + getitem 2416,1; // Novice Shoes [1] + getitem 5119,1; // Super Novice Hat [1] + getitem 2512,1; // Novice Manteau [1] + getitem 2340,1; // Novice Breastplate [1] + } + else getitem 2340,1; // Novice Breastplate [1] + next; + select("Second-hand stuff, huh?"); + mes "[Nodor]"; + mes "Give them back to me."; + mes "How can you react like that when I offer you my possessions?"; + next; + mes "[Nodor]"; + mes "I..."; + mes "I can't take back what I already gave away."; + next; + mes "[Nodor]"; + mes "Now I am going to say greetings again."; + next; + specialeffect2 EF_RECOVERY; + mes "[Nodor]"; + mes "Let Super Novice "+strcharinfo(0)+" be blessed with the Super Novice Guardian!"; + set EXSUPNOV_Q,6; + close; + } + else if (EXSUPNOV_Q > 5) { + mes "[Nodor]"; + mes "Don't forget that you are a Novice."; + mes "Be a Novice always!"; + mes "The aim of life is to have a nice and normal time!"; + close; + } + mes "[Fishing Novice]"; + mes "Hush!"; + mes "Please be quiet because you'll"; + mes "scare all the fish away."; + close; +} + +airplane,33,47,5 script Nudor#sp2 729,{ + if (checkquest(5099) >= 0) { + mes "[Nudor]"; + mes "Ahhh~ I have no money to buy any food."; + mes "I'm hungry, but I have no idea when Brother is coming..."; + next; + select("Hey, are you... Mr. Nudor?"); + mes "[Nudor]"; + mes "Eeeeeh?! Who wants to know?"; + mes "Do I know you?"; + next; + mes "- You explain to Nudor why you have come to see him. -"; + next; + mes "[Nudor]"; + mes "Aha! You've come to give me some pocket money in place of my bro~"; + next; + mes "[Nudor]"; + mes "Wowowow~~ How much did he give you?"; + next; + mes "- Nudor stares with twinkling -"; + mes "- eyes, holding out his hands. -"; + mes "- How much do you want to give? -"; + next; + set .@i, select("I have no money:Give 100,000 Zeny:Give 300,000 Zeny:Give 1,000,000 Zeny:Give all the money you have"); + mes "[Nudor]"; + if (.@i == 1) { + mes "- crying -"; + mes "I hate Nodor --- !"; + mes "I hate you too --- !"; + close2; + warp "airplane",70,93; + end; + } + else if (.@i < 5) { + switch(.@i) { + case 2: set .@str$,"100,000"; set .@n,100000; break; + case 3: set .@str$,"300,000"; set .@n,300000; break; + case 4: set .@str$,"1,000,000"; set .@n,1000000; break; + } + mes "Lovely~~ Did he give you "+.@str$+" Zeny? That's pretty much!"; + next; + if (Zeny < .@n) { + mes "[Nudor]"; + mes "What? But where is "+.@str$+" Zeny?"; + close; + } + } + else { + mes "Oh... oh my gosh, are you really giving me all the Zeny you have? Really?"; + next; + if(select("No, not really...:Give it all") == 1) { + mes "[Nudor]"; + mes "Pshaw! How disappointing!"; + close; + } + if (!Zeny) { + mes "[Nudor]"; + mes "Eh? But you don't have any money. You're so poor, huh?"; + close; + } + set .@n,Zeny; + } + mes "[Nudor]"; + mes "Woa~!! "+.@n+" Zeny! This helped me so much~ Tehee~"; + mes "I can't believe it..."; + changequest 5099,5100; + set Zeny, Zeny - .@n; + if (.@i < 5) set EXSUPNOV_Q_, .@i; + else { + if (.@n > 1000000) set EXSUPNOV_Q_,4; + else if (.@n > 300000) set EX_SUPNOV_Q_,3; + else set EXSUPNOV_Q_,2; + } + next; + mes "[Nudor]"; + if (Sex) mes "Did you know? You're really handsome~"; + else mes "I need to tell you, you are really... really~ beautiful."; + next; + mes "[Nudor]"; + mes "- You feel like you're being -"; + mes "- tricked, so go back to Nodor. -"; + close; + } + else if (checkquest(5100) >= 0) { + mes "[Nudor]"; + mes "I cannot believe that my bro sent me money... I love it~"; + next; + mes "[Nudor]"; + mes "Ooooops!"; + mes strcharinfo(0)+", hush --- !!"; + next; + mes "[Nudor]"; + mes "Don't tell Nodor about this~~"; + close; + } + mes "[Nudor]"; + mes "Ahhh~ I have no money to buy any food."; + mes "I'm hungry, but I have no idea when Brother is coming..."; + close; +} diff --git a/npc/re/kafras/kafras_brasilis.txt b/npc/re/kafras/kafras_brasilis.txt new file mode 100644 index 000000000..b495c1ec8 --- /dev/null +++ b/npc/re/kafras/kafras_brasilis.txt @@ -0,0 +1,31 @@ +//===== rAthena Script ======================================= +//= Brasilis Kafra +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena 1.0 +//===== Description: ========================================= +//= Description of argument settings for callfunc "F_Kafra". +//= arg(0): When set at 0 the default Kafra message is displayed. +//= When set to 1 the Niflhiem Kafra message is displayed. +//= When set to 2 the Guild Kafra message is displayed. +//= arg(1): Set to 1 to disable teleport menu option. Otherwise set to 0. +//= arg(2): Set to 1 to disable info menu. Otherwise set to 0. +//= arg(3): Cost of Storage service +//= arg(4): Cost of Rent a Pushcart service +//===== Additional Comments: ================================= +//= 1.0 First version. +//= 1.1 Updated save point coordinates. +//= 1.2 Removed custom text. [Daegaladh] +//============================================================ + +brasilis,197,221,4 script Kafra Employee::kaf_bra 117,{ + cutin "kafra_01",2; + callfunc "F_Kafra",0,3,0,80,700; + + M_Save: + savepoint "brasilis",195,259; + callfunc "F_KafEnd",0,1,"in the city of Brasilis"; +} diff --git a/npc/re/kafras/kafras_izl.txt b/npc/re/kafras/kafras_izl.txt new file mode 100644 index 000000000..96bf3e2ef --- /dev/null +++ b/npc/re/kafras/kafras_izl.txt @@ -0,0 +1,15 @@ +//===== rAthena Script ======================================= +//= New Izlude Kafras +//===== By: ================================================== +//= Daegaladh +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Izlude Kafras with renewal coordinates. +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +izlude,128,148,6 duplicate(kaf_izlude) Kafra Employee 117 diff --git a/npc/re/merchants/3rd_trader.txt b/npc/re/merchants/3rd_trader.txt new file mode 100644 index 000000000..1fac05c49 --- /dev/null +++ b/npc/re/merchants/3rd_trader.txt @@ -0,0 +1,230 @@ +//===== rAthena Script ======================================= +//= 3rd Item Seller +//===== By: ================================================== +//= Masao, Mercurial +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Sells some 3rd Job related items. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Optimized Poison Herb Salesman NPC +//= 1.2 Optimized and standardized. [Euphy] +//============================================================ + +job3_guil01,79,96,3 script Poison Herb Salesman::PHS 877,{ + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 20000) { + mes "- Wait a minute !! -"; + mes "- Currently you're carrying -"; + mes "- too many items with you. -"; + mes "- Please try again -"; + mes "- after you lose some weight. -"; + close; + } + mes "[Poison Herb Salesman]"; + mes "I am the professional"; + mes "poison herb seller."; + mes "Which one do you want?"; + mes "They cost 4,000 zeny each!"; + set .@i, select("Nerium:Rantana:Makulata:Seratum:Scopolia:Amoena:Poison Kit")-1; + next; + if (.@i < 6) { + mes "[Poison Herb Salesman]"; + mes "How many do you want? You can"; + mes "only buy a maximum of 2000 ea"; + mes "and if you want to cancel, enter '0'."; + next; + input .@amount; + mes "[Poison Herb Salesman]"; + if (.@amount == 0) { + mes "You've cancelled the trade."; + close; + } + if (.@amount > 2000) { + mes "Please check the maximum"; + mes "amount and then try again."; + close; + } + if (Zeny < .@amount*4000) { + mes "Please check the money you have."; + mes "It doesn't seem like you have enough money."; + close; + } + set Zeny, Zeny-(.@amount*4000); + getitem 7932+.@i,.@amount; + mes "Thank you. See you~!"; + close; + } else { + mes "[Poison Herb Salesman]"; + mes "You can only buy"; + mes "1 Poison Kit and it costs 5,000 zeny."; + mes "Will you buy it?"; + next; + if(select("Yes, I will.:No, I won't.") == 2) { + mes "[Poison Herb Salesman]"; + mes "Well, I see. See you~!"; + close; + } + mes "[Poison Herb Salesman]"; + if (Zeny < 5000) { + mes "Please check the money you have."; + mes "It doesn't seem like you have enough money."; + close; + } + set Zeny, Zeny-5000; + getitem 7931,1; + mes "[Poison Herb Salesman]"; + mes "Thank you. See you~!"; + close; + } +} +morocc,190,96,4 duplicate(PHS) Poison Herb Salesman#moc 877 +lhz_in02,16,205,4 duplicate(PHS) Poison Herb Salesman#lhz 877 + +job3_rune01,90,62,3 script Rune Salesman::runesale 853,{ + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 20000) { + mes "- Wait a minute !! -"; + mes "- Currently you're carrying -"; + mes "- too many items with you. -"; + mes "- Please try again -"; + mes "- after you lose some weight. -"; + close; + } + mes "[Rune Salesman]"; + mes "Hey, do you need Runes?!"; + mes "I sell all kinds of Rune Stones!"; + mes "What kind of Rune do you want?"; + next; + set .@i, select("Buy high-quality Rune Stones.:Buy ordinary Rune Stones."); + mes "[Rune Salesman]"; + if (.@i == 1) { + mes "High-quality Runes!"; + mes "They cost 2,500 zeny each!"; + setarray .@rune[0],12734,2500; + } else { + mes "Ordinary Rune Stones?"; + mes "They cost 1,000 zeny each!"; + setarray .@rune[0],12737,1000; + } + mes "Tell me how many you want to buy"; + mes "and remember, you can only"; + mes "buy a maximum amount of 2000 ea!"; + next; + input .@amount; + mes "[Rune Salesman]"; + if (.@amount == 0) { + mes "You're not buying? Go away!"; + close; + } + if (.@amount > 2000) { + mes "Please check the maximum"; + mes "amount and then come back to me again!"; + close; + } + if (Zeny < .@amount*.@rune[1]) { + mes "Money! Money!"; + mes "You are short of money!"; + mes "Check the amount of money you have!!"; + close; + } + if (!checkweight(.@rune[0],.@amount)) { + mes "You're not able to carry it, so why are you trying to buy it?!"; + close; + } + set Zeny, Zeny-(.@amount*.@rune[1]); + getitem .@rune[0],.@amount; + mes "You can buy more again."; + mes "So, see you later."; + close; +} +prontera,168,228,3 duplicate(runesale) Rune Salesman#1 853 + +job3_guil01,91,93,3 script Rare Herb Collector 49,{ + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 20000) { + mes "- Wait a minute !! -"; + mes "- Currently you're carrying -"; + mes "- too many items with you. -"; + mes "- Please try again -"; + mes "- after you lose some weight. -"; + close; + } + if (Class == Job_Guillotine_Cross || Class == Job_Guillotine_Cross_T || Class == Job_Baby_Cross) { + mes "[Rare Poison Herb Collector]"; + mes "I wander around the world and collect rare poison herbs. Recently, I am dealing in the herb called Izidor. If you are interested, you can buy them."; + next; + set .@i, select("How can I buy them?:Exchange it with Animal Blood:Exchange it with a Bitter Herb:Exchange it with a Deadly Noxious Herb:Exchange it with a Frozen Rose:Exchange it with Ment:Exchange it with Hinalle")-1; + if (.@i == 0) { + mes "[Rare Poison Herb Collector]"; + mes "You can buy any of those items for 10,000 zeny: Animal Blood, Bitter Herb, Deadly Noxious Herb, Frozen Rose, Ment or Hinalle. "; + next; + mes "[Rare Poison Herb Collector]"; + mes "Why I ask for money? That is just to pay a little respect to a collector like me. Ha ha ha..."; + close; + } else { + setarray .@exchange[1],702,621,631,749,605,703; + mes "[Rare Poison Herb Collector]"; + if (!countitem(.@exchange[.@i]) || Zeny < 10000) { + mes "Hey, try again after you've prepared all the requirements for the exchange."; + close; + } + mes "Thank you. I've received your payment."; + delitem .@exchange[.@i],1; + set Zeny, Zeny-10000; + getitem 709,1; + close; + } + } + mes "[Rare Poison Herb Collector]"; + mes "I wander around the world and collect rare poison herbs. But I don't feel like selling my herbs to a person like you... ha ha ha..."; + close; +} + +gef_tower,105,172,5 script Point Salesman#Sorcerer::pss 700,{ + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 20000) { + mes "- Wait a minute !! -"; + mes "- Currently you're carrying -"; + mes "- too many items with you. -"; + mes "- Please try again -"; + mes "- after you lose some weight. -"; + close; + } + mes "[Point Salesman]"; + mes "Hello. I'm selling a catalyst called ^FF0000Points^000000 for Sorcerers. What would you like?"; + next; + set .@i, select("Scarlet Points - 200z:Lime Green Points - 200z:Indigo Points - 200z:Yellow Wish Points - 200z:Cancel")-1; + mes "[Point Salesman]"; + if (.@i == 4) { + mes "You can't find the stuff you need?"; + close; + } + setarray .@itemid[0],6360,6363,6361,6362; + setarray .@color$[0],"Scarlet","Lime Green","Indigo","Yellow Wish"; + mes "You have chosen "+.@color$[.@i]+" Points."; + mes "How many do you want?"; + mes "If you want to cancel, enter 0."; + next; + input .@amount; + mes "[Point Salesman]"; + if (.@amount == 0) { + mes "You've cancelled the trade."; + close; + } + if (Zeny < .@amount*200) { + mes "You don't seem to have enough money."; + close; + } + if (!checkweight(.@itemid[.@i],.@amount)) { + mes "You don't have enough space in your inventory to buy this amount."; + close; + } + set Zeny, Zeny-(.@amount*200); + getitem .@itemid[.@i],.@amount; + mes "Thank you very much. See you~!"; + close; +} +comodo,241,103,6 duplicate(pss) Point Salesman#1 700 +alberta,105,52,7 duplicate(pss) Point Salesman#2 700 +veins,202,128,6 duplicate(pss) Point Salesman#3 700
\ No newline at end of file diff --git a/npc/re/merchants/diamond.txt b/npc/re/merchants/diamond.txt new file mode 100644 index 000000000..118a3d111 --- /dev/null +++ b/npc/re/merchants/diamond.txt @@ -0,0 +1,244 @@ +//===== rAthena Script ======================================= +//= Rare Diamond Merchant +//===== By: ================================================== +//= Z3R0 +//===== Current Version: ===================================== +//= 1.5 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Exchanges 17 Carat Diamond +//===== Additional Comments: ================================= +//= v1.0 First / Optimized Version +//= v1.1 Adjusted for Missing ; on Line #271 (#15425) +//= v1.2 Removed Comments per Request (#15426) +//= v1.3 Changed Emotion # to Const Definition (#15427) +//= v1.4 Removed Double Space on Line #148 (#15428) +//= v1.5 Added This Version History (#15429) +//============================================================ + +- script RareDiamondMerchant 58,{ + + set .@npc$, "[Rare Diamond Merchant]"; + + mes .@npc$; + mes "Ladies and Gentlemen! ! !"; + mes "You've heard rumors but you've never once seen with your own eyes"; + mes "the world's rarest diamond!"; + mes "The ^FF82FF'17 Carat Diamond'^000000 is currently on sale for a cheap price!!"; + mes "If valuable diamonds interest you then listen up!"; + next; + + mes .@npc$; + mes "You can give the diamond as a gift to your lover."; + mes "The receiver of the ^FF82FF'17 Carat Diamond'^000000 will cherish it"; + mes "and treasure you in their heart."; + emotion e_loud; + next; + + mes .@npc$; + mes "What? You don't have a lover?"; + mes "You can still just hang on to it for yourself."; + mes "The enchanting aura of the ^FF82FF'17 Carat Diamond'^000000 is likely"; + mes "to bring love into your life."; + next; + + mes .@npc$; + mes "Known as the captivating diamond of diamonds..."; + mes "It is the ^FF82FF'17 Carat Diamond'^000000!"; + next; + + set .@menu$, "^FF82FF'17 Carat Diamond'^000000?"; + if (countitem(6024)) + set .@menu$, .@menu$ + ":Exchange my 17 Carat Diamond for zeny..."; + + switch(select(.@menu$)) { + case 1: + mes .@npc$; + mes "Yes!"; + mes "Hehe, the ^FF82FF'17 Carat Diamond'^000000 you see right now"; + mes "is one of the highest quality 17 carat diamonds."; + mes "Comparing it to any pea-sized, colorless rock you may have"; + mes "dug up from Morroc is unspeakable!"; + emotion e_omg; + next; + + mes .@npc$; + mes "Some claim that this is the very same diamond"; + mes "that was seen by Kachua in Comodo!"; + next; + + if (select("End Conversation:How much is it?") == 1) { + mes .@npc$; + mes "It's rather inexpensive!"; + mes "If you're interested, talk to me any time!"; + close; + } + + mes .@npc$; + mes "Of course! The most important thing is price!"; + mes "As I've said earlier, the ^FF82FF'17 Carat Diamond'^000000 has been"; + mes "appraised as a 17 carat diamond."; + mes "There aren't many like it in the world."; + next; + + mes .@npc$; + mes "The price is a mere 500 million zeny!"; + mes "There is also a 1,000,000z service fee."; + mes "Compared to the quality of the diamond"; + mes "this is a small price to pay."; + next; + + if (select("^828282It's too expensive.^000000:I'll buy it.") == 1) { + mes .@npc$; + mes "To say that a diamond such as the"; + mes "^FF82FF'17 Carat Diamond'^000000 is too expensive, "; + mes "you leave me speechless."; + close; + } + + mes .@npc$; + mes "OOOH! I knew from the moment I saw you that you were the rightful"; + mes "owner of this wonderful diamond."; + mes "I'm glad I wasn't wrong!"; + mes "I believe this diamond will suit you quite well."; + mes "All I need from you is to complete this contract."; + next; + + while(1) { + if (select("^B9062FI will sign the contract.^000000:^828282Nevermind, I changed my mind.^000000") == 2) { + mes .@npc$; + mes "I see, that's too bad.."; + close; + } + + mes .@npc$; + mes "What is your name?"; + next; + + mes "[" + strcharinfo(0) + "]"; + mes "My name is " + strcharinfo(0) + "."; + next; + + mes .@npc$; + mes "Alright then, please sign here."; + next; + + input .@charname$; + if (.@charname$ == strcharinfo(0)) { + mes .@npc$; + mes "Okay, good."; + mes "All that is left now is payment."; + next; + + if (Zeny >= 501000000) { + mes .@npc$; + mes ". . . . . ."; + next; + + mes .@npc$; + mes "Calculating the price and service fee.."; + mes "501,000,000 zeny."; + mes "Amount has been confirmed."; + emotion e_loud; + set Zeny, Zeny - 501000000; + getitem 6024, 1; + next; + + mes .@npc$; + mes "You may exchange the diamond back for zeny at any time."; + mes "However, there will be a 1,000,000z service fee."; + mes "Thank you for your business."; + emotion e_thx; + close; + } + else { + mes .@npc$; + mes "Hm?"; + mes "I'm sorry, but you don't have sufficient funds."; + mes "Including the service fee, a total of 501,000,000z is required."; + mes "Please check your zeny balance and try again."; + emotion e_hmm; + close; + } + } + else { + mes .@npc$; + mes "Is this really your signature?"; + mes "Will sign again to confirm?"; + next; + } + } + case 2: + mes .@npc$; + mes "AAH. You would like to exchange your ^FF82FF'17 Carat Diamond'^000000 for zeny?"; + emotion e_gasp; + next; + if (select("Yes:No") == 2) { + mes .@npc$; + mes "Then, what is it you desire?.."; + mes ". . . . . ...."; + emotion e_dots; + close; + } + + mes .@npc$; + mes "I see. After I receive your signature, "; + mes "You must offer your ^FF82FF'17 Carat Diamond'^000000."; + mes "Also don't forget there is a 1,000,000z service fee!"; + next; + + mes .@npc$; + mes "What is your name?"; + next; + + mes "[" + strcharinfo(0) + "]"; + mes "My name is " + strcharinfo(0) + "."; + next; + + mes .@npc$; + mes "Alright then, please sign here."; + next; + + while (1) { + if (select("Sign:Don't Sign") == 2) { + mes .@npc$; + mes "The trade cannot be completed without your signature."; + close; + } + + input .@charname$; + if (.@charname$ == strcharinfo(0)) { + mes .@npc$; + mes "Your signature has been received."; + mes "I will now take your ^FF82FF'17 Carat Diamond'^000000.."; + mes "You will receive ^0000FF499,000,000z^000000 afterwards."; + next; + + mes .@npc$; + mes "Thank you for your business."; + mes "Whenever you need a ^FF82FF'17 Carat Diamond'^000000,"; + mes "come back anytime with 500 million zeny."; + emotion e_thx; + delitem 6024, 1; + set Zeny, Zeny + 499000000; + close; + } + else { + mes .@npc$; + mes "Is this really your signature?"; + mes "Will sign again to confirm?"; + next; + } + } + } +} + +prontera,165,89,6 duplicate(RareDiamondMerchant) Rare Diamond Merchant#1 58 +geffen,106,63,6 duplicate(RareDiamondMerchant) Rare Diamond Merchant#2 58 +morocc,146,100,6 duplicate(RareDiamondMerchant) Rare Diamond Merchant#3 58 +alberta,129,60,6 duplicate(RareDiamondMerchant) Rare Diamond Merchant#4 58 +lighthalzen,163,65,6 duplicate(RareDiamondMerchant) Rare Diamond Merchant#5 58 +rachel,106,142,6 duplicate(RareDiamondMerchant) Rare Diamond Merchant#6 58 +payon,180,130,6 duplicate(RareDiamondMerchant) Rare Diamond Merchant#7 58 diff --git a/npc/re/merchants/flute.txt b/npc/re/merchants/flute.txt new file mode 100644 index 000000000..a9b9c2367 --- /dev/null +++ b/npc/re/merchants/flute.txt @@ -0,0 +1,141 @@ +//===== rAthena Script ======================================= +//= Falcon & Wolf Flute Trader +//===== By: ================================================== +//= Masao, Muad_Dib, Ziu +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Sells Falcon Flute and Wolf Flute. +//===== Additional Comments: ================================= +//= 1.0 First Version. [Masao] +//= 1.1 Added Baby Hunter and Baby Ranger check. bugreport:5728 [Masao] +//= 1.2 Added Wolf Flute trader, optimized. [Euphy] +//============================================================ + +- script Falcon Flute Trader::fflute -1,{ + mes "[Falcon Flute Trader]"; + if (BaseJob == Job_Hunter || Class == Job_Ranger || Class == Job_Ranger_T || Class == Job_Baby_Ranger) { + mes "Do you need a Falcon?"; + mes "With a magical Flute, you can call your Falcon from anywhere!"; + next; + mes "[Falcon Flute Trader]"; + mes "It's marvelous, isn't it? Ha ha ha!"; + next; + mes "[Falcon Flute Trader]"; + mes "Why I'm selling these Falcon Flutes?"; + mes "It's because I have no clue how they work."; + mes "Ha ha ha!"; + next; + mes "[Falcon Flute Trader]"; + mes "Of course, you'll need the Skill ^ff0000Falcon Mastery^000000."; + mes "I don't have the Skill, so I don't know how to handle Falcons."; + mes "As it's for now, I may never have a Falcon."; + next; + mes "[Falcon Flute Trader]"; + mes "But I can't give you one for free!"; + mes "I have to make money since i also need to eat!"; + next; + mes "[Falcon Flute Trader]"; + mes "If you need a Falcon Flute I will sell them for 12,500 zeny. Or is that too expensive?"; + next; + if (BaseJob == Job_Hunter) + set .@price,12500; + else { + mes "[Falcon Flute Trader]"; + mes "For Rangers, however, I have a special price of 10,000 zeny!"; + set .@price,10000; + next; + } + if(select("Don't buy one:Buy a Falcon Flute") == 1) { + mes "[Falcon Flute Trader]"; + mes "That's too bad. If you need one, come back!"; + close; + } + if (Zeny >= .@price) { + if (countitem(12848) >= 1) { + mes "[Falcon Flute Trader]"; + mes "As I can see you already have a Falcon Flute!"; + mes "Don't worry, my young friend, once you've purchased the Falcon Flute you won't need to do so again"; + mes "since the Falcon Flute won't disappear upon usage, isn't that great?"; + close; + } + mes "[Falcon Flute Trader]"; + mes "Here, take this flute."; + mes "With it you can whistle for your Falcon from anywhere."; + set Zeny, Zeny - .@price; + getitem 12848,1; // Falcon Flute + next; + mes "[Falcon Flute Trader]"; + mes "Just a reminder."; + mes "You need the Skill ^ff0000Falcon Mastery^000000 in order to use it!"; + close; + } + mes "[Falcon Flute Trader]"; + mes "I'm sorry but you don't have enough money to buy a Falcon Flute, please come back when you have more money!"; + close; + } + if (Class == Job_Baby_Archer || Class == Job_Archer) { + mes "Hello, young one!"; + mes "Currently I can't help you,"; + mes "but why don't you return to me when you've become a great Hunter and learned how to handle Falcons properly?"; + close; + } + mes "Isn't it a beautiful day today?"; + close; +} +hu_in01,386,306,3 duplicate(fflute) Falcon Flute Trader#fft 51 +pay_arche,91,134,3 duplicate(fflute) Falcon Flute Trader#fft2 51 + +tur_dun01,89,170,5 script Expert Flute Crafter 59,{ + if (Class == Job_Ranger || Class == Job_Ranger_T || Class == Job_Baby_Ranger) { + if (countitem(6124)) { + mes "[Expert Flute Crafter]"; + mes "The Wolf Flute you have is crafted by myself, with wood."; + mes "You can come back here and find me if you lose your Wolf flute!"; + next; + mes "[Expert Flute Crafter]"; + mes "The flute can only be crafted by me."; + mes "It is just a little matter for me to craft another flute!!"; + close; + } + mes "[Expert Flute Crafter]"; + mes "Do you need anything?"; + mes "A new Wolf Flute?"; + next; + switch(select("Please give me a new Wolf Flute.:No.")) { + case 1: + if (countitem(7150) && Zeny >= 100000) { + mes "[Expert Flute Crafter]"; + mes "Have you brought all the materials?"; + mes "Wow! All your materials are not bad!"; + mes "That's good enough."; + next; + mes "[Expert Flute Crafter]"; + mes "Here's the new Wolf Flute."; + mes "Hope you are ready to use it."; + delitem 7150,1; //Bamboo_Cut + set Zeny, Zeny-100000; + getitem 6124,1; //Wolf's_Flute + close; + } + mes "[Expert Flute Crafter]"; + mes "If you want to craft a new Wolf Flute, I need you to bring me ^4d4dff1 Bamboo Cut and 100,000 zeny.^000000"; + next; + mes "[Expert Flute Crafter]"; + mes "^4d4dffBamboo Cut can be obtained from Kapha or Karakasa.^000000"; + close; + case 2: + mes "[Expert Flute Crafter]"; + mes "If you do not summon a wolf, then you don't need the Wolf Flute."; + mes "You can come back here and find me if you change your mind."; + mes "Isn't that right?"; + close; + } + } + mes "[Expert Flute Crafter]"; + mes "Eeehh? You are not a Ranger?"; + mes "Then this flute is totally useless for you!"; + close; +}
\ No newline at end of file diff --git a/npc/re/merchants/inn.txt b/npc/re/merchants/inn.txt new file mode 100644 index 000000000..e8eb922a5 --- /dev/null +++ b/npc/re/merchants/inn.txt @@ -0,0 +1,54 @@ +//===== rAthena Script ======================================= +//= Inn Npcs +//===== By: ================================================== +//= c, L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Inn Npcs, Save and Heal +//===== Additional Comments: ================================= +//= 1.0 Added Brasilis inn receptionist. [c] +//= 1.1 Updated dialog for Brasilis inn. [L0ne_W0lf] +//============================================================ + +// Brasilis +//============================================================ +bra_in01,27,24,3 script Hotel Keeper#bra1 478,{ + mes "[Hotel Keeper]"; + mes "Welcome to the beautiful Brasilis Hotel."; + next; + switch(select("Save:Rest -5000 zeny")) { + case 1: + mes "[Hotel Keeper]"; + mes "Do you want to save here at the Brasilis Hotel?"; + next; + switch(select("No thank you.:Absolutely.")) { + case 1: + mes "[Hotel Keeper]"; + mes "Ok then, enjoy your stay."; + close; + case 2: + mes "[Hotel Keeper]"; + mes "Your respawn has been saved here at the hotel. I hope that you enjoy your stay here in Brasilis."; + savepoint "bra_in01",144,69; + close; + } + case 2: + if (Zeny > 4999) { + mes "[Hotel Keeper]"; + mes "I will show you a great room."; + close2; + set zeny,zeny-5000; + percentheal 100,100; + warp "bra_in01",144,69; + end; + } + else { + mes "[Hotel Keeper]"; + mes "I'm sorry, but the service charge is 5,000 zeny per night."; + close; + } + } +} diff --git a/npc/re/merchants/refine.txt b/npc/re/merchants/refine.txt new file mode 100644 index 000000000..70e666f82 --- /dev/null +++ b/npc/re/merchants/refine.txt @@ -0,0 +1,499 @@ +//===== rAthena Script ======================================= +//= Renewal Refining NPCs +//===== By: ================================================== +//= rAthena Dev Team +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Renewal-specific refining NPCs and material merchants. +//===== Additional Comments: ================================= +//= 1.0 Moved some scripts to Renewal file, optimized "Austry" NPC. [Euphy] +//============================================================ + +// +11 and above Refiners +//============================================================ +prt_in,90,72,5 script Bestry#prt 826,{ + callfunc "refinenew","Bestry",0,0; + end; +} +morocc_in,64,41,5 script Bestry#moc 826,{ + callfunc "refinenew","Bestry",0,0; + end; +} +payon_in01,18,132,3 script Bestry#pay 826,{ + callfunc "refinenew","Bestry",0,0; + end; +} + +//============================================================ +// +11 and above Refiner Function +//============================================================ +//= To allow auto safe refining/multiple refining set the +//= second argument to '1' in the function call. +//= If you enable this function, be sure to edit the value of +//= .@safe to the max safe refine in refine_db.txt as well. +//= +//= The official script uses a command which seems to generate a +//= random result upon refining: success, downgrade, or failure. +//= To enable that feature, set the third argument to '1' in the +//= function call. Otherwise, the chance in refine_db.txt is used. +//============================================================ +function script refinenew { + mes "["+ getarg(0) +"]"; + mes "I am the best Blacksmith ever!"; + mes "I don't work with normal, boring items."; + mes "But only with items that are level 10 or higher!"; + next; + mes "["+ getarg(0) +"]"; + mes "Anyway, you may use my services if your item is lv 10 or higher."; + mes "What do you want to have refined?"; + next; + + setarray .@position$[1],"Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3"; + set .@menu$,""; + for(set .@i,1; .@i<=10; set .@i,.@i+1) { + if(getequipisequiped(.@i)) + set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]"; + set .@menu$, .@menu$ + ":"; + } + set .@part,select(.@menu$); + if(!getequipisequiped(.@part)) { + mes "[" + getarg(0) + "]"; + mes "You're not wearing"; + mes "anything there that"; + mes "I can refine."; + emotion e_an; + close; + } + //Check if the item is refinable... + if(!getequipisenableref(.@part)) { + mes "[" + getarg(0) + "]"; + mes "I don't think I can"; + mes "refine this item at all..."; + close; + } + //Check if the item is identified... (Don't know why this is in here... but kept it anyway) + if(!getequipisidentify(.@part)) { + mes "[" + getarg(0) + "]"; + mes "You can't refine this"; + mes "if you haven't appraised"; + mes "it first. Make sure your"; + mes "stuff is identified before"; + mes "I can refine it."; + close; + } + //Check to see if the items is at least +10 + if(getequiprefinerycnt(.@part) < 10) { + mes "["+ getarg(0) +"]"; + mes "I said I don't work with Equipment under lv. 10."; + close; + } + if(getequiprefinerycnt(.@part) >= 20) { + mes "["+ getarg(0) +"]"; + mes "I can't refine this"; + mes "any more. This is as"; + mes "refined as it gets!"; + close; + } + set .@refineitemid, getequipid(.@part); // save id of the item + set .@refinerycnt, getequiprefinerycnt(.@part); //save refinery count + if ((getequipweaponlv(.@part) >= 1) && (getequipweaponlv(.@part) <= 4)) { + set .@material,6224; + set .@price,100000; + set .@safe,10; + mes "["+ getarg(0) +"]"; + mes "Hmm a weapon, is that ok?"; + mes "If you want to refine this weapon,"; + mes "I will need 1 ^003366Bradium^000000 and 100,000 zeny."; + mes "Are you sure you want to continue?"; + } else { + set .@material,6223; + set .@price,100000; + set .@safe,10; + mes "["+ getarg(0) +"]"; + mes "Hmm an armor, is that ok?"; + mes "If you want to refine this armor,"; + mes "I will need 1 ^003366Carnium^000000 and 100,000 zeny."; + mes "Are you sure you want to continue?"; + } + next; + if(select("Yes:No") == 2){ + mes "["+ getarg(0) +"]"; + mes "Well, no challenge is one way..."; + mes "No risk... that could be wise."; + close; + } + if(getarg(1) != 1) { + if ((getequipweaponlv(.@part) >= 1) && (getequipweaponlv(.@part) <= 4)) { + mes "["+ getarg(0) +"]"; + mes "This weapon already has been refined serveral times."; + mes "It could be destroyed if you try more."; + mes "It won't break 100%, but is has a small chance."; + next; + mes "["+ getarg(0) +"]"; + mes "You could have the upgrade level of the weapon decreased,"; + mes "or if it breaks, you will lose ^FF0000any cards^000000 or special properties added to it."; + } else { + mes "["+ getarg(0) +"]"; + mes "This armor already has been refined serveral times."; + mes "It could be destroyed if you try more."; + mes "It won't break 100%, but is has a small chance."; + next; + mes "["+ getarg(0) +"]"; + mes "You could have the upgrade level of the armor decreased,"; + mes "or if it breaks, you will lose ^FF0000any cards^000000 or special properties added to it."; + } + next; + mes "["+ getarg(0) +"]"; + mes "Do you want me to refine it?"; + mes "I think I gave you enough warnings."; + next; + if(select("Yes.:No.") == 2) { + mes "["+ getarg(0) +"]"; + mes "Well, no challenge is one way.."; + mes "No risk.. that could be wise."; + close; + } + if(countitem(.@material) < 1 || Zeny < .@price) { + mes "["+ getarg(0) +"]"; + mes "Hm, it seems you don't have enough materials or money."; + mes "Please check it out."; + close; + } + set Zeny,Zeny - .@price; + delitem .@material,1; + if(getequipisequiped(.@part) == 0) { // hacker has removed the item (not changed, why?) + mes "[" + getarg(0) + "]"; + mes "Look here... you don't have any items on..."; + close; + } + if(getequiprefinerycnt(.@part) != .@refinerycnt || getequipid(.@part) != .@refineitemid) { // hacker has changed the item + mes "[" + getarg(0) + "]"; + emotion e_an; + mes "Wait a second..."; + mes "Do you think I'm stupid?!"; + mes "You switched the item while I wasn't looking! Get out of here!"; + close; + } + if(getarg(2) == 1){ + set .@rand,rand(1,3); + if (.@rand == 1) { + mes "Clang! Clang! Clang! Clang!"; + successrefitem .@part; + next; + emotion e_no1; + mes "["+ getarg(0) +"]"; + mes "Good! Succes!!!"; + mes "I am the best Blacksmith."; + close; + } + if (.@rand == 2) { + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang! Clang!"; + downrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Ahhh!!!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my!"; + mes "The upgrade level has dropped..."; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang!"; + failedrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Hmmm!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my! I've failed to refine stuff..."; + mes "I didn't mean it!"; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } + set .@rand,rand(100); + if (getequippercentrefinery(.@part) > .@rand) { + mes "Clang! Clang! Clang! Clang!"; + successrefitem .@part; + next; + emotion e_no1; + mes "["+ getarg(0) +"]"; + mes "Good! Succes!!!"; + mes "I am the best Blacksmith."; + close; + } + if (getequippercentrefinery(.@part) < .@rand) { + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang! Clang!"; + downrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Ahhh!!!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my!"; + mes "The upgrade level has dropped..."; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang!"; + failedrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Hmmm!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my! I've failed to refine stuff..."; + mes "I didn't mean it!"; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } +// New +11 and above Refining Functions ======================== + if(getequiprefinerycnt(.@part) < .@safe) { + mes "[" + getarg(0) + "]"; + mes "I can refine this to the safe limit or a desired number of times. It's your choice."; + next; + set .@menu2,select("To the safe limit, please.","I'll decide how many times.","I've changed my mind..."); + } else + set .@menu2,2; + switch(.@menu2){ + case 1: + set .@refinecnt,.@safe - getequiprefinerycnt(.@part); + break; + case 2: + next; + mes "[" + getarg(0) + "]"; + mes "How many times would you like me to refine your item?"; + next; + input .@refinecnt; + set .@refinecheck,.@refinecnt + getequiprefinerycnt(.@part); + if (.@refinecnt < 1 || .@refinecheck > 10) { + mes "[" + getarg(0) + "]"; + mes "I can't refine this item that many times."; + close; + } + if(.@refinecheck > .@safe) { + set .@refinecheck,.@refinecheck - .@safe; + mes "[" + getarg(0) + "]"; + mes "This will try to refine the equipment " + .@refinecheck + " times past the safe limit. Your equipment may be destroyed... is that ok?"; + next; + if(select("Yes...","No...") == 2){ + mes "[" + getarg(0) + "]"; + mes "You said so... So be it."; + close; + } + } + break; + case 3: + next; + mes "[" + getarg(0) + "]"; + mes "You said so... So be it."; + close; + } + set .@fullprice,.@price * .@refinecnt; + mes "[" + getarg(0) + "]"; + mes "That will cost you " + .@refinecnt + " " + getitemname(.@material) + " and " + .@fullprice + " Zeny. Is that ok?"; + next; + if(select("Yes","No...") == 2){ + mes "[" + getarg(0) + "]"; + mes "You said so... So be it."; + close; + } + if(countitem(.@material) < .@refinecnt || Zeny < .@fullprice) { + mes "[" + getarg(0) + "]"; + mes "Is that all you got? Unfortunately I can't work for you at a lower price. Try putting yourself in my shoes."; + close; + } + set Zeny,Zeny - .@fullprice; + delitem .@material,.@refinecnt; + while(.@refinecnt){ + if (getequipisequiped(.@part) == 0) { + mes "[" + getarg(0) + "]"; + mes "Look here... you don't have any items on..."; + close; + } + if (getequipid(.@part) != .@refineitemid || (.@menu2 == 1 && getequippercentrefinery(.@part) < 100)) { + mes "[" + getarg(0) + "]"; + mes "Clang... No, but did you imagine I could be so stupid?!"; + mes "You changed it..."; + mes "Get out before I stun you with my Hammer!!"; + close; + } + if(getarg(2) == 1){ + set .@rand,rand(1,3); + if (.@rand == 1) { + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang! Clang!"; + successrefitem .@part; + next; + emotion e_no1; + mes "["+ getarg(0) +"]"; + mes "Good! Succes!!!"; + mes "I am the best Blacksmith."; + close; + } + if (.@rand == 2) { + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang! Clang!"; + downrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Ahhh!!!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my!"; + mes "The upgrade level has dropped..."; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang!"; + failedrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Hmmm!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my! I've failed to refine stuff..."; + mes "I didn't mean it!"; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } + set .@rand,rand(100); + if (getequippercentrefinery(.@part) > .@rand) { + mes "Clang! Clang! Clang! Clang!"; + successrefitem .@part; + next; + emotion e_no1; + mes "["+ getarg(0) +"]"; + mes "Good! Succes!!!"; + mes "I am the best Blacksmith."; + close; + } + if (getequippercentrefinery(.@part) < .@rand) { + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang! Clang!"; + downrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Ahhh!!!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my!"; + mes "The upgrade level has dropped..."; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang!"; + failedrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Hmmm!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my! I've failed to refine stuff..."; + mes "I didn't mean it!"; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } + mes "[" + getarg(0) + "]"; + mes "All finished... Come again soon."; + close; +} + +// Ori/Elu to Carnium/Bradium Refiners +//============================================================ +- script Austry#ref -1,{ + mes "[Austry]"; + mes "If you bring me 3"; + mes "Oridecon or Elunium"; + mes "I can exchange them for"; + mes "Bradium or Carnium."; + mes "Just give me 50,000z."; + next; + switch(select("Oridecon to Bradium.:Elunium to Carnium.:Purified Bradium to Carnium.:No thanks.")) { + case 1: + setarray .@i[0],984,3,6224; //Oridecon -> Bradium + break; + case 2: + setarray .@i[0],985,3,6223; //Elunium -> Carnium + break; + case 3: + setarray .@i[0],6090,1,6223; //Purified_Bradium -> Carnium + break; + case 4: + mes "[Austry]"; + mes "Hmm..."; + close; + } + if (countitem(.@i[0]) >= .@i[1] && Zeny >= 50000) { + delitem .@i[0],.@i[1]; + set Zeny, Zeny - 50000; + getitem .@i[2],1; + mes "[Austry]"; + if (.@i[0] == 6090) { + mes "Refining with Purified Bradium"; + mes "is a little expensive. I can"; + mes "trade it for some Carnium."; + } else + mes "Ok! Here is your "+getitemname(.@i[2])+"."; + mes "Take it and use it well."; + close; + } + mes "[Austry]"; + mes "You better not be trying"; + mes "to cheat me because you"; + mes "don't have enough zeny"; + mes "or "+getitemname(.@i[0])+"."; + close; +} +prt_in,85,71,5 duplicate(Austry#ref) Austry#prt 826 +payon_in01,14,125,5 duplicate(Austry#ref) Austry#pay 826 +morocc_in,60,38,5 duplicate(Austry#ref) Austry#moc 826 diff --git a/npc/re/merchants/renters.txt b/npc/re/merchants/renters.txt new file mode 100644 index 000000000..0ac62a476 --- /dev/null +++ b/npc/re/merchants/renters.txt @@ -0,0 +1,184 @@ +//===== rAthena Script ======================================= +//= Renters +//===== By: ================================================== +//= rAthena Dev Team +//===== Current Version: ===================================== +//= 2.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Renewal-specific breeder NPCs. +//===== Additional Comments: ================================= +//= 2.1 Moved some renters to a separate renewal file. [Daegaladh] +//============================================================ + +// Dragon Breeder on the Rune Knight job change map, couldn't find NPC on iRO. +//============================================================ +job3_rune01,88,62,5 script Dragon Breeder 105,{ + mes "[Dragon Breeder]"; + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + mes "Welcome. Would you like to rent a Dragon?"; + next; + switch(select("Yes:No")) { + case 1: + //if (!getskilllv("RK_DRAGONTRAINING")) { + if (!getskilllv("KN_RIDING")) { + mes "[Dragon Breeder]"; + mes "Please learn how to ride a Dragon first."; + close; + } + else if (checkriding()) { + mes "[Dragon Breeder]"; + mes "You already have a Dragon."; + close; + } + else if(ismounting()) { + mes "[Dragon Breeder]"; + mes "Please remove your cash mount."; + close; + } + setdragon; + close; + case 2: + mes "[Dragon Breeder]"; + mes "I see. Then have a great day."; + close; + } + } + mes "What are you doing here?"; + mes "Only Rune Knights can rent a Dragon."; + close; +} + +// Dragon/Gryphon Master +//============================================================ +prontera,130,213,5 script Riding Creature Master 105,{ + mes "[Riding Creature Master]"; + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + mes "Welcome. Would you like to rent a Dragon?"; + next; + switch(select("Yes:No")) { + case 1: + //if (!getskilllv("RK_DRAGONTRAINING")) { + if (!getskilllv("KN_RIDING")) { + mes "[Riding Creature Master]"; + mes "Please learn how to ride a Dragon first."; + close; + } + else if (checkriding()) { + mes "[Riding Creature Master]"; + mes "You already have a Dragon."; + close; + } + else if(ismounting()) { + mes "[Riding Creature Master]"; + mes "Please remove your cash mount."; + close; + } + setdragon; + close; + case 2: + mes "[Riding Creature Master]"; + mes "I see. Then have a great day."; + close; + } + } + if (Class == Job_Royal_Guard || Class == Job_Royal_Guard_T || Class == Job_Baby_Guard) { + mes "Welcome. Would you like to rent a Gryphon?"; + next; + switch(select("Yes:No")) { + case 1: + if(!getskilllv("KN_RIDING")) { + mes "[Riding Creature Master]"; + mes "Please learn how to ride a Gryphon first."; + close; + } + else if (checkriding()) { + mes "[Riding Creature Master]"; + mes "You already have a Gryphon."; + close; + } + else if(ismounting()) { + mes "[Riding Creature Master]"; + mes "Please remove your cash mount."; + close; + } + setriding; + close; + case 2: + mes "[Riding Creature Master]"; + mes "I see. Then have a great day."; + close; + } + } + mes "I'm here to provide Rune Knights and Royal Guards with riding creatures."; + close; +} + +// Peco removing NPC +//============================================================ +prontera,125,208,5 script Peco Peco Remover 105,{ + mes "[Soldier]"; + mes "If you're unable to dismount from a Peco Peco"; + mes "for some unknown reason,"; + mes "please feel free to use my services."; + if (checkriding()) { + next; + mes "[Soldier]"; + mes "You're riding a Peco Peco."; + mes "Would you like to dismount?"; + next; + switch(select("Yes:No")) { + case 1: + setriding 0; + mes "[Soldier]"; + mes "Say, how does it feel to"; + mes "step on the ground on your own"; + mes "feet again?"; + close; + case 2: + mes "[Soldier]"; + mes "I see. Please feel free to ask me"; + mes "if you change your mind."; + close; + } + } + close; +} + +// Magic Gear Renter +//============================================================ +prontera,163,178,4 script Magic Gear Master 105,{ + mes "[Magic Gear Master]"; + if (Class == Job_Mechanic || Class == Job_Mechanic_T || Class == Job_Baby_Mechanic) { + mes "Welcome. Would you like to rent a Magic Gear?"; + next; + switch(select("Yes:No")) { + case 1: + if (!getskilllv("NC_MADOLICENCE")) { + mes "[Magic Gear Master]"; + mes "Please learn how to use a Magic Gear first."; + close; + } + else if (checkmadogear()) { + mes "[Magic Gear Master]"; + mes "You already have a Magic Gear."; + close; + } + else if(ismounting()) { + mes "[Magic Gear Master]"; + mes "Please remove your cash mount."; + close; + } + setmadogear; + close; + case 2: + mes "[Magic Gear Master]"; + mes "I see. Then have a great day."; + close; + } + } + mes "How may I help you?"; + mes "Magic Gears are only available for Mechanics."; + close; +}
\ No newline at end of file diff --git a/npc/re/merchants/shops.txt b/npc/re/merchants/shops.txt new file mode 100644 index 000000000..a6f64174d --- /dev/null +++ b/npc/re/merchants/shops.txt @@ -0,0 +1,84 @@ +//===== rAthena Script ======================================= +//= Shops +//===== By: ================================================== +//= rAthena Dev Team +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Renewal-specific town shop NPCs. +//===== Additional Comments: ================================= +//= 1.0 Moved some merchants to a separate renewal file. [Kenpachi] +//= 1.1 Added Dicastes merchants. [Joseph] +//= 1.2 Moved more shops to Renewal file. [Euphy] +//= 1.3 Added Malangdo tool dealer. [Euphy] +//============================================================ + +//======================================================= +// Comodo +//======================================================= +comodo,106,213,5 shop Tropic Fruit Dealer 724,6258:-1 +comodo,196,162,3 shop Harive#candy 479,11513:-1,6144:-1 + +//======================================================= +// Einbroch +//======================================================= +einbroch,122,250,4 shop Black Marketeer#ein 49,2139:-1,2800:-1,2801:-1,2802:-1,2803:-1,2804:-1,2805:-1,2806:-1,2807:-1,18000:-1,18001:-1,18002:-1,18003:-1,18004:-1,12392:-1,12393:-1,12394:-1,6145:-1,6146:-1,6147:-1,6186:-1,2808:-1 + +//======================================================= +// El Dicastes +//======================================================= +dic_in01,238,107,5 shop Peddler#dic 900,601:-1,602:-1,611:-1,610:-1 +dicastes01,207,200,6 shop Points Merchant#dic 66,6360:-1,6361:-1,6362:-1,6363:-1 + +//======================================================= +// Izlude +//======================================================= +izlude,97,146,0 shop Butcher#iz 54,517:-1 +izlude,124,165,4 shop Fruit Gardener#iz 53,512:-1,513:-1,515:-1,516:-1 +izlude,95,145,6 shop Vendor from Milk Ranch#i 90,519:-1 +izlude,174,164,4 shop Pet Groomer#iz 124,537:-1,643:-1,10013:-1,10014:-1,554:-1,6113:-1,6114:-1,6115:-1 + +//======================================================= +// Juno +//======================================================= +s_atelier,114,117,1 shop Part-Timer#sc_yuno 92,6123:-1,6120:-1 + +//======================================================= +// Lighthalzen +//======================================================= +lighthalzen,337,240,4 shop Trap Specialist#lhz 66,7940:-1,12341:-1 +lhz_in03,181,17,4 shop Black Marketeer#lhz 49,2139:-1,2800:-1,2801:-1,2802:-1,2803:-1,2804:-1,2805:-1,2806:-1,2807:-1,18000:-1,18001:-1,18002:-1,18003:-1,18004:-1,12392:-1,12393:-1,12394:-1,6145:-1,6146:-1,6147:-1,6186:-1,2808:-1 +s_atelier,15,65,5 shop Part-Timer#sc_lgt 89,6123:-1,6120:-1 + +//======================================================= +// Malangdo +//======================================================= +malangdo,232,163,5 shop Tool Dealer Myo 560,611:-1,1750:-1,645:-1,656:-1,601:-1,602:-1,1065:-1,713:-1 + +//======================================================= +// Mid Camp +//======================================================= +mid_camp,129,284,4 shop Trap Specialist#mid 66,7940:-1,12341:-1 +mid_camp,184,263,4 shop Black Marketeer#mid 49,2139:-1,2800:-1,2801:-1,2802:-1,2803:-1,2804:-1,2805:-1,2806:-1,2807:-1,18000:-1,18001:-1,18002:-1,18003:-1,18004:-1,12392:-1,12393:-1,12394:-1,6145:-1,6146:-1,6147:-1,6186:-1,2808:-1 + +//======================================================= +// Payon +//======================================================= +payon,123,109,4 shop Trap Specialist#pay 66,7940:-1,12341:-1 + +//======================================================= +// Prontera +//======================================================= +//prontera,104,88,5 shop Stuff Gimme 880,616:-1 +prt_in,109,68,4 shop Trap Specialist#prt 66,7940:-1,12341:-1 +prt_in,175,137,4 shop Black Marketeer#prt 49,2139:-1,2800:-1,2801:-1,2802:-1,2803:-1,2804:-1,2805:-1,2806:-1,2807:-1,18000:-1,18001:-1,18002:-1,18003:-1,18004:-1,12392:-1,12393:-1,12394:-1,6145:-1,6146:-1,6147:-1,6186:-1,2808:-1 +s_atelier,17,110,1 shop Part-Timer#sc_prt 67,6123:-1,6120:-1 + +//======================================================= +// Rachel +//======================================================= +ra_in01,263,281,4 shop Trap Specialist#ra 66,7940:-1,12341:-1 +ra_in01,257,266,4 shop Black Marketeer#ra 49,2139:-1,2800:-1,2801:-1,2802:-1,2803:-1,2804:-1,2805:-1,2806:-1,2807:-1,18000:-1,18001:-1,18002:-1,18003:-1,18004:-1,12392:-1,12393:-1,12394:-1,6145:-1,6146:-1,6147:-1,6186:-1,2808:-1 +s_atelier,137,60,3 shop Part-Timer#sc_ra 70,6123:-1,6120:-1 diff --git a/npc/re/mobs/dungeons/abbey.txt b/npc/re/mobs/dungeons/abbey.txt new file mode 100644 index 000000000..c39adfe4e --- /dev/null +++ b/npc/re/mobs/dungeons/abbey.txt @@ -0,0 +1,50 @@ +//===== rAthena Script ======================================== +//= Abbey Dungeon Monster Spawn Script +//===== By: ================================================== +//= $ephiroth +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 Initial version [$ephiroth] +//= 1.1 Updated spawns [Playtester] +//= 1.2 More official spawns [Playtester] +//============================================================ + +//================================================== +// nameless_n - Nameless Island +//================================================== +nameless_n,0,0,0,0 monster Ghoul 1036,40,5000,0,0 +nameless_n,0,0,0,0 monster Hellhound 1866,17,5000,0,0 +nameless_n,0,0,0,0 monster Banshee 1867,16,5000,0,0 +nameless_n,0,0,0,0 monster Ragged Zombie 1865,12,5000,0,0 +nameless_n,0,0,0,0 monster Zombie Slaughter 1864,12,5000,0,0 +nameless_n,0,0,0,0 monster Flame Skull 1869,3,5000,0,0 + +//================================================== +// abbey01 - Cursed Monastery +//================================================== +abbey01,0,0,0,0 monster Banshee 1867,93,5000,0,0 +abbey01,0,0,0,0 monster Ghoul 1036,56,5000,0,0 +abbey01,0,0,0,0 monster Ragged Zombie 1865,33,5000,0,0 +abbey01,0,0,0,0 monster Zombie Slaughter 1864,30,5000,0,0 +abbey01,0,0,0,0 monster Hellhound 1866,25,5000,0,0 +abbey01,0,0,0,0 monster Flame Skull 1869,21,5000,0,0 + +//================================================== +// abbey02 - Cursed Monastery +//================================================== +abbey02,0,0,0,0 monster Zombie Slaughter 1864,210,5000,0,0 +abbey02,0,0,0,0 monster Ragged Zombie 1865,70,5000,0,0 +abbey02,0,0,0,0 monster Flame Skull 1869,21,5000,0,0 +abbey02,0,0,0,0 monster Necromancer 1870,7,5000,0,0 +abbey02,236,78,21,18 boss_monster Fallen Bishop 1871,1,7200000,600000,1 + +//================================================== +// abbey03 - Cursed Monastery +//================================================== +abbey03,0,0,0,0 monster Necromancer 1870,60,5000,0,0 +abbey03,0,0,0,0 monster Banshee 1867,30,5000,0,0 +abbey03,0,0,0,0 monster Flame Skull 1869,25,5000,0,0 +abbey03,0,0,0,0 boss_monster Beelzebub 1873,1,43200000,600000,1 diff --git a/npc/re/mobs/dungeons/abyss.txt b/npc/re/mobs/dungeons/abyss.txt new file mode 100644 index 000000000..1c1ee63b0 --- /dev/null +++ b/npc/re/mobs/dungeons/abyss.txt @@ -0,0 +1,51 @@ +//===== rAthena Script ======================================= +//= Abyss Lake Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 Real spawns by Poki#3 [Nexon] +//= 1.1 More official spawns [Playtester] +//= 1.2 Official X.3 spawns [Playtester] +//= 1.3 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// abyss_01 - Abyss Lake Underground Cave +//================================================== +abyss_01,0,0,0,0 monster Ferus 1717,55,5000,0,0 +abyss_01,0,0,0,0 monster Penomena 1216,30,5000,0,0 +abyss_01,0,0,0,0 monster Ferus 1714,30,5000,0,0 +abyss_01,0,0,0,0 monster Mimic 1191,10,5000,0,0 +abyss_01,0,0,0,0 monster Ancient Mimic 1699,10,5000,0,0 +abyss_01,0,0,0,0 monster Novus 1715,9,5000,0,0 +abyss_01,0,0,0,0 monster Novus 1718,9,5000,0,0 +abyss_01,0,0,0,0 monster Dragon Egg 1721,8,5000,0,0 + +//================================================== +// abyss_02 - Abyss Lake Underground Cave +//================================================== +abyss_02,0,0,0,0 monster Acidus 1716,60,5000,0,0 +abyss_02,0,0,0,0 monster Ferus 1714,50,5000,0,0 +abyss_02,0,0,0,0 monster Dragon Egg 1721,10,5000,0,0 +abyss_02,0,0,0,0 monster Mimic 1191,10,5000,0,0 +abyss_02,0,0,0,0 monster Acidus 1713,10,5000,0,0 +abyss_02,0,0,0,0 monster Ancient Mimic 1699,10,5000,0,0 +abyss_02,0,0,0,0 monster Novus 1715,5,5000,0,0 +abyss_02,0,0,0,0 monster Novus 1718,5,5000,0,0 + +//================================================== +// abyss_03 - Abyss Lake Underground Cave +//================================================== +abyss_03,0,0,0,0 monster Acidus 1713,60,5000,0,0 +abyss_03,0,0,0,0 monster Dragon Egg 1721,10,5000,0,0 +abyss_03,0,0,0,0 monster Mimic 1191,10,5000,0,0 +abyss_03,0,0,0,0 monster Acidus 1716,10,5000,0,0 +abyss_03,0,0,0,0 monster Ancient Mimic 1699,10,5000,0,0 +abyss_03,0,0,0,0 monster Ferus 1714,10,5000,0,0 +abyss_03,0,0,0,0 monster Ferus 1717,10,5000,0,0 +abyss_03,0,0,0,0 monster Hydrolancer 1720,3,5000,0,0 +abyss_03,0,0,0,0 boss_monster Detardeurus 1719,1,10800000,600000,0 diff --git a/npc/re/mobs/dungeons/alde_dun.txt b/npc/re/mobs/dungeons/alde_dun.txt new file mode 100644 index 000000000..cc7dfb0e9 --- /dev/null +++ b/npc/re/mobs/dungeons/alde_dun.txt @@ -0,0 +1,41 @@ +//===== rAthena Script ======================================= +//= Al De Baran Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Official kRO 10.1 spawns [Playtester] +//= 1.2 More accurate spawns [Playtester] +//= 1.3 Moved Clock Tower spawns to their own file. [L0ne_W0lf] +//============================================================ + +//================================================== +// alde_dun01 - Clock Tower B1f +//================================================== +alde_dun01,0,0,0,0 monster Arclouze 1194,50,5000,0,0 +alde_dun01,0,0,0,0 monster Drainliar 1111,40,5000,0,0 + +//================================================== +// alde_dun02 - Clock Tower B2f +//================================================== +alde_dun02,0,0,0,0 monster High Orc 1213,50,5000,0,0 +alde_dun02,0,0,0,0 monster Brilight 1211,20,5000,0,0 +alde_dun02,0,0,0,0 monster Arclouze 1194,20,5000,0,0 +alde_dun02,0,0,0,0 monster Orc Archer 1189,20,5000,0,0 + +//================================================== +// alde_dun03 - Clock Tower B3f +//================================================== +alde_dun03,0,0,0,0 monster Penomena 1216,85,5000,0,0 +alde_dun03,0,0,0,0 monster Cramp 1209,56,5000,0,0 +alde_dun03,0,0,0,0 monster Drainliar 1111,55,5000,0,0 + +//================================================== +// alde_dun04 - Clock Tower B4f +//================================================== +alde_dun04,0,0,0,0 monster Bathory 1102,50,5000,0,0 +alde_dun04,0,0,0,0 monster Whisper 1179,10,5000,0,0 +alde_dun04,0,0,0,0 monster Joker 1131,10,5000,0,0 diff --git a/npc/re/mobs/dungeons/ama_dun.txt b/npc/re/mobs/dungeons/ama_dun.txt new file mode 100644 index 000000000..039afd13b --- /dev/null +++ b/npc/re/mobs/dungeons/ama_dun.txt @@ -0,0 +1,40 @@ +//===== rAthena Script ======================================= +//= Amatsu Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Official kRO 10.1 spawns [Playtester] +//= 1.2 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// ama_dun01 - Tatami Maze +//================================================== +ama_dun01,0,0,0,0 monster Miyabi Doll 1404,65,5000,0,0 +ama_dun01,0,0,0,0 monster Firelock Soldier 1403,45,5000,0,0 +ama_dun01,0,0,0,0 monster Shinobi 1401,2,5000,0,0 + +//================================================== +// ama_dun02 - Battle Field in the Underground Forest +//================================================== +ama_dun02,0,0,0,0 monster Poison Toad 1402,35,5000,0,0 +ama_dun02,0,0,0,0 monster Firelock Soldier 1403,20,5000,0,0 +ama_dun02,0,0,0,0 monster Horong 1129,10,5000,0,0 +ama_dun02,0,0,0,0 monster Miyabi Doll 1404,5,5000,0,0 +ama_dun02,0,0,0,0 monster Shinobi 1401,2,5000,0,0 +ama_dun02,0,0,0,0 monster The Paper 1375,1,5000,0,0 + +//================================================== +// ama_dun03 - Amatsu Underground Shrine +//================================================== +ama_dun03,0,0,0,0 monster Shinobi 1401,55,5000,0,0 +ama_dun03,0,0,0,0 monster Tengu 1405,55,5000,0,0 +ama_dun03,0,0,0,0 monster Firelock Soldier 1403,25,5000,0,0 +ama_dun03,0,0,0,0 monster The Paper 1375,20,5000,0,0 +ama_dun03,0,0,0,0 monster Mimic 1191,5,5000,0,0 +ama_dun03,0,0,0,0 monster Miyabi Doll 1404,1,5000,0,0 +ama_dun03,0,0,0,0 boss_monster Samurai Specter 1492,1,5460000,600000,0 diff --git a/npc/re/mobs/dungeons/anthell.txt b/npc/re/mobs/dungeons/anthell.txt new file mode 100644 index 000000000..9794f1e26 --- /dev/null +++ b/npc/re/mobs/dungeons/anthell.txt @@ -0,0 +1,121 @@ +//===== rAthena Script ======================================= +//= Ant Hell Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Official kRO 10.1 spawns [Playtester] +//= 1.2 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// anthell01 - Ant Hell +//================================================== +anthell01,0,0,0,0 monster Piere 1160,50,5000,0,0 +anthell01,0,0,0,0 monster Deniro 1105,40,5000,0,0 +anthell01,0,0,0,0 monster Familiar 1005,20,5000,0,0 +anthell01,0,0,0,0 monster Andre 1095,15,5000,0,0 +anthell01,0,0,0,0 monster Vitata 1176,10,5000,0,0 +anthell01,0,0,0,0 monster Giearth 1121,1,5000,0,0 +anthell01,43,166,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,30,187,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,29,186,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,38,186,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,37,186,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,36,186,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,35,186,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,36,187,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,44,166,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,45,165,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,40,168,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,41,168,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,42,168,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,42,167,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,42,166,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,42,165,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,41,165,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,43,165,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,44,165,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,38,184,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,38,183,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,37,183,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,102,121,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,104,123,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,104,122,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,104,120,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,103,120,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,103,121,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,102,121,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,105,124,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,101,121,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,100,121,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,99,127,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,97,123,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,97,127,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,97,126,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,97,125,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,97,124,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,98,121,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,99,121,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,98,127,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,28,266,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,30,262,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,30,261,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,31,264,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,31,263,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,31,262,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,32,263,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,40,270,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,40,269,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,40,268,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,30,263,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,30,264,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,30,265,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,29,266,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,28,265,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,28,264,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,28,263,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,28,262,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,29,265,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,29,264,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,29,263,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,29,262,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,40,267,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,40,266,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,31,194,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,33,195,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,33,196,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,30,190,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,31,190,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,32,189,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,32,198,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,32,187,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,32,186,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,30,195,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,31,195,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,32,196,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,40,265,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,41,269,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,41,268,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,41,267,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,41,266,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,41,265,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,30,198,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,31,198,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,32,197,0,0 monster Ant Egg 1097,1,60000,30000,0 +anthell01,31,186,0,0 monster Ant Egg 1097,1,60000,30000,0 + +//================================================== +// anthell02 - Ant Hell +//================================================== +anthell02,0,0,0,0 monster Andre 1095,50,5000,0,0 +anthell02,0,0,0,0 monster Vitata 1176,30,5000,0,0 +anthell02,0,0,0,0 monster Familiar 1005,20,5000,0,0 +anthell02,0,0,0,0 monster Ant Egg 1097,15,5000,0,0 +anthell02,0,0,0,0 monster Deniro 1105,15,5000,0,0 +anthell02,0,0,0,0 monster Piere 1160,15,5000,0,0 +anthell02,0,0,0,0 monster Giearth 1121,3,5000,0,0 +anthell02,0,0,0,0 boss_monster Maya 1147,1,7200000,600000,1 diff --git a/npc/re/mobs/dungeons/ayo_dun.txt b/npc/re/mobs/dungeons/ayo_dun.txt new file mode 100644 index 000000000..2d82007f3 --- /dev/null +++ b/npc/re/mobs/dungeons/ayo_dun.txt @@ -0,0 +1,31 @@ +//===== rAthena Script ======================================= +//= Ayothaya Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.5 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Using euRO data [Ishizu] +//= 1.2 Moved Tao Gunka to west cave of Comodo [Lupus] +//= 1.3 Official jRO 10.3 spawns [Playtester] +//= 1.4 More accurate spawns [Playtester] +//= 1.5 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// ayo_dun01 - Ancient Shrine Maze +//================================================== +ayo_dun01,0,0,0,0 monster Leaf Cat 1586,65,5000,0,0 +ayo_dun01,0,0,0,0 monster Ghoul 1036,30,5000,0,0 +ayo_dun01,0,0,0,0 monster Whisper 1179,10,5000,0,0 +ayo_dun01,0,0,0,0 monster Kraben 1587,5,5000,0,0 + +//================================================== +// ayo_dun02 - Inside Ancient Shrine +//================================================== +ayo_dun02,0,0,0,0 monster Tamruan 1584,100,5000,0,0 +ayo_dun02,0,0,0,0 monster Whisper 1179,20,5000,0,0 +ayo_dun02,0,0,0,0 monster Kraben 1587,20,5000,0,0 +ayo_dun02,150,90,15,30 boss_monster Lady Tanee 1688,1,25200000,600000,0 diff --git a/npc/re/mobs/dungeons/beach_dun.txt b/npc/re/mobs/dungeons/beach_dun.txt new file mode 100644 index 000000000..cbadc8e5e --- /dev/null +++ b/npc/re/mobs/dungeons/beach_dun.txt @@ -0,0 +1,40 @@ +//===== rAthena Script ======================================= +//= Beach Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Official kRO 10.1 spawns [Playtester] +//= 1.2 Small 11.1 spawn update [Playtester] +//= 1.3 More accurate spawns [Playtester] +//= 1.4 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// beach_dun - Karu, the West cave +//================================================== +beach_dun,0,0,0,0 monster Medusa 1148,60,5000,0,0 +beach_dun,0,0,0,0 monster Nereid 1255,20,5000,0,0 +beach_dun,0,0,0,0 monster Pest 1256,20,5000,0,0 +beach_dun,0,0,0,0 monster Merman 1264,3,5000,0,0 +beach_dun,0,0,0,0 boss_monster Tao Gunka 1583,1,18000000,600000,0 + +//================================================== +// beach_dun2 - Ruande the northern cave +//================================================== +beach_dun2,0,0,0,0 monster Stalactic Golem 1278,65,5000,0,0 +beach_dun2,0,0,0,0 monster Tri Joint 1279,20,5000,0,0 +beach_dun2,0,0,0,0 monster Megalith 1274,15,5000,0,0 +beach_dun2,0,0,0,0 monster Hydra 1068,10,5000,0,0 +beach_dun2,0,0,0,0 monster Nereid 1255,3,5000,0,0 + +//================================================== +// beach_dun3 - Mao, the East Cave +//================================================== +beach_dun3,0,0,0,0 monster Thara Frog 1034,50,5000,0,0 +beach_dun3,0,0,0,0 monster Megalodon 1064,30,5000,0,0 +beach_dun3,0,0,0,0 monster Hydra 1068,30,5000,0,0 +beach_dun3,0,0,0,0 monster Nereid 1255,1,5000,0,0 diff --git a/npc/re/mobs/dungeons/bra_dun.txt b/npc/re/mobs/dungeons/bra_dun.txt new file mode 100644 index 000000000..8e22c6e29 --- /dev/null +++ b/npc/re/mobs/dungeons/bra_dun.txt @@ -0,0 +1,37 @@ +//===== rAthena Script ======================================== +//= Brasilis Dungeon Monster Spawn Script +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Official monster spawns in Brasilis Dungeon. +//===== Additional Comments: ================================= +//= 1.0 Official spawns from Aegis [Kisuka] +//============================================================ + +//================================================== +// bra_dun01 - Behind the Waterfall +//================================================== +bra_dun01,0,0,0,0 monster Piranha 2070,80,5000,0,0 +bra_dun01,0,0,0,0 monster Iara 2069,30,5000,0,0 +bra_dun01,0,0,0,0 monster Black Mushroom 1084,5,180000,90000,1 +bra_dun01,0,0,0,0 monster Marina 1141,20,5000,0,0 +bra_dun01,0,0,0,0 monster Kukre 1070,10,5000,0,0 +bra_dun01,0,0,0,0 monster Plankton 1161,10,5000,0,0 +bra_dun01,0,0,0,0 monster Hydra 1068,15,5000,0,0 + +//================================================== +// bra_dun02 - Behind the Waterfall +//================================================== +bra_dun02,0,0,0,0 monster Piranha 2070,60,5000,0,0 +bra_dun02,0,0,0,0 monster Iara 2069,110,5000,0,0 +bra_dun02,0,0,0,0 monster Marina 1141,10,5000,0,0 +bra_dun02,0,0,0,0 monster Kukre 1070,10,5000,0,0 +bra_dun02,0,0,0,0 monster Plankton 1161,10,5000,0,0 +bra_dun02,0,0,0,0 monster Hydra 1068,15,5000,0,0 +bra_dun02,0,0,0,0 monster Shining Plant 1083,2,5000,0,0 +bra_dun02,0,0,0,0 monster Black Mushroom 1084,5,5000,0,0 +bra_dun02,0,0,0,0 boss_monster Boitata 2068,1,7200000,600000,1 diff --git a/npc/re/mobs/dungeons/c_tower.txt b/npc/re/mobs/dungeons/c_tower.txt new file mode 100644 index 000000000..752a2437a --- /dev/null +++ b/npc/re/mobs/dungeons/c_tower.txt @@ -0,0 +1,49 @@ +//===== rAthena Script ======================================= +//= Clock Tower Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 Split from combined Alde and CT spawn file. [L0ne_W0lf] +//============================================================ + +//================================================== +// c_tower1 - Clock Tower 1f +//================================================== +c_tower1,0,0,0,0 monster Rideword 1195,70,5000,0,0 +c_tower1,0,0,0,0 monster Punk 1199,70,5000,0,0 +c_tower1,0,0,0,0 monster Bathory 1102,1,5000,0,0 +c_tower1,0,0,0,0 monster Clock Tower Manager 1270,1,5000,0,0 + +//================================================== +// c_tower2 - Clock Tower 2f +//================================================== +c_tower2,0,0,0,0 monster Clock 1269,40,5000,0,0 +c_tower2,0,0,0,0 monster Punk 1199,40,5000,0,0 +c_tower2,0,0,0,0 monster Rideword 1195,12,5000,0,0 +c_tower2,0,0,0,0 monster Mimic 1191,3,5000,0,0 +c_tower2,0,0,0,0 monster Elder 1377,2,5000,0,0 +c_tower2,0,0,0,0 monster Clock Tower Manager 1270,1,5000,0,0 + +//================================================== +// c_tower3 - Clock Tower 3f +//================================================== +c_tower3,0,0,0,0 monster Alarm 1193,80,5000,0,0 +c_tower3,0,0,0,0 monster Mimic 1191,7,5000,0,0 +c_tower3,0,0,0,0 monster Rideword 1195,6,5000,0,0 +c_tower3,0,0,0,0 monster Clock Tower Manager 1270,3,5000,0,0 + +//================================================== +// c_tower4 - Clock Tower 4f +//================================================== +c_tower4,0,0,0,0 monster Clock 1269,35,5000,0,0 +c_tower4,0,0,0,0 monster Owl Duke 1320,30,5000,0,0 +c_tower4,0,0,0,0 monster Alarm 1193,30,5000,0,0 +c_tower4,0,0,0,0 monster Rideword 1195,15,5000,0,0 +c_tower4,0,0,0,0 monster Mimic 1191,12,5000,0,0 +c_tower4,0,0,0,0 monster Whisper 1179,5,5000,0,0 +c_tower4,0,0,0,0 monster Clock Tower Manager 1270,3,5000,0,0 +c_tower4,0,0,0,0 monster Elder 1377,2,5000,0,0 diff --git a/npc/re/mobs/dungeons/dew_dun.txt b/npc/re/mobs/dungeons/dew_dun.txt new file mode 100644 index 000000000..809295e0c --- /dev/null +++ b/npc/re/mobs/dungeons/dew_dun.txt @@ -0,0 +1,29 @@ +//===== rAthena Script ======================================== +//= Dewata Dungeon Monster Spawn Script +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Official kRO monster spawns +//===== Additional Comments: ================================= +//= 1.0 First Release +//============================================================ + +//================================================== +// dew_dun01 - Volcanic Island of Krakatoa +//================================================== +dew_dun01,0,0,0,0 monster Ancient Worm 1305,25,0,0,0 +dew_dun01,0,0,0,0 monster Gullinbursti 1311,10,0,0,0 +dew_dun01,0,0,0,0 monster Comodo 2152,70,0,0,0 +dew_dun01,0,0,0,0 boss_monster Leak 2156,1,7200000,600000,1 + +//================================================== +// dew_dun02 - Tina Grace Cave +//================================================== +dew_dun02,0,0,0,0 monster Am Mut 1301,20,0,0,0 +dew_dun02,0,0,0,0 monster Gajomart 1309,30,0,0,0 +dew_dun02,0,0,0,0 monster Banaspaty 2154,50,0,0,0 +dew_dun02,0,0,0,0 monster Butoijo 2155,30,0,0,0 diff --git a/npc/re/mobs/dungeons/dic_dun.txt b/npc/re/mobs/dungeons/dic_dun.txt new file mode 100644 index 000000000..e259f0465 --- /dev/null +++ b/npc/re/mobs/dungeons/dic_dun.txt @@ -0,0 +1,44 @@ +//===== rAthena Script ======================================== +//= El Dicastes Dungeon Monster Spawn Script +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Official monster spawns in El Dicastes Dungeon. +//===== Additional Comments: ================================= +//= 1.0 Official spawns from Aegis [Kisuka] +//= 1.1 Added Nightmare Scaraba Hole [Chilly] +//============================================================ + +//================================================== +// dic_dun01 - Underground Passage Kamidal Tunnel +//================================================== +dic_dun01,0,0,0,0 monster One-Horned Scarab 2083,50,5000,0,0 +dic_dun01,0,0,0,0 monster Two-Horned Scarab 2084,45,5000,0,0 +dic_dun01,0,0,0,0 monster Scarab Egg 2088,15,5000,0,0 +dic_dun01,0,0,0,0 monster Scarab Egg 2089,15,5000,0,0 + +//================================================== +// dic_dun02 - Underground Nest Scarab Hole +//================================================== +dic_dun02,0,0,0,0 monster Antler Scarab 2085,50,5000,0,0 +dic_dun02,0,0,0,0 monster Rake Scarab 2086,45,5000,0,0 +dic_dun02,0,0,0,0 monster Antler Scarab Egg 2090,15,5000,0,0 +dic_dun02,0,0,0,0 monster Rake Scarab Egg 2091,15,5000,0,0 +dic_dun02,0,0,0,0 boss_monster Scarab Queen 2087,1,7200000,0,0 + +//================================================== +// dic_dun03 - Nightmare Scaraba Hole +//================================================== +dic_dun03,0,0,0,0 monster Gold One-Horn Scaraba 2161,50,0,0,0 +dic_dun03,0,0,0,0 monster Gold Two-Horn Scaraba 2162,45,0,0,0 +dic_dun03,0,0,0,0 monster Gold Antler Scaraba 2163,50,0,0,0 +dic_dun03,0,0,0,0 monster Gold Rake Scaraba 2164,45,0,0,0 +dic_dun03,0,0,0,0 monster Gold One-Horn Scaraba Egg 2166,15,0,0,0 +dic_dun03,0,0,0,0 monster Gold Two-Horn Scaraba Egg 2167,15,0,0,0 +dic_dun03,0,0,0,0 monster Gold Antler Scaraba Egg 2168,15,0,0,0 +dic_dun03,0,0,0,0 monster Gold Rake Scaraba Egg 2169,15,0,0,0 +dic_dun03,0,0,0,0 boss_monster Gold Queen Scaraba 2165,1,7200000,600000,1 diff --git a/npc/re/mobs/dungeons/ein_dun.txt b/npc/re/mobs/dungeons/ein_dun.txt new file mode 100644 index 000000000..587e3df60 --- /dev/null +++ b/npc/re/mobs/dungeons/ein_dun.txt @@ -0,0 +1,36 @@ +//===== rAthena Script ======================================= +//= Einbech Mine Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.5 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 spawn N and spawn delays aren't yet correct, so I set +//= respawn delays quite big for now [Lupus] +//= 1.1 Fixed monsters spawn places +//= 1.2 Update monster spawn numbers according to info on emperium.org [MasterOfMuppets] +//= 1.3 Official kRO 10.1 spawns [Playtester] +//= 1.4 More accurate spawns [Playtester] +//= 1.5 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// ein_dun01 - Mine Dungeon +//================================================== +ein_dun01,0,0,0,0 monster Pitman 1616,70,5000,0,0 +ein_dun01,0,0,0,0 monster Noxious 1620,30,5000,0,0 +ein_dun01,0,0,0,0 monster Porcellio 1619,30,5000,0,0 +ein_dun01,0,0,0,0 monster Venomous 1621,10,5000,0,0 +ein_dun01,0,0,0,0 monster Old Stove 1617,1,5000,0,0 +ein_dun01,0,0,0,0 monster Ungoliant 1618,1,3600000,3000000,0 + +//================================================== +// ein_dun02 - Mine Dungeon +//================================================== +ein_dun02,0,0,0,0 monster Mineral 1614,50,5000,0,0 +ein_dun02,0,0,0,0 monster Obsidian 1615,40,5000,0,0 +ein_dun02,0,0,0,0 monster Old Stove 1617,30,5000,0,0 +ein_dun02,0,0,0,0 monster Teddy Bear 1622,30,5000,0,0 +ein_dun02,0,0,0,0 boss_monster RSX-0806 1623,1,7500000,600000,0 diff --git a/npc/re/mobs/dungeons/gef_dun.txt b/npc/re/mobs/dungeons/gef_dun.txt new file mode 100644 index 000000000..babb96d55 --- /dev/null +++ b/npc/re/mobs/dungeons/gef_dun.txt @@ -0,0 +1,72 @@ +//===== rAthena Script ======================================= +//= Geffen Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.2 Official kRO 10.1 spawns [Playtester] +//= 1.3 More accurate spawns [Playtester] +//= 1.4 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// gef_dun00 - Geffen Dungeon +//================================================== +gef_dun00,0,0,0,0 monster Hunter Fly 1035,30,5000,0,0 +gef_dun00,0,0,0,0 monster Poison Spore 1077,25,5000,0,0 +gef_dun00,0,0,0,0 monster Poporing 1031,15,5000,0,0 +gef_dun00,91,106,0,0 monster Red Plant 1078,1,300000,150000,0 +gef_dun00,92,108,0,0 monster Yellow Plant 1081,1,300000,150000,0 +gef_dun00,114,106,0,0 monster Green Plant 1080,1,300000,150000,0 +gef_dun00,0,0,0,0 monster Red Plant 1078,1,300000,150000,0 +gef_dun00,0,0,0,0 monster Shining Plant 1083,1,3000000,1500000,0 +gef_dun00,0,0,0,0 monster Red Plant 1078,10,180000,90000,1 +gef_dun00,89,111,3,3 monster Black Mushroom 1084,3,180000,90000,1 +gef_dun00,121,109,3,3 monster Black Mushroom 1084,3,180000,90000,1 + +//================================================== +// gef_dun01 - Geffen Dungeon +//================================================== +gef_dun01,0,0,0,0 monster Ghoul 1036,40,5000,0,0 +gef_dun01,0,0,0,0 monster Jakk 1130,40,5000,0,0 +gef_dun01,0,0,0,0 monster Nightmare 1061,30,5000,0,0 +gef_dun01,0,0,0,0 monster Zombie 1015,25,5000,0,0 +gef_dun01,0,0,0,0 monster Drainliar 1111,20,5000,0,0 +gef_dun01,0,0,0,0 boss_monster Dracula 1389,1,3600000,600000,1 +gef_dun01,234,121,0,0 monster Blue Plant 1079,1,300000,100000,0 +gef_dun01,0,0,0,0 monster Black Mushroom 1084,5,180000,90000,1 +gef_dun01,188,104,10,10 monster White Plant 1082,3,180000,90000,1 +gef_dun01,263,115,10,10 monster White Plant 1082,3,180000,90000,1 +gef_dun01,48,67,10,10 monster White Plant 1082,2,180000,90000,1 +gef_dun01,150,237,10,10 monster White Plant 1082,2,180000,90000,1 + +//================================================== +// gef_dun02 - Geffenia +//================================================== +gef_dun02,0,0,0,0 monster Deviruchi 1109,45,5000,0,0 +gef_dun02,0,0,0,0 monster Marionette 1143,30,5000,0,0 +gef_dun02,0,0,0,0 monster Nightmare 1061,20,5000,0,0 +gef_dun02,0,0,0,0 monster Whisper 1179,20,5000,0,0 +gef_dun02,0,0,0,0 monster Ghoul 1036,10,5000,0,0 +gef_dun02,0,0,0,0 monster Hunter Fly 1035,10,5000,0,0 +gef_dun02,0,0,0,0 boss_monster Doppelganger 1046,1,7200000,600000,1 +gef_dun02,214,212,10,10 monster White Plant 1082,3,180000,90000,1 +gef_dun02,215,67,10,10 monster White Plant 1082,3,180000,90000,1 +gef_dun02,72,210,20,20 monster White Plant 1082,3,180000,90000,1 +gef_dun02,106,151,20,7 monster White Plant 1082,3,180000,90000,1 +gef_dun02,58,167,10,10 monster Shining Plant 1083,1,1800000,900000,1 +gef_dun02,185,83,3,3 monster Shining Plant 1083,1,1800000,900000,1 + +//================================================== +// gef_dun03 - Geffenia +//================================================== +gef_dun03,0,0,0,0 monster Wraith 1192,8,5000,0,0 +gef_dun03,0,0,0,0 monster Wind Ghost 1263,3,5000,0,0 +gef_dun03,0,0,0,0 monster Wraith Dead 1291,2,5000,0,0 +gef_dun03,0,0,0,0 monster Wraith Dead 1291,2,60000,30000,0 +gef_dun03,0,0,0,0 monster Hellion Revenant 1626,1,600000,300000,0 +gef_dun03,0,0,0,0 monster Shining Plant 1083,3,1800000,900000,1 +gef_dun03,0,0,0,0 monster White Plant 1082,10,180000,90000,1 diff --git a/npc/re/mobs/dungeons/gefenia.txt b/npc/re/mobs/dungeons/gefenia.txt new file mode 100644 index 000000000..890d0879b --- /dev/null +++ b/npc/re/mobs/dungeons/gefenia.txt @@ -0,0 +1,71 @@ +//===== rAthena Script ======================================= +//= Geffenia Dungeon Monster Spawn Script +//===== By: ================================================== +//= Muad_Dib, rAthena dev team +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= Added 1st Version. [Muad_Dib] +//= Conversion to eA [MasterOfMuppets] +//= Updated spawns, information from emperium.org [MasterOfMuppets] +//= Kept the old spawns incase someone would want them. +//= Aegis ep 10.1 spawns [MasterOfMuppets] +//============================================================ + +//================================================== +// gefenia01 - Geffenia +//================================================== +gefenia01,0,0,0,0 monster False Angel 1371,60,5000,0,0 +gefenia01,0,0,0,0 monster Violy 1390,30,5000,0,0 +gefenia01,0,0,0,0 monster Mini Demon 1292,20,5000,0,0 +gefenia01,0,0,0,0 monster Abysmal Knight 1219,10,5000,0,0 +gefenia01,0,0,0,0 monster Incubus 1374,10,5000,0,0 +gefenia01,0,0,0,0 monster Succubus 1370,10,5000,0,0 +gefenia01,0,0,0,0 monster Bloody Knight 1268,1,3600000,3000000,0 +gefenia01,0,0,0,0 monster Mysteltainn 1203,1,10800000,7200000,0 +gefenia01,0,0,0,0 monster Executioner 1205,1,18000000,14400000,0 +gefenia01,0,0,0,0 monster Ogretooth 1204,1,18000000,14400000,0 + +//================================================== +// gefenia02 - Geffenia +//================================================== +gefenia02,0,0,0,0 monster Violy 1390,40,5000,0,0 +gefenia02,0,0,0,0 monster Mini Demon 1292,30,5000,0,0 +gefenia02,0,0,0,0 monster False Angel 1371,30,5000,0,0 +gefenia02,0,0,0,0 monster Succubus 1370,20,5000,0,0 +gefenia02,0,0,0,0 monster Abysmal Knight 1219,10,5000,0,0 +gefenia02,0,0,0,0 monster Incubus 1374,10,5000,0,0 +gefenia02,0,0,0,0 monster Bloody Knight 1268,1,3600000,3000000,0 +gefenia02,0,0,0,0 monster Ogretooth 1204,1,10800000,7200000,0 +gefenia02,0,0,0,0 monster Mysteltainn 1203,1,18000000,14400000,0 +gefenia02,0,0,0,0 monster Executioner 1205,1,18000000,14400000,0 + +//================================================== +// gefenia03 - Geffenia +//================================================== +gefenia03,0,0,0,0 monster False Angel 1371,40,5000,0,0 +gefenia03,0,0,0,0 monster Violy 1390,40,5000,0,0 +gefenia03,0,0,0,0 monster Mini Demon 1292,30,5000,0,0 +gefenia03,0,0,0,0 monster Incubus 1374,20,5000,0,0 +gefenia03,0,0,0,0 monster Abysmal Knight 1219,10,5000,0,0 +gefenia03,0,0,0,0 monster Succubus 1370,10,5000,0,0 +gefenia03,0,0,0,0 monster Bloody Knight 1268,1,3600000,3000000,0 +gefenia03,0,0,0,0 monster Executioner 1205,1,10800000,7200000,0 +gefenia03,0,0,0,0 monster Mysteltainn 1203,1,18000000,14400000,0 +gefenia03,0,0,0,0 monster Ogretooth 1204,1,18000000,14400000,0 + +//================================================== +// gefenia04 - Geffenia +//================================================== +gefenia04,0,0,0,0 monster False Angel 1371,30,5000,0,0 +gefenia04,0,0,0,0 monster Violy 1390,30,5000,0,0 +gefenia04,0,0,0,0 monster Mini Demon 1292,20,5000,0,0 +gefenia04,0,0,0,0 monster Abysmal Knight 1219,10,5000,0,0 +gefenia04,0,0,0,0 monster Incubus 1374,10,5000,0,0 +gefenia04,0,0,0,0 monster Succubus 1370,10,5000,0,0 +gefenia04,0,0,0,0 monster Bloody Knight 1268,1,3600000,3000000,0 +gefenia04,0,0,0,0 monster Mysteltainn 1203,1,18000000,14400000,0 +gefenia04,0,0,0,0 monster Executioner 1205,1,18000000,14400000,0 +gefenia04,0,0,0,0 monster Ogretooth 1204,1,18000000,14400000,0 diff --git a/npc/re/mobs/dungeons/glastheim.txt b/npc/re/mobs/dungeons/glastheim.txt new file mode 100644 index 000000000..cbe5a31b7 --- /dev/null +++ b/npc/re/mobs/dungeons/glastheim.txt @@ -0,0 +1,182 @@ +//===== rAthena Script ======================================= +//= Glast Heim Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.5 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 [Lupus] +//= 1.2 Updated to ep 8.5 aegis spawns [MasterOfMuppets] +//= 1.3 Official 10.1 kRO spawns [Playtester] +//= 1.4 More accurate spawns [Playtester] +//= 1.5 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// glast_01 - Glast Heim +//================================================== +glast_01,0,0,0,0 monster Gargoyle 1253,10,5000,0,0 +glast_01,0,0,0,0 monster Green Plant 1080,8,5000,0,0 +glast_01,0,0,0,0 monster Abysmal Knight 1219,2,5000,0,0 +glast_01,233,209,15,15 monster Shining Plant 1083,1,1800000,900000,1 +glast_01,233,209,15,15 monster Green Plant 1080,8,360000,180000,1 +glast_01,233,209,15,15 monster Blue Plant 1079,2,900000,450000,1 + +//================================================== +// gl_cas01 - Glast Heim 1f +//================================================== +gl_cas01,0,0,0,0 monster Carat 1267,50,5000,0,0 +gl_cas01,0,0,0,0 monster Dark Frame 1260,20,5000,0,0 +gl_cas01,0,0,0,0 monster Owl Duke 1320,20,5000,0,0 +gl_cas01,0,0,0,0 monster Rideword 1195,15,5000,0,0 +gl_cas01,0,0,0,0 monster Sage Worm 1281,10,5000,0,0 +gl_cas01,0,0,0,0 monster Whisper 1179,10,5000,0,0 +gl_cas01,0,0,0,0 monster Owl Baron 1295,6,5000,0,0 +gl_cas01,0,0,0,0 monster Alice 1275,1,5000,0,0 + +//================================================== +// gl_cas02 - Glast Heim 2f +//================================================== +gl_cas02,0,0,0,0 monster Wanderer 1208,41,5000,0,0 +gl_cas02,0,0,0,0 monster Raydric 1163,36,5000,0,0 +gl_cas02,0,0,0,0 monster Rideword 1195,29,5000,0,0 +gl_cas02,0,0,0,0 monster Raydric Archer 1276,20,5000,0,0 +gl_cas02,0,0,0,0 monster Evil Druid 1117,9,5000,0,0 +gl_cas02,0,0,0,0 monster Abysmal Knight 1219,7,5000,0,0 +gl_cas02,0,0,0,0 monster Khalitzburg 1132,6,5000,0,0 +gl_cas02,0,0,0,0 monster Chimera 1283,3,5000,0,0 +gl_cas02,0,0,0,0 monster Mimic 1191,2,5000,0,0 +gl_cas02,0,0,0,0 monster Alice 1275,1,5000,0,0 +gl_cas02,102,180,0,0 monster Whisper 1185,1,1800000,900000,1 +gl_cas02,104,145,5,5 monster Mysteltainn 1203,1,7200000,3600000,1 +gl_cas02,0,0,0,0 monster Ogretooth 1204,1,7200000,3600000,1 + +//================================================== +// gl_church - Glast Heim St. Abbey +//================================================== +gl_church,0,0,0,0 monster Evil Druid 1117,60,5000,0,0 +gl_church,0,0,0,0 monster Wraith 1192,55,5000,0,0 +gl_church,0,0,0,0 monster Mimic 1191,9,5000,0,0 +gl_church,0,0,0,0 monster Evil Druid 1117,1,5000,0,0 +gl_church,0,0,0,0 monster Wraith Dead 1291,1,3600000,1800000,0 + +//================================================== +// gl_chyard - Glast Heim Churchyard +//================================================== +gl_chyard,0,0,0,0 monster Dark Priest 1198,60,5000,0,0 +gl_chyard,0,0,0,0 monster Wraith 1192,35,5000,0,0 +gl_chyard,0,0,0,0 monster Evil Druid 1117,10,5000,0,0 +gl_chyard,0,0,0,0 monster Mimic 1191,3,5000,0,0 +gl_chyard,0,0,0,0 monster Hunter Fly 1035,3,5000,0,0 +gl_chyard,0,0,0,0 boss_monster Dark Lord 1272,1,3600000,600000,1 +gl_chyard,0,0,0,0 monster Dark Illusion 1302,1,3600000,1800000,0 + +//================================================== +// gl_dun01 - The Lowest Cave in Glast Heim +//================================================== +gl_dun01,0,0,0,0 monster Arclouze 1194,50,5000,0,0 +gl_dun01,0,0,0,0 monster Sting 1207,40,5000,0,0 + +//================================================== +// gl_dun02 - The Lowest Cave in Glast Heim +//================================================== +gl_dun02,0,0,0,0 monster Majoruros 1310,45,5000,0,0 +gl_dun02,0,0,0,0 monster Gargoyle 1253,15,5000,0,0 + +//================================================== +// gl_in01 - Inside Glast Heim +//================================================== +gl_in01,0,0,0,0 monster Marionette 1143,20,5000,0,0 +gl_in01,0,0,0,0 monster Sage Worm 1281,14,5000,0,0 +gl_in01,0,0,0,0 monster Dark Frame 1260,10,5000,0,0 +gl_in01,0,0,0,0 monster Rideword 1195,8,5000,0,0 +gl_in01,0,0,0,0 monster Wanderer 1208,1,5000,0,0 +gl_in01,0,0,0,0 monster Alice 1275,1,5000,0,0 + +//================================================== +// gl_knt01 - Inside Glast Heim Chivalry +//================================================== +gl_knt01,0,0,0,0 monster Raydric 1163,90,5000,0,0 +gl_knt01,0,0,0,0 monster Rideword 1195,21,5000,0,0 +gl_knt01,0,0,0,0 monster Raydric Archer 1276,10,5000,0,0 +gl_knt01,0,0,0,0 monster Abysmal Knight 1219,10,5000,0,0 +gl_knt01,0,0,0,0 monster Khalitzburg 1132,10,5000,0,0 +gl_knt01,0,0,0,0 monster Alice 1275,1,5000,0,0 +gl_knt01,21,278,0,0 monster Giant Whisper 1186,1,3600000,1800000,1 +gl_knt01,9,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1 +gl_knt01,8,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1 +gl_knt01,7,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1 +gl_knt01,6,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1 +gl_knt01,5,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1 +gl_knt01,4,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1 +gl_knt01,9,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1 +gl_knt01,8,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1 +gl_knt01,7,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1 +gl_knt01,6,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1 +gl_knt01,5,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1 +gl_knt01,4,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1 + +//================================================== +// gl_knt02 - Inside Glast Heim Chivalry +//================================================== +gl_knt02,0,0,0,0 monster Raydric 1163,80,5000,0,0 +gl_knt02,0,0,0,0 monster Khalitzburg 1132,40,5000,0,0 +gl_knt02,0,0,0,0 monster Raydric Archer 1276,30,5000,0,0 +gl_knt02,0,0,0,0 monster Abysmal Knight 1219,6,5000,0,0 +gl_knt02,0,0,0,0 monster Alice 1275,1,5000,0,0 +gl_knt02,0,0,0,0 monster Mysteltainn 1203,1,1800000,1200000,0 +gl_knt02,0,0,0,0 monster Bloody Knight 1268,1,3600000,1800000,1 + +//================================================== +// gl_prison - Glast Heim Underprison +//================================================== +gl_prison,0,0,0,0 monster Zombie Prisoner 1197,30,5000,0,0 +gl_prison,0,0,0,0 monster Injustice 1257,20,5000,0,0 +gl_prison,0,0,0,0 monster Rybio 1201,15,5000,0,0 +gl_prison,0,0,0,0 monster Hunter Fly 1035,10,5000,0,0 + +//================================================== +// gl_prison1 - Glast Heim Underprison +//================================================== +gl_prison1,0,0,0,0 monster Injustice 1257,40,5000,0,0 +gl_prison1,0,0,0,0 monster Skeleton Prisoner 1196,30,5000,0,0 +gl_prison1,0,0,0,0 monster Rybio 1201,10,5000,0,0 +gl_prison1,0,0,0,0 monster Phendark 1202,10,5000,0,0 +gl_prison1,0,0,0,0 monster Hunter Fly 1035,10,5000,0,0 +gl_prison1,0,0,0,0 monster Cramp 1209,5,5000,0,0 +gl_prison1,0,0,0,0 monster Zealotus 1200,1,3600000,1800000,1 + +//================================================== +// gl_sew01 - Glast Heim Culvert +//================================================== +gl_sew01,0,0,0,0 monster Whisper 1179,40,5000,0,0 +gl_sew01,0,0,0,0 monster Gargoyle 1253,30,5000,0,0 +gl_sew01,0,0,0,0 monster Arclouze 1194,10,5000,0,0 + +//================================================== +// gl_sew02 - Glast Heim Culvert +//================================================== +gl_sew02,0,0,0,0 monster Gargoyle 1253,55,5000,0,0 +gl_sew02,0,0,0,0 monster Cramp 1209,15,5000,0,0 + +//================================================== +// gl_sew03 - Glast Heim Culvert +//================================================== +gl_sew03,0,0,0,0 monster Sting 1207,70,5000,0,0 +gl_sew03,0,0,0,0 monster Gargoyle 1253,40,5000,0,0 + +//================================================== +// gl_sew04 - Glast Heim Culvert +//================================================== +gl_sew04,0,0,0,0 monster Anolian 1206,100,5000,0,0 +gl_sew04,0,0,0,0 monster Gargoyle 1253,20,5000,0,0 +gl_sew04,0,0,0,0 monster Drainliar 1111,10,5000,0,0 + +//================================================== +// gl_step - Glast Heim Staircase Dungeon +//================================================== +gl_step,0,0,0,0 monster Wind Ghost 1263,100,5000,0,0 +gl_step,0,0,0,0 monster Raydric Archer 1276,10,5000,0,0 +gl_step,0,0,0,0 monster Mimic 1191,5,5000,0,0 diff --git a/npc/re/mobs/dungeons/gld_dun.txt b/npc/re/mobs/dungeons/gld_dun.txt new file mode 100644 index 000000000..cb06564e2 --- /dev/null +++ b/npc/re/mobs/dungeons/gld_dun.txt @@ -0,0 +1,52 @@ +//===== rAthena Script ======================================= +//= Guild Dungeons Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.2 Official kRO 10.1 spawns [Playtester] +//= 1.3 Corrected MVP spawn variance. [Gepard] +//============================================================ + +//================================================== +// gld_dun01 - Guild Dungeon +//================================================== +gld_dun01,0,0,0,0 monster Am Mut 1301,20,5000,0,0 +gld_dun01,0,0,0,0 monster Skeleton General 1290,10,5000,0,0 +gld_dun01,0,0,0,0 monster Gajomart 1309,10,5000,0,0 +gld_dun01,0,0,0,0 monster Cat o' Nine Tails 1307,3,1200000,0,0 +gld_dun01,0,0,0,0 monster Vagabond Wolf 1092,1,14400000,7200000,1 +gld_dun01,0,0,0,0 boss_monster Eddga 1115,1,28800000,600000,1 + +//================================================== +// gld_dun02 - Guild Dungeon +//================================================== +gld_dun02,0,0,0,0 monster Giant Hornet 1303,10,120000,60000,0 +gld_dun02,0,0,0,0 monster Giant Spider 1304,10,240000,120000,0 +gld_dun02,0,0,0,0 monster Ancient Worm 1305,7,120000,60000,0 +gld_dun02,0,0,0,0 monster Killer Mantis 1294,5,120000,60000,0 +gld_dun02,0,0,0,0 monster Owl Baron 1295,1,5000,0,0 +gld_dun02,0,0,0,0 boss_monster Doppelganger 1046,1,28800000,600000,1 + +//================================================== +// gld_dun03 - Guild Dungeon +//================================================== +gld_dun03,0,0,0,0 monster Caterpillar 1300,20,5000,0,0 +gld_dun03,0,0,0,0 monster Creamy Fear 1293,20,5000,0,0 +gld_dun03,0,0,0,0 monster Leib Olmai 1306,20,5000,0,0 +gld_dun03,0,0,0,0 monster Gullinbursti 1311,10,5000,0,0 +gld_dun03,0,0,0,0 monster Maya Purple 1289,3,1200000,600000,0 +gld_dun03,0,0,0,0 boss_monster Maya 1147,1,28800000,600000,1 + +//================================================== +// gld_dun04 - Guild Dungeon +//================================================== +gld_dun04,0,0,0,0 monster Zombie Master 1298,29,5000,0,0 +gld_dun04,0,0,0,0 monster Wraith Dead 1291,27,5000,0,0 +gld_dun04,0,0,0,0 monster Mini Demon 1292,3,5000,0,0 +gld_dun04,0,0,0,0 monster Dark Illusion 1302,1,1200000,0,0 +gld_dun04,0,0,0,0 monster Ghostring 1120,1,14400000,7200000,1 +gld_dun04,0,0,0,0 boss_monster Dark Lord 1272,1,28800000,600000,1 diff --git a/npc/re/mobs/dungeons/gld_dunSE.txt b/npc/re/mobs/dungeons/gld_dunSE.txt new file mode 100644 index 000000000..488875380 --- /dev/null +++ b/npc/re/mobs/dungeons/gld_dunSE.txt @@ -0,0 +1,29 @@ +//===== rAthena Script ======================================= +//= Guild Dungeons Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 First version +//= 1.1 Updated spawns to official. [L0ne_W0lf] +//============================================================ + +//================================================== +// schg_dun01 - Subterranean Guild Dungeon +//================================================== +schg_dun01,0,0,0,0 monster Hell Apocalypse 1978,20,0,0,0 +schg_dun01,0,0,0,0 monster Zakudam 1979,20,0,0,0 +schg_dun01,0,0,0,0 monster Heavy Metaling 1977,15,5000,0,0 +schg_dun01,0,0,0,0 monster Cobalt Mineral 1976,15,5000,0,0 + +//================================================== +// arug_dun01 - Subterranean Guild Dungeon +//================================================== +arug_dun01,0,0,0,0 monster Banshee Master 1974,22,0,0,0 +arug_dun01,0,0,0,0 monster Beholder master 1975,22,5000,0,0 +arug_dun01,0,0,0,0 monster Aunoe 1796,22,5000,0,0 +arug_dun01,0,0,0,0 monster Necromancer 1870,18,0,0,0 +arug_dun01,0,0,0,0 monster Fanat 1797,5,5000,0,0 diff --git a/npc/re/mobs/dungeons/gon_dun.txt b/npc/re/mobs/dungeons/gon_dun.txt new file mode 100644 index 000000000..98958a4dc --- /dev/null +++ b/npc/re/mobs/dungeons/gon_dun.txt @@ -0,0 +1,40 @@ +//===== rAthena Script ======================================= +//= Gonryun Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Official kRO 10.1 spawns [Playtester] +//= 1.2 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// gon_dun01 - Shrine of Kunlun Queen +//================================================== +gon_dun01,0,0,0,0 monster Bloody Butterfly 1408,55,5000,0,0 +gon_dun01,0,0,0,0 monster Enchanted Peach Tree 1410,35,5000,0,0 +gon_dun01,0,0,0,0 monster Zipper Bear 1417,30,5000,0,0 +gon_dun01,0,0,0,0 monster Yellow Plant 1081,10,5000,0,0 +gon_dun01,0,0,0,0 monster White Plant 1082,10,5000,0,0 +gon_dun01,0,0,0,0 monster Red Plant 1078,5,5000,0,0 + +//================================================== +// gon_dun02 - Hermit's Checkers +//================================================== +gon_dun02,0,0,0,0 monster Enchanted Peach Tree 1410,21,5000,0,0 +gon_dun02,0,0,0,0 monster Taoist Hermit 1412,20,5000,0,0 +gon_dun02,0,0,0,0 monster Bloody Butterfly 1408,20,5000,0,0 +gon_dun02,0,0,0,0 monster Baby Leopard 1415,6,5000,0,0 +gon_dun02,0,0,0,0 monster Yellow Plant 1081,10,5000,0,0 + +//================================================== +// gon_dun03 - Arcadia +//================================================== +gon_dun03,0,0,0,0 monster Evil Nymph 1416,50,5000,0,0 +gon_dun03,0,0,0,0 monster Taoist Hermit 1412,30,5000,0,0 +gon_dun03,0,0,0,0 monster Hermit Plant 1413,20,5000,0,0 +gon_dun03,0,0,0,0 boss_monster Evil Snake Lord 1418,1,5650000,600000,0 +gon_dun03,0,0,0,0 monster White Plant 1082,10,5000,0,0 diff --git a/npc/re/mobs/dungeons/ice_dun.txt b/npc/re/mobs/dungeons/ice_dun.txt new file mode 100644 index 000000000..418006267 --- /dev/null +++ b/npc/re/mobs/dungeons/ice_dun.txt @@ -0,0 +1,38 @@ +//===== rAthena Script ======================================= +//= Ice Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 First version from jAthena [Playtester] +//= 1.1 More accurate spawns [Playtester] +//= 1.2 Removed Ktullanux spawn, quest implemented [L0ne_W0lf] +//============================================================ + +//================================================== +// ice_dun01 - Ice Cave +//================================================== +ice_dun01,0,0,0,0 monster Siroma 1776,75,5000,0,0 +ice_dun01,0,0,0,0 monster Roween 1782,5,5000,0,0 +ice_dun01,0,0,0,0 monster Muscipular 1780,5,5000,0,0 +ice_dun01,0,0,0,0 monster Gazeti 1778,2,5000,0,0 + +//================================================== +// ice_dun02 - Ice Cave +//================================================== +ice_dun02,0,0,0,0 monster Snowier 1775,70,5000,0,0 +ice_dun02,0,0,0,0 monster Siroma 1776,30,5000,0,0 +ice_dun02,0,0,0,0 monster Iceicle 1789,19,5000,0,0 +ice_dun02,0,0,0,0 monster Gazeti 1778,15,5000,0,0 +ice_dun02,0,0,0,0 monster Ice Titan 1777,7,5000,0,0 + +//================================================== +// ice_dun03 - Ice Cave +//================================================== +ice_dun03,0,0,0,0 monster Ice Titan 1777,70,5000,0,0 +ice_dun03,0,0,0,0 monster Gazeti 1778,42,5000,0,0 +ice_dun03,0,0,0,0 monster Iceicle 1789,32,5000,0,0 +ice_dun03,0,0,0,0 monster Snowier 1775,15,5000,0,0 diff --git a/npc/re/mobs/dungeons/in_sphinx.txt b/npc/re/mobs/dungeons/in_sphinx.txt new file mode 100644 index 000000000..7263f38d9 --- /dev/null +++ b/npc/re/mobs/dungeons/in_sphinx.txt @@ -0,0 +1,56 @@ +//===== rAthena Script ======================================= +//= Morocc Sphinx Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Official kRO 10.1 spawns [Playtester] +//= 1.2 Replaced Marduk with Anubis on F4 and F5 [Playtester] +//= 1.3 More accurate spawns [Playtester] +//= 1.4 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// in_sphinx1 - Sphinx +//================================================== +in_sphinx1,0,0,0,0 monster Drainliar 1111,40,5000,0,0 +in_sphinx1,0,0,0,0 monster Requiem 1164,20,5000,0,0 +in_sphinx1,0,0,0,0 monster Zerom 1178,20,5000,0,0 +in_sphinx1,0,0,0,0 monster Matyr 1146,10,5000,0,0 + +//================================================== +// in_sphinx2 - Sphinx +//================================================== +in_sphinx2,0,0,0,0 monster Requiem 1164,50,5000,0,0 +in_sphinx2,0,0,0,0 monster Zerom 1178,50,5000,0,0 +in_sphinx2,0,0,0,0 monster Matyr 1146,20,5000,0,0 +in_sphinx2,0,0,0,0 monster Drainliar 1111,15,5000,0,0 + +//================================================== +// in_sphinx3 - Sphinx +//================================================== +in_sphinx3,0,0,0,0 monster Marduk 1140,65,5000,0,0 +in_sphinx3,0,0,0,0 monster Matyr 1146,15,5000,0,0 +in_sphinx3,0,0,0,0 monster Mimic 1191,5,5000,0,0 +in_sphinx3,0,0,0,0 monster Pasana 1154,5,5000,0,0 + +//================================================== +// in_sphinx4 - Sphinx +//================================================== +in_sphinx4,0,0,0,0 monster Minorous 1149,50,5000,0,0 +in_sphinx4,0,0,0,0 monster Pasana 1154,20,5000,0,0 +in_sphinx4,0,0,0,0 monster Anubis 1098,15,5000,0,0 +in_sphinx4,0,0,0,0 monster Mimic 1191,4,5000,0,0 + +//================================================== +// in_sphinx5 - Sphinx +//================================================== +in_sphinx5,0,0,0,0 monster Pasana 1154,70,5000,0,0 +in_sphinx5,0,0,0,0 monster Side Winder 1037,20,5000,0,0 +in_sphinx5,0,0,0,0 monster Matyr 1146,10,5000,0,0 +in_sphinx5,0,0,0,0 monster Anubis 1098,10,5000,0,0 +in_sphinx5,0,0,0,0 monster Mimic 1191,7,5000,0,0 +in_sphinx5,0,0,0,0 boss_monster Pharaoh 1157,1,3600000,600000,1 diff --git a/npc/re/mobs/dungeons/iz_dun.txt b/npc/re/mobs/dungeons/iz_dun.txt new file mode 100644 index 000000000..8518d020d --- /dev/null +++ b/npc/re/mobs/dungeons/iz_dun.txt @@ -0,0 +1,119 @@ +//===== rAthena Script ======================================= +//= Byalan Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Official kRO 10.1 spawns for 1-4 [Playtester] +//= 1.2 More accurate spawns [Playtester] +//= 1.3 Added Izlude Dungeon F6 spawns [Chilly] +//============================================================ + +//================================================== +// iz_dun00 - Undersea Tunnel +//================================================== +iz_dun00,0,0,0,0 monster Plankton 1161,65,5000,0,0 +iz_dun00,0,0,0,0 monster Marina 1141,45,5000,0,0 +iz_dun00,0,0,0,0 monster Vadon 1066,15,5000,0,0 +iz_dun00,0,0,0,0 monster Kukre 1070,15,5000,0,0 +iz_dun00,0,0,0,0 monster Hydra 1068,15,5000,0,0 +iz_dun00,0,0,0,0 monster Black Mushroom 1084,5,180000,90000,1 + +//================================================== +// iz_dun01 - Undersea Tunnel +//================================================== +iz_dun01,0,0,0,0 monster Vadon 1066,60,5000,0,0 +iz_dun01,0,0,0,0 monster Kukre 1070,50,5000,0,0 +iz_dun01,0,0,0,0 monster Hydra 1068,30,5000,0,0 +iz_dun01,0,0,0,0 monster Marina 1141,15,5000,0,0 +iz_dun01,0,0,0,0 monster Cornutus 1067,15,5000,0,0 +iz_dun01,0,0,0,0 monster Plankton 1161,10,5000,0,0 +iz_dun01,0,0,0,0 monster Black Mushroom 1084,10,180000,90000,1 + +//================================================== +// iz_dun02 - Undersea Tunnel +//================================================== +iz_dun02,0,0,0,0 monster Cornutus 1067,60,5000,0,0 +iz_dun02,0,0,0,0 monster Marse 1144,40,5000,0,0 +iz_dun02,0,0,0,0 monster Obeaune 1044,40,5000,0,0 +iz_dun02,0,0,0,0 monster Hydra 1068,40,5000,0,0 +iz_dun02,0,0,0,0 monster Merman 1264,1,5000,0,0 +iz_dun02,0,0,0,0 monster Black Mushroom 1084,15,180000,90000,1 + +//================================================== +// iz_dun03 - Undersea Tunnel +//================================================== +iz_dun03,0,0,0,0 monster Phen 1158,45,5000,0,0 +iz_dun03,0,0,0,0 monster Marc 1045,40,5000,0,0 +iz_dun03,0,0,0,0 monster Swordfish 1069,40,5000,0,0 +iz_dun03,0,0,0,0 monster Marine Sphere 1142,20,5000,0,0 +iz_dun03,0,0,0,0 monster Merman 1264,3,5000,0,0 +iz_dun03,200,144,0,0 monster Hydra 1068,1,282000,150000,0 +iz_dun03,178,253,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun03,193,143,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun03,196,143,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun03,199,143,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun03,202,143,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun03,205,143,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun03,208,143,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun03,211,143,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun03,108,249,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun03,180,251,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun03,176,260,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun03,80,163,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun03,204,57,0,0 monster Hydra 1068,1,302000,150000,0 +iz_dun03,204,60,0,0 monster Hydra 1068,1,304000,150000,0 +iz_dun03,203,47,0,0 monster Hydra 1068,1,305000,150000,0 +iz_dun03,206,144,0,0 monster Hydra 1068,1,305000,150000,0 +iz_dun03,209,144,0,0 monster Hydra 1068,1,308000,150000,0 +iz_dun03,204,51,0,0 monster Hydra 1068,1,309000,150000,0 +iz_dun03,203,144,0,0 monster Hydra 1068,1,310000,150000,0 +iz_dun03,204,54,0,0 monster Hydra 1068,1,310000,150000,0 +iz_dun03,203,59,0,0 monster Hydra 1068,1,312000,150000,0 +iz_dun03,204,48,0,0 monster Hydra 1068,1,313000,150000,0 +iz_dun03,194,144,0,0 monster Hydra 1068,1,316000,150000,0 +iz_dun03,203,53,0,0 monster Hydra 1068,1,317000,150000,0 +iz_dun03,191,144,0,0 monster Hydra 1068,1,321000,150000,0 +iz_dun03,212,144,0,0 monster Hydra 1068,1,321000,150000,0 +iz_dun03,203,50,0,0 monster Hydra 1068,1,323000,150000,0 +iz_dun03,203,56,0,0 monster Hydra 1068,1,323000,150000,0 +iz_dun03,197,144,0,0 monster Hydra 1068,1,2960000,150000,0 + +//================================================== +// iz_dun04 - Undersea Tunnel +//================================================== +iz_dun04,0,0,0,0 monster Merman 1264,52,5000,0,0 +iz_dun04,0,0,0,0 monster Strouf 1065,50,5000,0,0 +iz_dun04,0,0,0,0 monster Marine Sphere 1142,10,5000,0,0 +iz_dun04,0,0,0,0 monster Swordfish 1069,10,5000,0,0 +iz_dun04,0,0,0,0 monster Deviace 1108,3,5000,0,0 +iz_dun04,80,246,0,0 monster Hydra 1068,1,294000,150000,0 +iz_dun04,79,246,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun04,111,41,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun04,111,35,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun04,124,233,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun04,38,115,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun04,38,129,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun04,61,135,0,0 monster Hydra 1068,1,300000,150000,0 +iz_dun04,79,234,0,0 monster Hydra 1068,1,302000,150000,0 +iz_dun04,111,38,0,0 monster Hydra 1068,1,303000,150000,0 +iz_dun04,134,233,0,0 monster Hydra 1068,1,305000,150000,0 +iz_dun04,58,135,0,0 monster Hydra 1068,1,305000,150000,0 +iz_dun04,42,116,0,0 monster Hydra 1068,1,306000,150000,0 +iz_dun04,33,129,0,0 monster Hydra 1068,1,308000,150000,0 +iz_dun04,42,129,0,0 monster Hydra 1068,1,312000,150000,0 +iz_dun04,80,233,0,0 monster Hydra 1068,1,318000,150000,0 +iz_dun04,69,243,0,0 monster Hydra 1068,1,321000,150000,0 +iz_dun04,33,115,0,0 monster Hydra 1068,1,321000,150000,0 + +//================================================== +// iz_dun05 - Undersea Tunnel F6 +//================================================== +iz_dun05,0,0,0,0 monster King Dramoh 2198,20,0,0,0 +iz_dun05,0,0,0,0 monster Sropho 2201,50,0,0,0 +iz_dun05,0,0,0,0 monster Pot Dofle 2203,30,0,0,0 +iz_dun05,0,0,0,0 monster Sedora 2204,50,0,0,0 +iz_dun05,0,0,0,0 boss_monster Kraken 2202,1,7200000,600000,1 diff --git a/npc/re/mobs/dungeons/juperos.txt b/npc/re/mobs/dungeons/juperos.txt new file mode 100644 index 000000000..d3db3aefe --- /dev/null +++ b/npc/re/mobs/dungeons/juperos.txt @@ -0,0 +1,52 @@ +//===== rAthena Script ======================================= +//= Juperos Dungeon Monster Spawn Script +//===== By: ================================================== +// The Prometheus Project, rAthena dev team +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= Any Athena/Freya Version +//===== Additional Comments: ================================= +//= 0.1 Added 1st version. [Muad_Dib] +//= 0.2 Updated the spawns according to current info [MasterOfMuppets] +//= 0.3 Updated the spawns according to own info from iRO [MasterOfMuppets] +//= 1.0 More exact numbers thanks to Tharis [Playtester] +//= 1.1 Official X.3 spawns [Playtester] +//= 1.2 Some 11.1 spawn changes [Playtester] +//= 1.3 More accurate spawns [Playtester] +//= 1.4 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// juperos_01 - Ruins of Juperos +//================================================== +juperos_01,0,0,0,0 monster Venatu 1676,70,5000,0,0 +juperos_01,0,0,0,0 monster Venatu 1677,70,5000,0,0 +juperos_01,0,0,0,0 monster Venatu 1678,70,5000,0,0 +juperos_01,0,0,0,0 monster Venatu 1679,50,5000,0,0 +juperos_01,0,0,0,0 monster Dimik 1670,10,5000,0,0 +juperos_01,0,0,0,0 monster Dimik 1671,5,5000,0,0 +juperos_01,0,0,0,0 monster Dimik 1672,5,5000,0,0 +juperos_01,0,0,0,0 monster Dimik 1673,5,5000,0,0 + +//================================================== +// juperos_02 - Ruins of Juperos +//================================================== +juperos_02,0,0,0,0 monster Apocalypse 1365,70,5000,0,0 +juperos_02,0,0,0,0 monster Venatu 1676,65,5000,0,0 +juperos_02,0,0,0,0 monster Venatu 1677,65,5000,0,0 +juperos_02,0,0,0,0 monster Venatu 1678,65,5000,0,0 +juperos_02,0,0,0,0 monster Venatu 1679,50,5000,0,0 + +//================================================== +// jupe_core - Center of Juperos +//================================================== +jupe_core,0,0,0,0 monster Dimik 1670,40,5000,0,0 +jupe_core,0,0,0,0 monster Dimik 1671,40,5000,0,0 +jupe_core,0,0,0,0 monster Dimik 1672,40,5000,0,0 +jupe_core,0,0,0,0 monster Dimik 1673,40,5000,0,0 +jupe_core,0,0,0,0 monster Archdam 1668,40,5000,0,0 +jupe_core,0,0,0,0 monster Venatu 1676,25,5000,0,0 +jupe_core,0,0,0,0 monster Venatu 1677,25,5000,0,0 +jupe_core,0,0,0,0 monster Venatu 1678,25,5000,0,0 +jupe_core,0,0,0,0 boss_monster Vesper 1685,1,7200000,600000,1 diff --git a/npc/re/mobs/dungeons/kh_dun.txt b/npc/re/mobs/dungeons/kh_dun.txt new file mode 100644 index 000000000..9965585dd --- /dev/null +++ b/npc/re/mobs/dungeons/kh_dun.txt @@ -0,0 +1,59 @@ +//===== rAthena Script ======================================= +//= Kiel Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 First version [MasterOfMuppets] +//= 1.1 Added official mob types [Playtester] +//= 1.2 Updated amounts [Playtester] +//= 1.3 More accurate spawns [Playtester] +//============================================================ + +//================================================== +// kh_dun01 - Robot Factory level 1 +//================================================== +kh_dun01,0,0,0,0 monster Aliza 1737,45,5000,0,0 +kh_dun01,0,0,0,0 monster Alice 1275,25,5000,0,0 +kh_dun01,0,0,0,0 monster Constant 1738,8,5000,0,0 +kh_dun01,0,0,0,0 monster Constant 1745,5,5000,0,0 +kh_dun01,0,0,0,0 monster Alicel 1735,3,5000,0,0 +kh_dun01,0,0,0,0 monster Aliot 1736,3,5000,0,0 + +//================================================== +// kh_dun02 - Robot Factory level 2 +//================================================== +kh_dun02,0,0,0,0 monster Alicel 1735,30,5000,0,0 +kh_dun02,0,0,0,0 monster Aliot 1736,25,5000,0,0 +kh_dun02,0,0,0,0 monster Constant 1738,15,5000,0,0 +kh_dun02,0,0,0,0 monster Aliza 1737,10,5000,0,0 +kh_dun02,0,0,0,0 monster Constant 1745,5,5000,0,0 +kh_dun02,0,0,0,0 boss_monster Kiel D-01 1734,1,7200000,600000,0 + +//================================================== +// kh_kiehl01 - Kiehl's Room +//================================================== +kh_kiehl01,0,0,0,0 monster Constant 1745,10,5000,0,0 +kh_kiehl01,67,171,5,5 monster Aliot 1740,1,180000,120000,0 +kh_kiehl01,67,171,5,5 monster Aliot 1736,1,180000,120000,0 +kh_kiehl01,85,154,3,3 monster Alicel 1739,1,180000,120000,0 +kh_kiehl01,85,154,3,3 monster Aliot 1740,1,180000,120000,0 +kh_kiehl01,106,154,3,3 monster Aliza 1746,1,180000,120000,0 +kh_kiehl01,122,155,3,3 monster Aliot 1740,1,180000,120000,0 +kh_kiehl01,122,155,3,3 monster Aliot 1736,1,180000,120000,0 +kh_kiehl01,122,155,3,3 monster Alicel 1739,1,180000,120000,0 +kh_kiehl01,32,124,3,3 monster Aliot 1740,1,180000,120000,0 +kh_kiehl01,37,110,3,3 monster Alicel 1735,1,180000,120000,0 +kh_kiehl01,37,110,3,3 monster Alicel 1739,1,180000,120000,0 +kh_kiehl01,80,22,3,3 monster Aliot 1740,1,180000,120000,0 +kh_kiehl01,105,40,3,3 monster Aliza 1746,1,180000,120000,0 +kh_kiehl01,105,40,3,3 monster Aliza 1737,1,180000,120000,0 +kh_kiehl01,135,24,3,3 monster Alicel 1739,1,180000,120000,0 +kh_kiehl01,173,90,3,3 monster Aliot 1740,1,180000,120000,0 +kh_kiehl01,156,101,3,3 monster Aliza 1746,1,180000,120000,0 +kh_kiehl01,128,102,3,3 monster Alicel 1739,1,180000,120000,0 +kh_kiehl01,128,102,3,3 monster Aliot 1740,1,180000,120000,0 +kh_kiehl01,122,155,3,3 monster Aliza 1746,1,180000,120000,0 diff --git a/npc/re/mobs/dungeons/lhz_dun.txt b/npc/re/mobs/dungeons/lhz_dun.txt new file mode 100644 index 000000000..54495a614 --- /dev/null +++ b/npc/re/mobs/dungeons/lhz_dun.txt @@ -0,0 +1,163 @@ +//===== rAthena Script ======================================= +//= Lighthalzen Dungeon(Biolabs) Monster Spawn Script +//===== By: ================================================== +// The Prometheus Project, rAthena dev team +//===== Current Version: ===================================== +//= 1.9 +//===== Compatible With: ===================================== +//= Any Athena +//===== Additional Comments: ================================= +//= 08/24/05 : Added 1st version. [Muad_Dib] +//= 1.1: Some corrections to level 1, 2 as pointed out by +//= MasterofMuppets. [Skotlex] +//= 1.3: Some fixes based on kRO's "RO Map" [Poki#3] +//= I also made the place more Moby ^^ +//= 1.4: Adjusted spawns according to own info from iRO [MasterOfMuppets] +//= 1.5: More accurate spawn numbers and iRO names thanks to Tharis [Playtester] +//= 1.6: Official X.3 spawns [Playtester] +//= 1.7 Corrected MVP spawn function to be standard to iRO. [L0ne_W0lf] +//= - A random 99 will now be spawned when the MVP spawns. +//= - Spare spawn and MVP spawn now spawn in official locations. +//= - Expandeded timer to allow for varying spawn times. +//= 1.7a Added dummy event to keep from causnig warnings. [L0ne_W0lf] +//= 1.8 Corrected MVP spawn variance (Labs2 MVP). [L0ne_W0lf] +//= 1.9 Added Bio4 spawns. [Chilly] +//============================================================ + +//================================================== +// lhz_dun01 - Somatology Laboratory +//================================================== +lhz_dun01,0,0,0,0 monster Remover 1682,100,5000,0,0 +lhz_dun01,0,0,0,0 monster Anopheles 1627,70,5000,0,0 +lhz_dun01,0,0,0,0 monster Metaling 1613,50,5000,0,0 +lhz_dun01,0,0,0,0 monster Kavach Icarus 1656,13,5000,0,0 +lhz_dun01,0,0,0,0 monster Errende Ebecee 1655,13,5000,0,0 +lhz_dun01,0,0,0,0 monster Laurell Weinder 1657,11,5000,0,0 +lhz_dun01,0,0,0,0 monster Wickebine Tres 1653,11,5000,0,0 +lhz_dun01,0,0,0,0 monster Armeyer Dinze 1654,8,5000,0,0 +lhz_dun01,0,0,0,0 monster Egnigem Cenia 1652,8,5000,0,0 +lhz_dun01,0,0,0,0 monster Gemini-S58 1681,1,5000,0,0 + +//================================================== +// lhz_dun02 - Somatology Laboratory +//================================================== +lhz_dun02,0,0,0,0 monster Laurell Weinder 1657,50,5000,0,0 +lhz_dun02,0,0,0,0 monster Wickebine Tres 1653,50,5000,0,0 +lhz_dun02,0,0,0,0 monster Kavach Icarus 1656,50,5000,0,0 +lhz_dun02,0,0,0,0 monster Errende Ebecee 1655,50,5000,0,0 +lhz_dun02,0,0,0,0 monster Egnigem Cenia 1652,50,5000,0,0 +lhz_dun02,0,0,0,0 monster Armeyer Dinze 1654,50,5000,0,0 +lhz_dun02,0,0,0,0 monster Remover 1682,20,5000,0,0 +lhz_dun02,0,0,0,0 monster Gemini-S58 1681,10,5000,0,0 +lhz_dun02,0,0,0,0 monster Eremes Guile 1635,1,5000,0,0 +lhz_dun02,0,0,0,0 boss_monster Egnigem Cenia 1658,1,7200000,600000,1 + +//================================================== +// lhz_dun03 - Somatology Laboratory +//================================================== +lhz_dun03,0,0,0,0 monster Cecil Damon 1638,81,5000,0,0 +lhz_dun03,0,0,0,0 monster Kathryne Keyron 1639,57,5000,0,0 +lhz_dun03,0,0,0,0 monster Margaretha Sorin 1637,42,5000,0,0 +lhz_dun03,0,0,0,0 monster Howard Alt-Eisen 1636,42,5000,0,0 +lhz_dun03,0,0,0,0 monster Eremes Guile 1635,42,5000,0,0 +lhz_dun03,0,0,0,0 monster Seyren Windsor 1634,42,5000,0,0 +lhz_dun03,139,158,20,11 monster Assassin Cross Eremes 1641,1,2580000,2340000,1 +lhz_dun03,138,138,36,34 monster High Wizard Kathryne 1645,1,2580000,2460000,1 +lhz_dun03,114,138,12,16 monster Lord Knight Seyren 1640,1,2700000,2400000,1 +lhz_dun03,139,117,20,11 monster Sniper Cecil 1644,1,2700000,2500000,1 +lhz_dun03,163,138,12,16 monster Whitesmith Howard 1642,1,3000000,2700000,1 +lhz_dun03,138,138,36,34 monster High Priest Margaretha 1643,1,3300000,3000000,1 + +lhz_dun03,0,0,0 script mvp_lhz_dun03 -1,{ +OnTimer6000000: // delay1 = 6000000 ms (100 min) + stopnpctimer; + sleep rand(0,30)*60000; // 0 to 30 minutes +OnInit: + // Select Coordinates to summon a random MVP on + switch(rand(1,6)) { + case 1: set .@x,140; set .@y,232; break; + case 2: set .@x,75; set .@y,138; break; + case 3: set .@x,140; set .@y,87; break; + case 4: set .@x,205; set .@y,140; break; + case 5: set .@x,123; set .@y,137; break; + case 6: set .@x,175; set .@y,137; break; + } + set .@mob,rand(1646,1651); + monster "lhz_dun03",.@x,.@y,strmobinfo(1,.@mob),.@mob,1,strnpcinfo(3)+"::OnMyMVPDead"; + + // Select Coordinates to summon a random 99 on + switch(rand(1,6)) { + case 1: set .@x2,183; set .@y2,97; break; + case 2: set .@x2,97; set .@y2,96; break; + case 3: set .@x2,47; set .@y2,139; break; + case 4: set .@x2,231; set .@y2,140; break; + case 5: set .@x2,139; set .@y2,211; break; + case 6: set .@x2,139; set .@y2,259; break; + } + set .@mob2,rand(1640,1645); + monster "lhz_dun03",.@x2,.@y2,strmobinfo(1,.@mob2),.@mob2,1,strnpcinfo(3)+"::OnMy99Dead"; + end; + +OnMyMVPDead: + killmonster "lhz_dun03",strnpcinfo(3)+"::OnMy99Dead"; + initnpctimer; +OnMy99Dead: + end; +} + +//======================================================================================== +// lhz_dun04 - Bio-life Labs 4F +//======================================================================================== +lhz_dun04,0,0,0,0 monster Randel 2221,50,5000,0,0 +lhz_dun04,0,0,0,0 monster Flamel 2222,50,5000,0,0 +lhz_dun04,0,0,0,0 monster Celia 2223,50,5000,0,0 +lhz_dun04,0,0,0,0 monster Chen 2224,50,5000,0,0 +lhz_dun04,0,0,0,0 monster Gertie 2225,50,5000,0,0 +lhz_dun04,0,0,0,0 monster Alphoccio 2226,50,5000,0,0 +lhz_dun04,0,0,0,0 monster Trentini 2227,50,5000,0,0 +lhz_dun04,0,0,0,0 monster Paladin Randel 2228,1,2700000,2400000,1 +lhz_dun04,0,0,0,0 monster Creator Flamel 2229,1,3000000,2700000,1 +lhz_dun04,0,0,0,0 monster Professor Celia 2230,1,2580000,2340000,1 +lhz_dun04,0,0,0,0 monster Champion Chen 2231,1,2700000,2500000,1 +lhz_dun04,0,0,0,0 monster Stalker Gertie 2232,1,3300000,3000000,1 +lhz_dun04,0,0,0,0 monster Clown Alphoccio 2233,1,2580000,2460000,1 +lhz_dun04,0,0,0,0 monster Gypsy Trentini 2234,1,2580000,2460000,1 + +lhz_dun04,0,0,0 script mvp_lhz_dun04 -1,{ +OnTimer6000000: // delay1 = 6000000 ms (100 min) + stopnpctimer; + sleep rand(0,30)*60000; // 0 to 30 minutes +OnInit: + // Select Coordinates to summon a random MVP on + switch(rand(1,7)) { + case 1: set .@x,77; set .@y,251; break; + case 2: set .@x,147; set .@y,224; break; + case 3: set .@x,219; set .@y,219; break; + case 4: set .@x,244; set .@y,120; break; + case 5: set .@x,149; set .@y,41; break; + case 6: set .@x,53; set .@y,109; break; + case 7: set .@x,149; set .@y,151; break; + } + set .@mob,rand(2235,2241); + monster "lhz_dun04",.@x,.@y,strmobinfo(1,.@mob),.@mob,1,strnpcinfo(3)+"::OnMyMVPDead"; + + // Select Coordinates to summon a random 99 on + switch(rand(1,7)) { + case 1: set .@x2,77; set .@y2,251; break; + case 2: set .@x2,147; set .@y2,224; break; + case 3: set .@x2,219; set .@y2,219; break; + case 4: set .@x2,244; set .@y2,120; break; + case 5: set .@x2,149; set .@y2,41; break; + case 6: set .@x2,53; set .@y2,109; break; + case 7: set .@x2,149; set .@y2,151; break; + } + set .@mob2,rand(2228,2234); + monster "lhz_dun04",.@x2,.@y2,strmobinfo(1,.@mob2),.@mob2,1,strnpcinfo(3)+"::OnMy99Dead"; + end; + +OnMyMVPDead: + killmonster "lhz_dun04",strnpcinfo(3)+"::OnMy99Dead"; + initnpctimer; +OnMy99Dead: + end; +} diff --git a/npc/re/mobs/dungeons/lou_dun.txt b/npc/re/mobs/dungeons/lou_dun.txt new file mode 100644 index 000000000..46c40fa30 --- /dev/null +++ b/npc/re/mobs/dungeons/lou_dun.txt @@ -0,0 +1,43 @@ +//===== rAthena Script ======================================= +//= Louyang Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Updated by MasterOfMuppets +//= 1.2 Added Bacsojin and Chung E [MasterOfMuppets] +//= 1.3 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// lou_dun01 - The Royal Tomb +//================================================== +lou_dun01,0,0,0,0 monster Jing Guai 1517,45,5000,0,0 +lou_dun01,0,0,0,0 monster Grizzly 1381,15,5000,0,0 +lou_dun01,0,0,0,0 monster Mi Gao 1516,15,5000,0,0 +lou_dun01,0,0,0,0 monster Horong 1129,15,5000,0,0 +lou_dun01,0,0,0,0 monster Side Winder 1037,10,5000,0,0 +lou_dun01,0,0,0,0 monster Leib Olmai 1306,1,300000,120000,0 +lou_dun01,197,77,10,10 monster Black Mushroom 1084,5,5000,0,0 +lou_dun01,0,0,0,0 monster Shining Plant 1083,5,5000,0,0 + +//================================================== +// lou_dun02 - Inside the Royal Tomb +//================================================== +lou_dun02,0,0,0,0 monster Yao Jun 1512,40,5000,0,0 +lou_dun02,0,0,0,0 monster Munak 1026,25,5000,0,0 +lou_dun02,0,0,0,0 monster Mimic 1191,5,5000,0,0 +lou_dun02,0,0,0,0 monster Zhu Po Long 1514,5,5000,0,0 + +//================================================== +// lou_dun03 - Suei Long Gon +//================================================== +lou_dun03,0,0,0,0 monster Zhu Po Long 1514,25,5000,0,0 +lou_dun03,0,0,0,0 monster Yao Jun 1512,25,5000,0,0 +lou_dun03,0,0,0,0 monster Mao Guai 1513,15,5000,0,0 +lou_dun03,0,0,0,0 monster Green Maiden 1631,5,5000,0,0 +lou_dun03,0,0,0,0 monster Green Maiden 1631,5,3000000,1800000,1 +lou_dun03,0,0,0,0 boss_monster White Lady 1630,1,7000000,600000,1 diff --git a/npc/re/mobs/dungeons/ma_dun.txt b/npc/re/mobs/dungeons/ma_dun.txt new file mode 100644 index 000000000..0794e0d59 --- /dev/null +++ b/npc/re/mobs/dungeons/ma_dun.txt @@ -0,0 +1,20 @@ +//===== rAthena Script ======================================== +//= Malaya Port Dungeon Monster Spawn Script +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Official kRO monster spawns +//===== Additional Comments: ================================= +//= 1.0 First Release +//============================================================ + +//================================================== +// ma_dun01 - Bangungot Hospital F1 +//================================================== +ma_dun01,0,0,0,0 monster Manananggal 2311,70,0,0,0 +ma_dun01,0,0,0,0 monster Wakwak 2315,50,0,0,0 +ma_dun01,0,0,0,0 monster Tiyanak 2314,30,0,0,0 diff --git a/npc/re/mobs/dungeons/mag_dun.txt b/npc/re/mobs/dungeons/mag_dun.txt new file mode 100644 index 000000000..7fce2de53 --- /dev/null +++ b/npc/re/mobs/dungeons/mag_dun.txt @@ -0,0 +1,32 @@ +//===== rAthena Script ======================================= +//= Magma Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 fixed 2,3,4 tabs instead of 1... and wrong mob names [Lupus] +//= 1.2 Official jRO 10.3 spawns [Playtester] +//= 1.3 More accurate spawns [Playtester] +//============================================================ + +//================================================== +// mag_dun01 - Nogg Road +//================================================== +mag_dun01,0,0,0,0 monster Explosion 1383,30,5000,0,0 +mag_dun01,0,0,0,0 monster Lava Golem 1366,20,5000,0,0 +mag_dun01,0,0,0,0 monster Blazer 1367,20,5000,0,0 +mag_dun01,0,0,0,0 monster Kaho 1072,20,5000,0,0 +mag_dun01,0,0,0,0 monster Grizzly 1381,10,5000,0,0 + +//================================================== +// mag_dun02 - Nogg Road +//================================================== +mag_dun02,0,0,0,0 monster Nightmare Terror 1379,46,5000,0,0 +mag_dun02,0,0,0,0 monster Deleter 1385,40,5000,0,0 +mag_dun02,0,0,0,0 monster Deleter 1384,38,5000,0,0 +mag_dun02,0,0,0,0 monster Blazer 1367,20,5000,0,0 +mag_dun02,0,0,0,0 monster Diabolic 1382,15,5000,0,0 +mag_dun02,0,0,0,0 monster Gig 1387,10,5000,0,0 diff --git a/npc/re/mobs/dungeons/mal_dun.txt b/npc/re/mobs/dungeons/mal_dun.txt new file mode 100644 index 000000000..79efeecbf --- /dev/null +++ b/npc/re/mobs/dungeons/mal_dun.txt @@ -0,0 +1,24 @@ +//===== rAthena Script ======================================== +//= Malangdo Dungeon Monster Spawn Script +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Official kRO monster spawns +//===== Additional Comments: ================================= +//= 1.0 First Release +//= 1.1 Updated to official script. [Euphy] +//============================================================ + +//================================================== +// mal_dun01 - Lagoon in the Stars +//================================================== +mal_dun01,0,0,0,0 monster Crab 1073,10,5000,0,0 +mal_dun01,0,0,0,0 monster Shellfish 1074,10,5000,0,0 +mal_dun01,0,0,0,0 monster Aster 1266,20,5000,0,0 +mal_dun01,0,0,0,0 monster Red Eruma 2197,60,5000,0,0 +mal_dun01,0,0,0,0 monster Siorava 2199,45,5000,0,0 +mal_dun01,0,0,0,0 monster Wild Rider 2208,1,5000,0,0 diff --git a/npc/re/mobs/dungeons/mjo_dun.txt b/npc/re/mobs/dungeons/mjo_dun.txt new file mode 100644 index 000000000..435678446 --- /dev/null +++ b/npc/re/mobs/dungeons/mjo_dun.txt @@ -0,0 +1,35 @@ +//===== rAthena Script ======================================= +//= Coal Mine(Dead pit) Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Official kRO 10.1 spawns [Playtester] +//============================================================ + +//================================================== +// mjo_dun01 - Mjolnir Dead Pit +//================================================== +mjo_dun01,0,0,0,0 monster Tarou 1175,60,5000,0,0 +mjo_dun01,0,0,0,0 monster Familiar 1005,30,5000,0,0 +mjo_dun01,0,0,0,0 monster Martin 1145,20,5000,0,0 + +//================================================== +// mjo_dun02 - Mjolnir Dead Pit +//================================================== +mjo_dun02,0,0,0,0 monster Martin 1145,60,5000,0,0 +mjo_dun02,0,0,0,0 monster Giearth 1121,35,5000,0,0 +mjo_dun02,0,0,0,0 monster Drainliar 1111,20,5000,0,0 +mjo_dun02,0,0,0,0 monster Skeleton Worker 1169,20,5000,0,0 + +//================================================== +// mjo_dun03 - Mjolnir Dead Pit +//================================================== +mjo_dun03,0,0,0,0 monster Skeleton Worker 1169,70,5000,0,0 +mjo_dun03,0,0,0,0 monster Myst 1151,35,5000,0,0 +mjo_dun03,0,0,0,0 monster Giearth 1121,5,5000,0,0 +mjo_dun03,0,0,0,0 monster Martin 1145,5,5000,0,0 +mjo_dun03,0,0,0,0 monster Cramp 1209,3,5000,0,0 diff --git a/npc/re/mobs/dungeons/moc_pryd.txt b/npc/re/mobs/dungeons/moc_pryd.txt new file mode 100644 index 000000000..e082fec52 --- /dev/null +++ b/npc/re/mobs/dungeons/moc_pryd.txt @@ -0,0 +1,64 @@ +//===== rAthena Script ======================================= +//= Morocc Pryamid Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Official kRO 10.1 spawns [Playtester] +//= 1.2 More accurate spawns [Playtester] +//= 1.3 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// moc_pryd01 - Inside Pyramid +//================================================== +moc_pryd01,0,0,0,0 monster Familiar 1005,50,5000,0,0 +moc_pryd01,0,0,0,0 monster Poporing 1031,20,5000,0,0 + +//================================================== +// moc_pryd02 - Inside Pyramid +//================================================== +moc_pryd02,0,0,0,0 monster Mummy 1041,30,5000,0,0 +moc_pryd02,0,0,0,0 monster Soldier Skeleton 1028,30,5000,0,0 +moc_pryd02,0,0,0,0 monster Archer Skeleton 1016,30,5000,0,0 +moc_pryd02,0,0,0,0 monster Drainliar 1111,20,5000,0,0 +moc_pryd02,0,0,0,0 monster Poporing 1031,20,5000,0,0 +moc_pryd02,0,0,0,0 monster Isis 1029,5,5000,0,0 + +//================================================== +// moc_pryd03 - Inside Pyramid +//================================================== +moc_pryd03,0,0,0,0 monster Mummy 1041,70,5000,0,0 +moc_pryd03,0,0,0,0 monster Verit 1032,20,5000,0,0 +moc_pryd03,0,0,0,0 monster Matyr 1146,10,5000,0,0 +moc_pryd03,0,0,0,0 monster Drainliar 1111,5,5000,0,0 +moc_pryd03,0,0,0,0 monster Mimic 1191,5,5000,0,0 + +//================================================== +// moc_pryd04 - Inside Pyramid +//================================================== +moc_pryd04,0,0,0,0 monster Isis 1029,50,5000,0,0 +moc_pryd04,0,0,0,0 monster Mummy 1041,25,5000,0,0 +moc_pryd04,0,0,0,0 monster Matyr 1146,20,5000,0,0 +moc_pryd04,0,0,0,0 monster Mimic 1191,15,5000,0,0 +moc_pryd04,0,0,0,0 monster Ancient Mummy 1297,3,5000,0,0 +moc_pryd04,0,0,0,0 boss_monster Osiris 1038,1,3600000,600000,0 + +//================================================== +// moc_pryd05 - Inside Pyramid +//================================================== +moc_pryd05,0,0,0,0 monster Minorous 1149,60,5000,0,0 +moc_pryd05,0,0,0,0 monster Verit 1032,50,5000,0,0 +moc_pryd05,0,0,0,0 monster Mummy 1041,10,5000,0,0 + +//================================================== +// moc_pryd06 - Inside Pyramid +//================================================== +moc_pryd06,0,0,0,0 monster Mimic 1191,30,5000,0,0 +moc_pryd06,0,0,0,0 monster Verit 1032,30,5000,0,0 +moc_pryd06,0,0,0,0 monster Arclouze 1194,20,5000,0,0 +moc_pryd06,0,0,0,0 monster Ancient Mummy 1297,20,5000,0,0 +moc_pryd06,102,85,1,1 boss_monster Amon Ra 1511,1,3600000,600000,0 diff --git a/npc/re/mobs/dungeons/mosk_dun.txt b/npc/re/mobs/dungeons/mosk_dun.txt new file mode 100644 index 000000000..b340ccb12 --- /dev/null +++ b/npc/re/mobs/dungeons/mosk_dun.txt @@ -0,0 +1,41 @@ +//===== rAthena Script ======================================= +//= Moscovia Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 Added spawns [Playtester] +//= 1.1 Swapped named according to mob db. [L0ne_W0lf] +//= 1.2 Fixed the mob names (iRO names) [Playtester] +//= 1.2 Updated spawns kinda. [Kisuka] +//============================================================ + +//================================================== +// mosk_dun01 - Les Forest +//================================================== +mosk_dun01,0,0,0,0 monster Wood Goblin 1880,66,5000,0,0 +mosk_dun01,0,0,0,0 monster Les 1881,33,5000,0,0 +mosk_dun01,0,0,0,0 monster Poporing 1031,20,5000,0,0 +mosk_dun01,0,0,0,0 monster Mantis 1139,10,5000,0,0 + +//================================================== +// mosk_dun02 - Temny Forest +//================================================== +mosk_dun02,0,0,0,0 monster Les 1881,40,5000,0,0 +mosk_dun02,0,0,0,0 monster Wood Goblin 1880,30,5000,0,0 +mosk_dun02,0,0,0,0 monster Baba Yaga 1882,20,5000,0,0 +mosk_dun02,0,0,0,0 monster Uzhas 1883,5,5000,0,0 + +//================================================== +// mosk_dun03 - Dremuci Forest +//================================================== +mosk_dun03,0,0,0,0 monster Baba Yaga 1882,60,5000,0,0 +mosk_dun03,0,0,0,0 monster Uzhas 1883,35,5000,0,0 +mosk_dun03,0,0,0,0 monster Mavka 1884,15,5000,0,0 +mosk_dun03,207,221,5,5 boss_monster Gopinich 1885,1,7200000,600000,1 +mosk_dun03,0,0,0,0 monster Yellow Plant 1081,10,5000,0,0 +mosk_dun03,0,0,0,0 monster White Plant 1082,10,5000,0,0 +mosk_dun03,0,0,0,0 monster Shining Plant 1083,5,10000,0,0 diff --git a/npc/re/mobs/dungeons/nyd_dun.txt b/npc/re/mobs/dungeons/nyd_dun.txt new file mode 100644 index 000000000..8d10e2631 --- /dev/null +++ b/npc/re/mobs/dungeons/nyd_dun.txt @@ -0,0 +1,30 @@ +//===== rAthena Script ======================================= +//= Yggdrasil Root Dungeon +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 First version +//============================================================ + +//================================================== +// nyd_dun01 - Yggdrasil Root +//================================================== +nyd_dun01,0,0,0,0 monster Draco 2013,40,5000,0,0 +nyd_dun01,0,0,0,0 monster Aqua Elemental 2016,20,5000,0,0 +nyd_dun01,0,0,0,0 monster Dark Pinguicula 2015,10,5000,0,0 +nyd_dun01,0,0,0,0 monster Rata 2017,2,900000,0,0 +nyd_dun01,0,0,0,0 monster Duneyrr 2018,2,900000,0,0 +nyd_dun01,47,219,0,0 monster Draco Egg 2014,1,60000,30000,0 +nyd_dun01,57,220,0,0 monster Draco Egg 2014,1,60000,30000,0 +nyd_dun01,57,226,0,0 monster Draco Egg 2014,1,60000,30000,0 +nyd_dun01,56,226,0,0 monster Draco Egg 2014,1,60000,30000,0 +nyd_dun01,64,219,0,0 monster Draco Egg 2014,1,60000,30000,0 +nyd_dun01,53,221,0,0 monster Draco Egg 2014,1,60000,30000,0 +nyd_dun01,58,216,0,0 monster Draco Egg 2014,1,60000,30000,0 +nyd_dun01,60,226,0,0 monster Draco Egg 2014,1,60000,30000,0 +nyd_dun01,53,228,0,0 monster Draco Egg 2014,1,60000,30000,0 +nyd_dun01,47,218,0,0 monster Draco Egg 2014,1,60000,30000,0 diff --git a/npc/re/mobs/dungeons/odin.txt b/npc/re/mobs/dungeons/odin.txt new file mode 100644 index 000000000..b7a9038ca --- /dev/null +++ b/npc/re/mobs/dungeons/odin.txt @@ -0,0 +1,55 @@ +//===== rAthena Script ======================================= +//= Odin Temple Monster Spawn Script +//===== By: ================================================== +//= Poki#3 (0.1) +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 Updated by using Tharis' Homun AI, by Tharis [Vicious] +//= 1.1 More accurate spawns [Playtester] +//= 1.2 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// odin_tem01 - Odin Shrine +//================================================== +odin_tem01,0,0,0,0 monster Plasma 1693,10,5000,0,0 +odin_tem01,0,0,0,0 monster Breeze 1692,10,5000,0,0 +odin_tem01,0,0,0,0 monster Frus 1753,5,5000,0,0 +odin_tem01,0,0,0,0 monster Skogul 1752,5,5000,0,0 +odin_tem01,0,0,0,0 monster Plasma 1697,3,5000,0,0 +odin_tem01,0,0,0,0 monster Plasma 1695,3,5000,0,0 +odin_tem01,0,0,0,0 monster Plasma 1696,3,5000,0,0 +odin_tem01,0,0,0,0 monster Plasma 1694,3,5000,0,0 +odin_tem01,0,0,0,0 monster Green Plant 1080,5,60000,30000,1 +odin_tem01,0,0,0,0 monster Yellow Plant 1081,5,60000,30000,1 +odin_tem01,0,0,0,0 monster Blue Plant 1079,5,600000,300000,1 + +//================================================== +// odin_tem02 - Odin Shrine +//================================================== +odin_tem02,0,0,0,0 monster Skogul 1752,30,5000,0,0 +odin_tem02,0,0,0,0 monster Frus 1753,30,5000,0,0 +odin_tem02,0,0,0,0 monster Plasma 1693,15,5000,0,0 +odin_tem02,0,0,0,0 monster Frus 1762,3,5000,0,0 +odin_tem02,0,0,0,0 monster Skogul 1761,2,5000,0,0 +odin_tem02,0,0,0,0 monster Skeggiold 1754,1,5000,0,0 +odin_tem02,0,0,0,0 monster Skeggiold 1755,1,5000,0,0 +odin_tem02,0,0,0,0 monster Blue Plant 1079,10,1800000,900000,1 + +//================================================== +// odin_tem03 - Odin Shrine +//================================================== +odin_tem03,0,0,0,0 monster Plasma 1693,20,5000,0,0 +odin_tem03,0,0,0,0 monster Skeggiold 1754,16,5000,0,0 +odin_tem03,0,0,0,0 monster Skeggiold 1755,16,5000,0,0 +odin_tem03,0,0,0,0 monster Skogul 1761,5,5000,0,0 +odin_tem03,0,0,0,0 monster Frus 1762,5,5000,0,0 +odin_tem03,0,0,0,0 monster Skogul 1752,4,5000,0,0 +odin_tem03,0,0,0,0 monster Frus 1753,4,5000,0,0 +odin_tem03,0,0,0,0 monster Valkyrie 1765,2,5400000,1800000,0 +odin_tem03,0,0,0,0 boss_monster Valkyrie Randgris 1751,1,28800000,600000,1 +odin_tem03,0,0,0,0 monster Blue Plant 1079,15,1800000,900000,1 +odin_tem03,0,0,0,0 monster Shining Plant 1083,15,1800000,900000,1 diff --git a/npc/re/mobs/dungeons/orcsdun.txt b/npc/re/mobs/dungeons/orcsdun.txt new file mode 100644 index 000000000..3a011ec5d --- /dev/null +++ b/npc/re/mobs/dungeons/orcsdun.txt @@ -0,0 +1,36 @@ +//===== rAthena Script ======================================= +//= Orc Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.2 Official kRO 10.1 spawns [Playtester] +//============================================================ + +//================================================== +// orcsdun01 - Orc Dungeon +//================================================== +orcsdun01,0,0,0,0 monster Orc Zombie 1153,80,5000,0,0 +orcsdun01,0,0,0,0 monster Familiar 1005,15,5000,0,0 +orcsdun01,0,0,0,0 monster Steel Chonchon 1042,10,5000,0,0 +orcsdun01,0,0,0,0 monster Orc Skeleton 1152,10,5000,0,0 +orcsdun01,0,0,0,0 monster Drainliar 1111,5,5000,0,0 +orcsdun01,167,133,5,5 monster Black Mushroom 1084,5,900000,450000,1 +orcsdun01,67,34,5,5 monster Black Mushroom 1084,5,900000,450000,1 +orcsdun01,83,50,5,5 monster White Plant 1082,2,180000,90000,1 +orcsdun01,58,67,10,10 monster White Plant 1082,3,180000,90000,1 + +//================================================== +// orcsdun02 - Orc Dungeon +//================================================== +orcsdun02,0,0,0,0 monster Orc Skeleton 1152,50,5000,0,0 +orcsdun02,0,0,0,0 monster Zenorc 1177,50,5000,0,0 +orcsdun02,0,0,0,0 monster Drainliar 1111,20,5000,0,0 +orcsdun02,0,0,0,0 monster Steel Chonchon 1042,20,5000,0,0 +orcsdun02,0,0,0,0 monster Orc Archer 1189,5,5000,0,0 +orcsdun02,0,0,0,0 monster Black Mushroom 1084,5,180000,90000,1 +orcsdun02,105,37,10,10 monster White Plant 1082,2,180000,90000,1 +orcsdun02,37,44,10,10 monster White Plant 1082,3,180000,90000,1 diff --git a/npc/re/mobs/dungeons/pay_dun.txt b/npc/re/mobs/dungeons/pay_dun.txt new file mode 100644 index 000000000..eade9ece2 --- /dev/null +++ b/npc/re/mobs/dungeons/pay_dun.txt @@ -0,0 +1,150 @@ +//===== rAthena Script ======================================= +//= Payon Cave Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Official kRO 10.1 spawns [Playtester] +//= 1.2 Small spawn update [Playtester] +//= 1.3 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +/// pay_dun00 - Payon Cave +//================================================== +pay_dun00,0,0,0,0 monster Zombie 1015,40,5000,0,0 +pay_dun00,0,0,0,0 monster Skeleton 1076,35,5000,0,0 +pay_dun00,0,0,0,0 monster Familiar 1005,15,5000,0,0 +pay_dun00,0,0,0,0 monster Poporing 1031,15,5000,0,0 +pay_dun00,0,0,0,0 monster Red Plant 1078,15,180000,90000,1 +pay_dun00,140,140,5,5 monster Black Mushroom 1084,3,360000,180000,1 + +//================================================== +// pay_dun01 - Payon Cave +//================================================== +pay_dun01,0,0,0,0 monster Soldier Skeleton 1028,50,5000,0,0 +pay_dun01,0,0,0,0 monster Archer Skeleton 1016,30,5000,0,0 +pay_dun01,0,0,0,0 monster Eggyra 1116,15,5000,0,0 +pay_dun01,0,0,0,0 monster Drainliar 1111,5,5000,0,0 +pay_dun01,235,54,10,10 monster Black Mushroom 1084,7,900000,450000,1 +pay_dun01,0,0,0,0 monster Red Plant 1078,10,180000,90000,1 + +//================================================== +// pay_dun02 - Payon Cave +//================================================== +pay_dun02,0,0,0,0 monster Soldier Skeleton 1028,45,5000,0,0 +pay_dun02,0,0,0,0 monster Munak 1026,40,5000,0,0 +pay_dun02,0,0,0,0 monster Bongun 1188,30,5000,0,0 +pay_dun02,0,0,0,0 monster Archer Skeleton 1016,20,5000,0,0 +pay_dun02,0,0,0,0 monster Poporing 1031,10,5000,0,0 +pay_dun02,0,0,0,0 monster Nine Tail 1180,1,5000,0,0 +pay_dun02,117,200,0,0 monster Hydra 1068,1,275000,100000,1 +pay_dun02,118,192,0,0 monster Hydra 1068,1,285000,100000,1 +pay_dun02,119,199,0,0 monster Hydra 1068,1,300000,100000,1 +pay_dun02,120,194,0,0 monster Hydra 1068,1,300000,100000,1 +pay_dun02,122,200,0,0 monster Hydra 1068,1,300000,100000,1 +pay_dun02,110,190,0,0 monster Hydra 1068,1,300000,100000,1 +pay_dun02,110,194,0,0 monster Hydra 1068,1,300000,100000,1 +pay_dun02,117,191,0,0 monster Hydra 1068,1,300000,100000,1 +pay_dun02,109,193,0,0 monster Hydra 1068,1,300000,100000,1 +pay_dun02,118,201,0,0 monster Hydra 1068,1,300000,100000,1 +pay_dun02,113,193,0,0 monster Hydra 1068,1,300000,100000,1 +pay_dun02,116,196,0,0 monster Hydra 1068,1,300000,100000,1 +pay_dun02,112,192,0,0 monster Hydra 1068,1,300000,100000,1 +pay_dun02,111,191,0,0 monster Hydra 1068,1,300000,100000,1 +pay_dun02,229,183,0,0 monster Mandragora 1020,1,300000,100000,1 +pay_dun02,227,184,0,0 monster Mandragora 1020,1,300000,100000,1 +pay_dun02,227,185,0,0 monster Mandragora 1020,1,300000,100000,1 +pay_dun02,120,203,0,0 monster Hydra 1068,1,300000,100000,1 +pay_dun02,117,206,0,0 monster Hydra 1068,1,302000,100000,1 +pay_dun02,120,200,0,0 monster Hydra 1068,1,303000,100000,1 +pay_dun02,116,199,0,0 monster Hydra 1068,1,306000,100000,1 +pay_dun02,118,198,0,0 monster Hydra 1068,1,312000,100000,1 +pay_dun02,117,197,0,0 monster Hydra 1068,1,314000,100000,1 +pay_dun02,119,196,0,0 monster Hydra 1068,1,315000,100000,1 +pay_dun02,113,194,0,0 monster Hydra 1068,1,319000,100000,1 +pay_dun02,107,190,0,0 monster Hydra 1068,1,320000,100000,1 +pay_dun02,122,197,0,0 monster Hydra 1068,1,321000,100000,1 +pay_dun02,119,205,0,0 monster Hydra 1068,1,324000,100000,1 +pay_dun02,116,190,0,0 monster Hydra 1068,1,326000,100000,1 +pay_dun02,108,191,0,0 monster Hydra 1068,1,332000,100000,1 +pay_dun02,118,207,0,0 monster Hydra 1068,1,332000,100000,1 +pay_dun02,121,200,0,0 monster Hydra 1068,1,333000,100000,1 +pay_dun02,116,205,0,0 monster Hydra 1068,1,345000,100000,1 +pay_dun02,109,192,0,0 monster Hydra 1068,1,374000,100000,1 +pay_dun02,37,243,0,0 monster Black Mushroom 1084,1,600000,300000,1 +pay_dun02,111,199,10,10 monster Black Mushroom 1084,7,900000,450000,1 +pay_dun02,110,216,20,10 monster White Plant 1082,3,180000,90000,1 +pay_dun02,132,84,10,10 monster White Plant 1082,3,180000,90000,1 +pay_dun02,197,113,10,10 monster Red Plant 1078,4,180000,90000,1 +pay_dun02,55,254,10,10 monster Red Plant 1078,4,180000,90000,1 + +//================================================== +// pay_dun03 - Payon Cave +//================================================== +pay_dun03,0,0,0,0 monster Sohee 1170,70,5000,0,0 +pay_dun03,0,0,0,0 monster Greatest General 1277,3,5000,0,0 +pay_dun03,0,0,0,0 monster Bongun 1188,3,5000,0,0 +pay_dun03,0,0,0,0 monster Munak 1026,3,5000,0,0 +pay_dun03,0,0,0,0 monster Nine Tail 1180,2,5000,0,0 +pay_dun03,126,135,0,0 monster Mandragora 1020,1,300000,100000,1 +pay_dun03,126,134,0,0 monster Mandragora 1020,1,300000,100000,1 +pay_dun03,126,133,0,0 monster Mandragora 1020,1,300000,100000,1 +pay_dun03,126,132,0,0 monster Mandragora 1020,1,300000,100000,1 +pay_dun03,126,131,0,0 monster Mandragora 1020,1,300000,100000,1 +pay_dun03,179,133,0,0 monster Mandragora 1020,1,300000,100000,1 +pay_dun03,179,132,0,0 monster Mandragora 1020,1,300000,100000,1 +pay_dun03,179,134,0,0 monster Mandragora 1020,1,300000,100000,1 +pay_dun03,179,131,0,0 monster Mandragora 1020,1,300000,100000,1 +pay_dun03,179,130,0,0 monster Mandragora 1020,1,300000,100000,1 +pay_dun03,71,67,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,62,67,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,57,65,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,64,66,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,66,65,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,59,64,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,68,64,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,71,64,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,66,63,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,69,68,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,60,68,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,67,69,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,67,71,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,66,73,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,68,72,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,63,70,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,58,69,0,0 monster Hydra 1068,1,600000,300000,1 +pay_dun03,154,112,0,0 monster Whisper 1185,1,1800000,0,1 +pay_dun03,84,63,0,0 monster Whisper 1185,1,1800000,0,1 +pay_dun03,81,61,0,0 monster Whisper 1185,1,1800000,0,1 +pay_dun03,161,117,0,0 monster Whisper 1185,1,1800000,0,1 +pay_dun03,89,147,0,0 monster Giant Whisper 1186,1,14400000,0,1 +pay_dun03,228,61,0,0 monster Red Plant 1078,1,600000,300000,1 +pay_dun03,138,42,0,0 monster Blue Plant 1079,1,600000,300000,1 +pay_dun03,120,186,0,0 monster Green Plant 1080,1,600000,300000,1 +pay_dun03,88,35,0,0 monster Yellow Plant 1081,1,600000,300000,1 +pay_dun03,0,0,0,0 monster Red Plant 1078,15,180000,90000,1 +pay_dun03,246,56,20,20 monster White Plant 1082,3,180000,90000,1 +pay_dun03,52,262,10,4 monster White Plant 1082,2,180000,90000,1 + +//================================================== +// pay_dun04 - Payon Cave +//================================================== +pay_dun04,0,0,0,0 monster Dokebi 1110,40,5000,0,0 +pay_dun04,0,0,0,0 monster Nine Tail 1180,30,5000,0,0 +pay_dun04,0,0,0,0 monster Horong 1129,30,5000,0,0 +pay_dun04,0,0,0,0 monster Archer Skeleton 1016,15,5000,0,0 +pay_dun04,0,0,0,0 monster Greatest General 1277,15,5000,0,0 +pay_dun04,0,0,0,0 monster Am Mut 1301,1,5000,0,0 +pay_dun04,0,0,0,0 monster Skeleton General 1290,1,5000,0,0 +pay_dun04,120,115,0,0 boss_monster Moonlight Flower 1150,1,3600000,600000,1 +pay_dun04,120,115,0,0 monster Cat o' Nine Tails 1307,1,3600000,7200000,1 +pay_dun04,120,120,10,10 monster Shining Plant 1083,1,1800000,900000,1 +pay_dun04,28,110,5,5 monster Shining Plant 1083,1,1800000,900000,1 +pay_dun04,0,0,0,0 monster Red Plant 1078,10,180000,90000,1 +pay_dun04,107,206,5,5 monster White Plant 1082,2,180000,90000,1 +pay_dun04,28,110,10,10 monster White Plant 1082,2,180000,90000,1 +pay_dun04,190,207,5,5 monster White Plant 1082,2,180000,90000,1 diff --git a/npc/re/mobs/dungeons/prt_maze.txt b/npc/re/mobs/dungeons/prt_maze.txt new file mode 100644 index 000000000..169127050 --- /dev/null +++ b/npc/re/mobs/dungeons/prt_maze.txt @@ -0,0 +1,102 @@ +//===== rAthena Script ======================================= +//= Prontera Maze(Hidden Temple) Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.2 Official kRO 10.1 spawns [Playtester] +//= 1.3 Some small fixes [Playtester] +//= 1.4 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// prt_maze01 - Labyrinth Forest +//================================================== +prt_maze01,179,20,21,21 monster Poring 1002,5,120000,40000,1 +prt_maze01,179,180,21,21 monster Coco 1104,5,120000,40000,1 +prt_maze01,139,140,21,21 monster Stainer 1174,5,120000,40000,1 +prt_maze01,139,180,21,21 monster Caramel 1103,5,120000,40000,1 +prt_maze01,99,180,21,21 monster Dustiness 1114,5,120000,40000,1 +prt_maze01,59,100,21,21 monster Horn 1128,5,120000,40000,1 +prt_maze01,99,100,21,21 monster Chonchon 1011,5,120000,40000,1 +prt_maze01,59,180,21,21 monster Martin 1145,5,120000,40000,1 +prt_maze01,19,60,21,21 monster Wolf 1013,5,120000,40000,1 +prt_maze01,59,60,21,21 monster Boa 1025,5,120000,40000,1 +prt_maze01,99,60,21,21 monster Smokie 1056,5,120000,40000,1 +prt_maze01,139,20,21,21 monster Lunatic 1063,5,120000,40000,1 +prt_maze01,99,20,21,21 monster Fabre 1007,5,120000,40000,1 +prt_maze01,19,180,21,21 monster Savage 1166,5,120000,40000,1 +prt_maze01,59,20,21,21 monster Pupa 1008,5,120000,40000,1 +prt_maze01,19,20,21,21 monster Poporing 1031,5,120000,40000,1 +prt_maze01,179,60,21,21 monster Rocker 1052,5,120000,40000,1 +prt_maze01,139,60,21,21 monster Bigfoot 1060,5,120000,40000,1 +prt_maze01,19,140,21,21 monster Steel Chonchon 1042,5,120000,40000,1 +prt_maze01,59,140,21,21 monster Yoyo 1057,4,120000,40000,1 +prt_maze01,19,180,21,21 monster Savage 1166,3,120000,40000,1 +prt_maze01,179,100,21,21 monster Argiope 1099,3,120000,40000,1 +prt_maze01,99,140,21,21 monster Side Winder 1037,3,120000,40000,1 +prt_maze01,179,140,21,21 monster Mantis 1139,3,120000,40000,1 +prt_maze01,19,100,21,21 monster Hunter Fly 1035,3,120000,40000,1 +prt_maze01,139,100,21,21 monster Argos 1100,3,120000,40000,1 +prt_maze01,59,140,21,21 monster Choco 1214,2,120000,40000,1 +prt_maze01,0,0,0,0 monster Hunter Fly 1035,1,5000,0,0 +prt_maze01,99,20,21,21 monster Creamy 1018,1,120000,40000,1 +prt_maze01,0,0,0,0 monster Vagabond Wolf 1092,1,3600000,1800000,0 +prt_maze01,101,138,5,5 monster Shining Plant 1083,1,1800000,900000,1 +prt_maze01,101,138,5,5 monster White Plant 1082,1,1800000,900000,1 +prt_maze01,99,181,5,5 monster White Plant 1082,2,1800000,900000,1 +prt_maze01,60,140,10,15 monster Blue Plant 1079,1,1800000,900000,1 +prt_maze01,61,101,10,10 monster Yellow Plant 1081,1,1800000,900000,1 +prt_maze01,141,100,10,10 monster Shining Plant 1083,1,1800000,900000,1 +prt_maze01,141,100,10,10 monster Blue Plant 1079,1,1800000,900000,1 +prt_maze01,0,0,0,0 monster Red Plant 1078,5,180000,90000,1 +prt_maze01,100,100,10,10 monster Blue Plant 1079,1,1800000,900000,1 +prt_maze01,100,100,10,10 monster Yellow Plant 1081,1,1800000,900000,1 +prt_maze01,176,132,5,5 monster Black Mushroom 1084,3,180000,90000,1 +prt_maze01,181,149,3,3 monster Black Mushroom 1084,2,180000,90000,1 +prt_maze01,178,60,10,10 monster Red Mushroom 1085,3,180000,90000,1 +prt_maze01,168,60,3,3 monster Red Mushroom 1085,2,180000,90000,1 + +//================================================== +// prt_maze02 - Labyrinth Forest +//================================================== +prt_maze02,0,0,0,0 monster Poporing 1031,25,5000,0,0 +prt_maze02,0,0,0,0 monster Bigfoot 1060,5,5000,0,0 +prt_maze02,0,0,0,0 monster Sasquatch 1243,1,900000,40000,0 +prt_maze02,0,0,0,0 monster Leib Olmai 1306,1,1800000,900000,0 + +//================================================== +// prt_maze03 - Labyrinth Forest +//================================================== +prt_maze03,0,0,0,0 monster Poporing 1031,45,5000,0,0 +prt_maze03,0,0,0,0 monster Hunter Fly 1035,30,5000,0,0 +prt_maze03,170,170,70,70 monster Mantis 1139,30,60000,30000,0 +prt_maze03,100,100,80,80 monster Baphomet Jr. 1101,25,5000,0,0 +prt_maze03,150,50,70,70 monster Side Winder 1037,20,300000,150000,0 +prt_maze03,50,150,70,70 monster Stem Worm 1215,20,300000,150000,0 +prt_maze03,0,0,0,0 monster Side Winder 1037,10,5000,0,0 +prt_maze03,0,0,0,0 monster Killer Mantis 1294,1,5000,0,0 +prt_maze03,170,170,70,70 monster Eclipse 1093,1,1920000,150000,1 +prt_maze03,23,23,70,70 monster Mastering 1090,1,1920000,150000,1 +prt_maze03,50,150,70,70 monster Vagabond Wolf 1092,1,1920000,150000,1 +prt_maze03,150,50,70,70 monster Vocal 1088,1,1920000,1500000,1 +prt_maze03,0,0,0,0 monster Ghostring 1120,1,6800000,3400000,1 +prt_maze03,0,0,0,0 boss_monster Baphomet 1039,1,7200000,600000,1 +prt_maze03,61,98,10,10 monster Shining Plant 1083,1,1800000,900000,1 +prt_maze03,61,98,10,10 monster Blue Plant 1079,1,1800000,900000,1 +prt_maze03,61,98,10,10 monster Yellow Plant 1081,1,1800000,900000,1 +prt_maze03,57,56,10,10 monster Shining Plant 1083,1,1800000,900000,1 +prt_maze03,15,15,10,10 monster Shining Plant 1083,1,1800000,900000,1 +prt_maze03,137,140,3,3 monster Shining Plant 1083,1,1800000,900000,1 +prt_maze03,17,58,10,10 monster Shining Plant 1083,1,1800000,900000,1 +prt_maze03,17,58,10,10 monster Blue Plant 1079,1,1800000,900000,1 +prt_maze03,99,141,10,10 monster Blue Plant 1079,2,1800000,900000,1 +prt_maze03,99,21,10,10 monster Blue Plant 1079,1,1800000,900000,1 +prt_maze03,0,0,0,0 monster Red Plant 1078,5,180000,90000,1 +prt_maze03,99,21,10,10 monster Black Mushroom 1084,3,180000,90000,1 +prt_maze03,54,15,10,10 monster Black Mushroom 1084,3,180000,90000,1 +prt_maze03,171,180,3,3 monster Red Mushroom 1085,2,180000,90000,1 +prt_maze03,174,187,3,3 monster Red Mushroom 1085,3,180000,90000,1 diff --git a/npc/re/mobs/dungeons/prt_sew.txt b/npc/re/mobs/dungeons/prt_sew.txt new file mode 100644 index 000000000..23a10de97 --- /dev/null +++ b/npc/re/mobs/dungeons/prt_sew.txt @@ -0,0 +1,53 @@ +//===== rAthena Script ======================================= +//= Prontera Sewers(Culvert) Dungeon Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Official kRO 10.1 spawns [Playtester] +//= 1.2 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// prt_sewb1 - Prontera Culvert +//================================================== +prt_sewb1,0,0,0,0 monster Thief Bug 1051,30,5000,0,0 +prt_sewb1,0,0,0,0 monster Thief Bug Egg 1048,80,5000,0,0 +prt_sewb1,0,0,0,0 monster Tarou 1175,10,5000,0,0 +prt_sewb1,0,0,0,0 monster Familiar 1005,10,5000,0,0 + +//================================================== +// prt_sewb2 - Prontera Culvert +//================================================== +prt_sewb2,0,0,0,0 monster Thief Bug 1051,70,5000,0,0 +prt_sewb2,0,0,0,0 monster Tarou 1175,60,5000,0,0 +prt_sewb2,0,0,0,0 monster Plankton 1161,30,5000,0,0 +prt_sewb2,0,0,0,0 monster Thief Bug Egg 1048,20,5000,0,0 +prt_sewb2,0,0,0,0 monster Spore 1014,20,5000,0,0 +prt_sewb2,0,0,0,0 monster Thief Bug Female 1053,10,5000,0,0 +prt_sewb2,0,0,0,0 monster Familiar 1005,10,5000,0,0 + +//================================================== +// prt_sewb3 - Prontera Culvert +//================================================== +prt_sewb3,0,0,0,0 monster Thief Bug Female 1053,65,5000,0,0 +prt_sewb3,0,0,0,0 monster Thief Bug Male 1054,65,5000,0,0 +prt_sewb3,0,0,0,0 monster Thief Bug 1051,20,5000,0,0 +prt_sewb3,0,0,0,0 monster Familiar 1005,20,5000,0,0 +prt_sewb3,0,0,0,0 monster Tarou 1175,15,5000,0,0 +prt_sewb3,0,0,0,0 monster Poison Spore 1077,15,5000,0,0 +prt_sewb3,0,0,0,0 monster Thief Bug Egg 1048,10,5000,0,0 + +//================================================== +// prt_sewb4 - Prontera Culvert +//================================================== +prt_sewb4,0,0,0,0 monster Thief Bug Male 1054,70,5000,0,0 +prt_sewb4,0,0,0,0 monster Thief Bug 1051,20,5000,0,0 +prt_sewb4,0,0,0,0 monster Thief Bug Female 1053,20,5000,0,0 +prt_sewb4,0,0,0,0 monster Drainliar 1111,20,5000,0,0 +prt_sewb4,0,0,0,0 monster Thief Bug Egg 1048,10,5000,0,0 +prt_sewb4,0,0,0,0 monster Cramp 1209,5,5000,0,0 +prt_sewb4,0,0,0,0 boss_monster Golden Thief Bug 1086,1,3600000,600000,1 diff --git a/npc/re/mobs/dungeons/ra_san.txt b/npc/re/mobs/dungeons/ra_san.txt new file mode 100644 index 000000000..46b4f255b --- /dev/null +++ b/npc/re/mobs/dungeons/ra_san.txt @@ -0,0 +1,58 @@ +//===== rAthena Script ======================================= +//= Rachel Sanctuary Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 First version with guessed amounts [Playtester] +//= 1.1 More accurate spawns [Playtester] +//= 1.2 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// ra_san01 - Holy Ground +//================================================== +ra_san01,0,0,0,0 monster Vanberk 1771,82,5000,0,0 +ra_san01,0,0,0,0 monster Isilla 1772,36,5000,0,0 +ra_san01,0,0,0,0 monster Gremlin 1632,10,5000,0,0 +ra_san01,0,0,0,0 monster Beholder 1633,6,5000,0,0 +ra_san01,0,0,0,0 monster Hodremlin 1773,6,5000,0,0 + +//================================================== +// ra_san02 - Holy Ground +//================================================== +ra_san02,0,0,0,0 monster Isilla 1772,85,5000,0,0 +ra_san02,0,0,0,0 monster Vanberk 1771,30,5000,0,0 +ra_san02,0,0,0,0 monster Gremlin 1632,10,5000,0,0 +ra_san02,0,0,0,0 monster Beholder 1633,10,5000,0,0 +ra_san02,0,0,0,0 monster Hodremlin 1773,3,5000,0,0 +ra_san02,0,0,0,0 monster Seeker 1774,2,5000,0,0 + +//================================================== +// ra_san03 - Holy Ground +//================================================== +ra_san03,0,0,0,0 monster Hodremlin 1773,60,5000,0,0 +ra_san03,0,0,0,0 monster Seeker 1774,40,5000,0,0 +ra_san03,0,0,0,0 monster Gremlin 1632,5,5000,0,0 +ra_san03,0,0,0,0 monster Beholder 1633,5,5000,0,0 + +//================================================== +// ra_san04 - Holy Ground +//================================================== +ra_san04,0,0,0,0 monster Echio 1770,60,5000,0,0 +ra_san04,0,0,0,0 monster Agav 1769,20,5000,0,0 +ra_san04,0,0,0,0 monster Seeker 1774,10,5000,0,0 +ra_san04,0,0,0,0 monster Hodremlin 1773,10,5000,0,0 + +//================================================== +// ra_san05 - Holy Ground +//================================================== +ra_san05,0,0,0,0 monster Agav 1769,80,5000,0,0 +ra_san05,0,0,0,0 monster Echio 1770,30,5000,0,0 +ra_san05,0,0,0,0 monster Seeker 1774,20,5000,0,0 +ra_san05,0,0,0,0 monster Hodremlin 1773,20,5000,0,0 +ra_san05,0,0,0,0 monster Isilla 1772,10,5000,0,0 +ra_san05,0,0,0,0 boss_monster Gloom Under Night 1768,1,18000000,600000,0 diff --git a/npc/re/mobs/dungeons/tha_t.txt b/npc/re/mobs/dungeons/tha_t.txt new file mode 100644 index 000000000..681f086d8 --- /dev/null +++ b/npc/re/mobs/dungeons/tha_t.txt @@ -0,0 +1,152 @@ +//===== rAthena Script ======================================= +//= Thanatos Tower Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 Real spawns by Poki#3 [Nexon] +//= 1.1 More official spawns [Playtester] +//= 1.2 Updated by using Tharis' Homun AI, by Tharis [Vicious] +//= 1.3 Official Aegis X.3 spawns [Playtester] +//============================================================ + +//================================================== +// tha_t01 - Thanatos Tower - Lower Level +//================================================== +tha_t01,0,0,0,0 monster Rideword 1195,20,5000,0,0 +tha_t01,0,0,0,0 monster Mimic 1191,20,5000,0,0 +tha_t01,0,0,0,0 monster Plasma 1695,20,5000,0,0 +tha_t01,0,0,0,0 monster Alice 1275,5,5000,0,0 +tha_t01,0,0,0,0 monster Lady Solace 1703,4,5000,0,0 + +//================================================== +// tha_t02 - Thanatos Tower - Lower Level +//================================================== +tha_t02,0,0,0,0 monster Ancient Mimic 1699,80,5000,0,0 +tha_t02,0,0,0,0 monster Mimic 1191,30,5000,0,0 +tha_t02,0,0,0,0 monster Plasma 1697,20,5000,0,0 +tha_t02,0,0,0,0 monster Death Word 1698,10,5000,0,0 +tha_t02,0,0,0,0 monster Rideword 1195,10,5000,0,0 +tha_t02,0,0,0,0 monster Elder 1377,10,5000,0,0 +tha_t02,0,0,0,0 monster Alice 1275,10,5000,0,0 +tha_t02,0,0,0,0 monster Baroness of Retribution 1702,4,5000,0,0 + +//================================================== +// tha_t03 - Thanatos Tower - Lower Level +//================================================== +tha_t03,0,0,0,0 monster Death Word 1698,80,5000,0,0 +tha_t03,0,0,0,0 monster Rideword 1195,30,5000,0,0 +tha_t03,0,0,0,0 monster Plasma 1696,20,5000,0,0 +tha_t03,0,0,0,0 monster Mimic 1191,10,5000,0,0 +tha_t03,0,0,0,0 monster Ancient Mimic 1699,10,5000,0,0 +tha_t03,0,0,0,0 monster Elder 1377,10,5000,0,0 +tha_t03,0,0,0,0 monster Mistress of Shelter 1701,4,5000,0,0 + +//================================================== +// tha_t04 - Thanatos Tower - Lower Level +//================================================== +tha_t04,0,0,0,0 monster Death Word 1698,20,5000,0,0 +tha_t04,0,0,0,0 monster Rideword 1195,20,5000,0,0 +tha_t04,0,0,0,0 monster Mimic 1191,20,5000,0,0 +tha_t04,0,0,0,0 monster Ancient Mimic 1699,20,5000,0,0 +tha_t04,0,0,0,0 monster Elder 1377,20,5000,0,0 +tha_t04,0,0,0,0 monster Plasma 1694,20,5000,0,0 +tha_t04,0,0,0,0 monster Owl Duke 1320,10,5000,0,0 +tha_t04,0,0,0,0 monster Owl Baron 1295,10,5000,0,0 +tha_t04,0,0,0,0 monster Dame of Sentinel 1700,4,5000,0,0 + +//================================================== +// tha_t05 - Thanatos Tower - Upper Level +//================================================== +tha_t05,0,0,0,0 monster Owl Duke 1320,80,5000,0,0 +tha_t05,0,0,0,0 monster Death Word 1698,40,5000,0,0 +tha_t05,0,0,0,0 monster Ancient Mimic 1699,40,5000,0,0 +tha_t05,0,0,0,0 monster Owl Baron 1295,20,5000,0,0 +tha_t05,0,0,0,0 monster Elder 1377,20,5000,0,0 +tha_t05,0,0,0,0 monster Plasma 1696,10,5000,0,0 +tha_t05,0,0,0,0 monster Plasma 1695,10,5000,0,0 +tha_t05,0,0,0,0 monster Plasma 1697,10,5000,0,0 +tha_t05,0,0,0,0 monster Plasma 1694,10,5000,0,0 +tha_t05,0,0,0,0 monster Dolor of Thanatos 1707,2,5000,0,0 + +//================================================== +// tha_t06 - Thanatos Tower - Upper Level +//================================================== +tha_t06,0,0,0,0 monster Death Word 1698,40,5000,0,0 +tha_t06,0,0,0,0 monster Owl Duke 1320,40,5000,0,0 +tha_t06,0,0,0,0 monster Owl Baron 1295,40,5000,0,0 +tha_t06,0,0,0,0 monster Ancient Mimic 1699,40,5000,0,0 +tha_t06,0,0,0,0 monster Elder 1377,20,5000,0,0 +tha_t06,0,0,0,0 monster Plasma 1696,10,5000,0,0 +tha_t06,0,0,0,0 monster Plasma 1695,10,5000,0,0 +tha_t06,0,0,0,0 monster Plasma 1697,10,5000,0,0 +tha_t06,0,0,0,0 monster Plasma 1694,10,5000,0,0 +tha_t06,0,0,0,0 monster Maero of Thanatos 1706,2,5000,0,0 + +//================================================== +// tha_t07 - Thanatos Tower - Upper Level +//================================================== +tha_t07,0,0,0,0 monster Baroness of Retribution 1702,15,5000,0,0 +tha_t07,0,0,0,0 monster Death Word 1698,10,5000,0,0 +tha_t07,0,0,0,0 monster Ancient Mimic 1699,10,5000,0,0 +tha_t07,0,0,0,0 monster Dame of Sentinel 1700,7,5000,0,0 +tha_t07,0,0,0,0 monster Mistress of Shelter 1701,7,5000,0,0 +tha_t07,0,0,0,0 monster Lady Solace 1703,7,5000,0,0 +tha_t07,0,0,0,0 monster Despero of Thanatos 1705,2,5000,0,0 + +//================================================== +// tha_t08 - Thanatos Tower - Upper Level +//================================================== +tha_t08,0,0,0,0 monster Baroness of Retribution 1702,20,5000,0,0 +tha_t08,0,0,0,0 monster Death Word 1698,10,5000,0,0 +tha_t08,0,0,0,0 monster Ancient Mimic 1699,10,5000,0,0 +tha_t08,0,0,0,0 monster Dame of Sentinel 1700,5,5000,0,0 +tha_t08,0,0,0,0 monster Mistress of Shelter 1701,5,5000,0,0 +tha_t08,0,0,0,0 monster Lady Solace 1703,5,5000,0,0 +tha_t08,0,0,0,0 monster Odium of Thanatos 1704,2,5000,0,0 + +//================================================== +// tha_t09 - Thanatos Tower - Upper Level +//================================================== +tha_t09,0,0,0,0 monster Lady Solace 1703,20,5000,0,0 +tha_t09,0,0,0,0 monster Dame of Sentinel 1700,5,5000,0,0 +tha_t09,0,0,0,0 monster Baroness of Retribution 1702,5,5000,0,0 +tha_t09,0,0,0,0 monster Mistress of Shelter 1701,5,5000,0,0 +tha_t09,0,0,0,0 monster Plasma 1694,5,5000,0,0 +tha_t09,0,0,0,0 monster Dolor of Thanatos 1712,3,5000,0,0 +tha_t09,0,0,0,0 monster Dolor of Thanatos 1707,1,5000,0,0 + +//================================================== +// tha_t10 - Thanatos Tower - Upper Level +//================================================== +tha_t10,0,0,0,0 monster Baroness of Retribution 1702,20,5000,0,0 +tha_t10,0,0,0,0 monster Dame of Sentinel 1700,5,5000,0,0 +tha_t10,0,0,0,0 monster Mistress of Shelter 1701,5,5000,0,0 +tha_t10,0,0,0,0 monster Lady Solace 1703,5,5000,0,0 +tha_t10,0,0,0,0 monster Plasma 1697,5,5000,0,0 +tha_t10,0,0,0,0 monster Maero of Thanatos 1711,3,5000,0,0 +tha_t10,0,0,0,0 monster Maero of Thanatos 1706,1,5000,0,0 + +//================================================== +// tha_t11 - Thanatos Tower - Upper Level +//================================================== +tha_t11,0,0,0,0 monster Mistress of Shelter 1701,20,5000,0,0 +tha_t11,0,0,0,0 monster Dame of Sentinel 1700,5,5000,0,0 +tha_t11,0,0,0,0 monster Baroness of Retribution 1702,5,5000,0,0 +tha_t11,0,0,0,0 monster Lady Solace 1703,5,5000,0,0 +tha_t11,0,0,0,0 monster Plasma 1695,5,5000,0,0 +tha_t11,0,0,0,0 monster Despero of Thanatos 1710,3,5000,0,0 +tha_t11,0,0,0,0 monster Despero of Thanatos 1705,1,5000,0,0 + +//================================================== +// tha_t12 - Thanatos Tower - Upper Level +//================================================== +tha_t12,0,0,0,0 monster Dame of Sentinel 1700,13,5000,0,0 +tha_t12,0,0,0,0 monster Baroness of Retribution 1702,5,5000,0,0 +tha_t12,0,0,0,0 monster Mistress of Shelter 1701,5,5000,0,0 +tha_t12,0,0,0,0 monster Lady Solace 1703,5,5000,0,0 +tha_t12,0,0,0,0 monster Plasma 1693,5,5000,0,0 +tha_t12,0,0,0,0 monster Odium of Thanatos 1709,4,5000,0,0 diff --git a/npc/re/mobs/dungeons/thor_v.txt b/npc/re/mobs/dungeons/thor_v.txt new file mode 100644 index 000000000..077ada870 --- /dev/null +++ b/npc/re/mobs/dungeons/thor_v.txt @@ -0,0 +1,55 @@ +//===== rAthena Script ======================================== +//= Thor Volcano Monster Spawn Script +//===== By: ================================================== +//= Playtester +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Description: ========================================= +//= Official monster spawn in Thor Volcano Dungeon. +//===== Additional Comments: ================================= +//= 1.0 Spawns according to RO Monthly and Doddler [Playtester] +//= 1.1 Added Byorgue and Ifrit [Playtester] +//= 1.2 Updated spawns according to RODE [Playtester] +//= 1.3 More official spawns [Playtester] +//= 1.4 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// thor_v01 - Thor Volcano Dungeon +//================================================== +thor_v01,0,0,0,0 monster Kasa 1833,45,5000,0,0 +thor_v01,0,0,0,0 monster Imp 1837,25,5000,0,0 +thor_v01,0,0,0,0 monster Magmaring 1836,10,5000,0,0 +thor_v01,0,0,0,0 monster Salamander 1831,7,5000,0,0 +thor_v01,0,0,0,0 monster Bow Guardian 1830,5,5000,0,0 +thor_v01,0,0,0,0 monster Sword Guardian 1829,5,5000,0,0 +thor_v01,0,0,0,0 monster Bow Guardian 1830,5,420000,0,0 +thor_v01,0,0,0,0 monster Sword Guardian 1829,5,420000,0,0 +thor_v01,0,0,0,0 monster Byrogue 1839,1,5000,0,0 + +//================================================== +// thor_v02 - Thor Volcano Dungeon +//================================================== +thor_v02,0,0,0,0 monster Knocker 1838,55,5000,0,0 +thor_v02,0,0,0,0 monster Magmaring 1836,10,5000,0,0 +thor_v02,0,0,0,0 monster Imp 1837,10,5000,0,0 +thor_v02,0,0,0,0 monster Kaho 1072,10,5000,0,0 +thor_v02,0,0,0,0 monster Salamander 1831,1,5000,0,0 +thor_v02,0,0,0,0 monster Bow Guardian 1830,1,7200000,0,0 +thor_v02,0,0,0,0 monster Sword Guardian 1829,1,7200000,0,0 + +//================================================== +// thor_v03 - Thor Volcano Dungeon +//================================================== +thor_v03,0,0,0,0 monster Salamander 1831,60,5000,0,0 +thor_v03,0,0,0,0 monster Kasa 1833,40,5000,0,0 +thor_v03,0,0,0,0 monster Bow Guardian 1830,10,5000,0,0 +thor_v03,0,0,0,0 monster Sword Guardian 1829,10,5000,0,0 +thor_v03,0,0,0,0 monster Byrogue 1839,5,5000,0,0 +thor_v03,0,0,0,0 monster Sword Guardian 1829,5,5000,0,0 +thor_v03,0,0,0,0 monster Bow Guardian 1830,5,5000,0,0 +thor_v03,0,0,0,0 monster Bow Guardian 1830,5,1800000,0,0 +thor_v03,0,0,0,0 monster Sword Guardian 1829,5,1800000,0,0 +thor_v03,0,0,0,0 boss_monster Ifrit 1832,1,39600000,600000,0 diff --git a/npc/re/mobs/dungeons/treasure.txt b/npc/re/mobs/dungeons/treasure.txt new file mode 100644 index 000000000..e4073cfba --- /dev/null +++ b/npc/re/mobs/dungeons/treasure.txt @@ -0,0 +1,120 @@ +//===== rAthena Script ======================================= +//= Sunken Ship Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Official kRO 10.1 spawns [Playtester] +//= 1.2 More accurate spawns [Playtester] +//= 1.3 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// treasure01 - Sunken Ship +//================================================== +treasure01,0,0,0,0 monster Pirate Skeleton 1071,43,5000,0,0 +treasure01,0,0,0,0 monster Kukre 1070,20,5000,0,0 +treasure01,0,0,0,0 monster Whisper 1179,15,5000,0,0 +treasure01,0,0,0,0 monster Poison Spore 1077,12,5000,0,0 +treasure01,68,66,13,11 monster Hydra 1068,4,180000,90000,1 +treasure01,107,39,15,15 monster Hydra 1068,1,180000,90000,1 +treasure01,67,161,0,0 monster Hydra 1068,1,263000,100000,1 +treasure01,87,160,0,0 monster Hydra 1068,1,268000,100000,1 +treasure01,76,182,0,0 monster Hydra 1068,1,269000,100000,1 +treasure01,51,160,0,0 monster Hydra 1068,1,270000,100000,1 +treasure01,162,71,0,0 monster Hydra 1068,1,273000,100000,1 +treasure01,88,161,0,0 monster Hydra 1068,1,281000,100000,1 +treasure01,86,161,0,0 monster Hydra 1068,1,285000,100000,1 +treasure01,159,45,0,0 monster Hydra 1068,1,285000,100000,1 +treasure01,69,160,0,0 monster Hydra 1068,1,290000,100000,1 +treasure01,159,40,0,0 monster Hydra 1068,1,290000,100000,1 +treasure01,168,41,0,0 monster Hydra 1068,1,290000,100000,1 +treasure01,67,160,0,0 monster Hydra 1068,1,293000,100000,1 +treasure01,165,70,0,0 monster Hydra 1068,1,293000,100000,1 +treasure01,88,160,0,0 monster Hydra 1068,1,296000,100000,1 +treasure01,158,62,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,159,63,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,158,63,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,164,70,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,163,70,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,159,62,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,169,42,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,169,45,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,168,43,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,168,45,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,159,42,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,169,40,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,158,41,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,158,42,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,158,44,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,163,71,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,68,160,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,49,160,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,48,160,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,87,161,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,89,161,0,0 monster Hydra 1068,1,300000,100000,1 +treasure01,150,162,5,5 monster Hydra 1068,1,300000,100000,1 +treasure01,163,161,5,5 monster Hydra 1068,1,300000,100000,1 +treasure01,163,141,5,5 monster Hydra 1068,1,300000,100000,1 +treasure01,163,151,5,5 monster Hydra 1068,1,300000,100000,1 +treasure01,50,160,0,0 monster Hydra 1068,1,301000,100000,1 +treasure01,169,44,0,0 monster Hydra 1068,1,302000,100000,1 +treasure01,158,45,0,0 monster Hydra 1068,1,302000,100000,1 +treasure01,70,161,0,0 monster Hydra 1068,1,302000,100000,1 +treasure01,169,43,0,0 monster Hydra 1068,1,305000,100000,1 +treasure01,158,43,0,0 monster Hydra 1068,1,305000,100000,1 +treasure01,69,161,0,0 monster Hydra 1068,1,305000,100000,1 +treasure01,164,71,0,0 monster Hydra 1068,1,305000,100000,1 +treasure01,89,160,0,0 monster Hydra 1068,1,305000,100000,1 +treasure01,168,42,0,0 monster Hydra 1068,1,306000,100000,1 +treasure01,70,160,0,0 monster Hydra 1068,1,306000,100000,1 +treasure01,159,41,0,0 monster Hydra 1068,1,306000,100000,1 +treasure01,165,71,0,0 monster Hydra 1068,1,307000,100000,1 +treasure01,158,40,0,0 monster Hydra 1068,1,307000,100000,1 +treasure01,50,161,0,0 monster Hydra 1068,1,308000,100000,1 +treasure01,49,161,0,0 monster Hydra 1068,1,310000,100000,1 +treasure01,86,160,0,0 monster Hydra 1068,1,310000,100000,1 +treasure01,159,44,0,0 monster Hydra 1068,1,312000,100000,1 +treasure01,169,41,0,0 monster Hydra 1068,1,313000,100000,1 +treasure01,60,182,0,0 monster Hydra 1068,1,313000,100000,1 +treasure01,51,161,0,0 monster Hydra 1068,1,314000,100000,1 +treasure01,168,44,0,0 monster Hydra 1068,1,314000,100000,1 +treasure01,162,70,0,0 monster Hydra 1068,1,314000,100000,1 +treasure01,48,161,0,0 monster Hydra 1068,1,316000,100000,1 +treasure01,68,161,0,0 monster Hydra 1068,1,317000,100000,1 +treasure01,159,43,0,0 monster Hydra 1068,1,318000,100000,1 +treasure01,168,40,0,0 monster Hydra 1068,1,322000,100000,1 + +//================================================== +// treasure02 - Sunken Ship +//================================================== +treasure02,0,0,0,0 monster Penomena 1216,38,5000,0,0 +treasure02,0,0,0,0 monster Pirate Skeleton 1071,20,5000,0,0 +treasure02,0,0,0,0 monster Kukre 1070,20,5000,0,0 +treasure02,0,0,0,0 monster Whisper 1179,14,5000,0,0 +treasure02,0,0,0,0 monster Mimic 1191,8,5000,0,0 +treasure02,0,0,0,0 monster Marionette 1143,1,5000,0,0 +treasure02,0,0,0,0 monster Wanderer 1208,1,5000,0,0 +treasure02,100,136,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,101,136,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,102,136,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,103,136,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,100,143,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,101,143,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,102,143,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,103,143,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,103,85,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,102,85,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,95,57,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,96,57,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,101,57,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,102,57,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,107,57,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,108,57,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,100,85,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,101,85,0,0 monster Hydra 1068,1,300000,100000,1 +treasure02,0,0,0,0 monster Ghostring 1120,1,1980000,1200000,1 +treasure02,101,151,8,8 boss_monster Drake 1112,1,7200000,600000,1 diff --git a/npc/re/mobs/dungeons/tur_dun.txt b/npc/re/mobs/dungeons/tur_dun.txt new file mode 100644 index 000000000..467bee819 --- /dev/null +++ b/npc/re/mobs/dungeons/tur_dun.txt @@ -0,0 +1,52 @@ +//===== rAthena Script ======================================= +//= Turtle Island Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.2 Official kRO 10.1 spawns [Playtester] +//============================================================ + +//================================================== +// tur_dun01 - Turtle Island +//================================================== +tur_dun01,0,0,0,0 monster Dragon Tail 1321,25,5000,0,0 +tur_dun01,0,0,0,0 monster Spring Rabbit 1322,25,5000,0,0 +tur_dun01,0,0,0,0 monster Pest 1256,15,5000,0,0 +tur_dun01,0,0,0,0 monster Thara Frog 1034,10,5000,0,0 +tur_dun01,0,0,0,0 monster Permeter 1314,10,5000,0,0 + +//================================================== +// tur_dun02 - Turtle Island Dungeon +//================================================== +tur_dun02,0,0,0,0 monster Solider 1316,40,5000,0,0 +tur_dun02,0,0,0,0 monster Permeter 1314,40,5000,0,0 +tur_dun02,0,0,0,0 monster Freezer 1319,20,5000,0,0 +tur_dun02,0,0,0,0 monster Pest 1256,15,5000,0,0 + +//================================================== +// tur_dun03 - Good Turtles Village +//================================================== +tur_dun03,0,0,0,0 monster Freezer 1319,40,5000,0,0 +tur_dun03,0,0,0,0 monster Assaulter 1315,35,5000,0,0 +tur_dun03,0,0,0,0 monster Permeter 1314,15,5000,0,0 +tur_dun03,0,0,0,0 monster Heater 1318,10,5000,0,0 + +//================================================== +// tur_dun04 - Turtle Palace +//================================================== +tur_dun04,0,0,0,0 monster Assaulter 1315,41,5000,0,0 +tur_dun04,0,0,0,0 monster Heater 1318,33,5000,0,0 +tur_dun04,0,0,0,0 monster Freezer 1319,15,5000,0,0 +tur_dun04,0,0,0,0 monster Permeter 1314,4,5000,0,0 +tur_dun04,99,93,20,20 boss_monster Turtle General 1312,1,3600000,600000,0 + +//================================================== +// tur_dun05 - Underground Swamp Zone +//================================================== +tur_dun05,0,0,0,0 monster Freezer 1319,5,5000,0,0 +tur_dun05,0,0,0,0 monster Permeter 1314,3,5000,0,0 +tur_dun05,0,0,0,0 monster Assaulter 1315,1,5000,0,0 diff --git a/npc/re/mobs/dungeons/xmas_dun.txt b/npc/re/mobs/dungeons/xmas_dun.txt new file mode 100644 index 000000000..eeca02eef --- /dev/null +++ b/npc/re/mobs/dungeons/xmas_dun.txt @@ -0,0 +1,37 @@ +//===== rAthena Script ======================================= +//= Toy Factory Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 added Garm Baby according to May 10 patch +//= 1.2 Official kRO 10.1 spawns [Playtester] +//= 1.3 Small spawn update [Playtester] +//= 1.4 Corrected MVP spawn variance. [L0ne_W0lf] +//============================================================ + +//================================================== +// xmas_dun01 - Toy Factory Warehouse +//================================================== +xmas_dun01,0,0,0,0 monster Cookie 1265,40,5000,0,0 +xmas_dun01,0,0,0,0 monster Christmas Cookie 1246,40,5000,0,0 +xmas_dun01,0,0,0,0 monster Marin 1242,20,5000,0,0 +xmas_dun01,0,0,0,0 monster Poporing 1031,20,5000,0,0 +xmas_dun01,0,0,0,0 monster Drops 1113,10,5000,0,0 +xmas_dun01,0,0,0,0 monster Poring 1002,10,5000,0,0 +xmas_dun01,0,0,0,0 monster Myst Case 1249,5,5000,0,0 +xmas_dun01,0,0,0,0 monster Chepet 1250,1,1200000,900000,0 +xmas_dun01,0,0,0,0 monster Mastering 1090,1,1800000,900000,0 +xmas_dun01,0,0,0,0 monster Angeling 1096,1,3600000,1800000,0 + +//================================================== +// xmas_dun02 - Toy Monitoring Room +//================================================== +xmas_dun02,0,0,0,0 monster Myst Case 1249,50,5000,0,0 +xmas_dun02,0,0,0,0 monster Cruiser 1248,35,5000,0,0 +xmas_dun02,0,0,0,0 monster Cookie 1265,20,5000,0,0 +xmas_dun02,0,0,0,0 monster Christmas Cookie 1246,20,5000,0,0 +xmas_dun02,0,0,0,0 boss_monster Stormy Knight 1251,1,3600000,600000,0 diff --git a/npc/re/mobs/dungeons/yggdrasil.txt b/npc/re/mobs/dungeons/yggdrasil.txt new file mode 100644 index 000000000..b3d401ac5 --- /dev/null +++ b/npc/re/mobs/dungeons/yggdrasil.txt @@ -0,0 +1,35 @@ +//===== rAthena Script ======================================= +//= Yggdrasil Tree Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 Splitted from Nifflheim fields [DracoRPG] +//= 1.1 Official kRO 10.1 spawns [Playtester] +//============================================================ + +//================================================== +// yggdrasil01 - Hvergelmir's Fountain (Trunk of Yggdrasil) +//================================================== +yggdrasil01,234,256,10,10 monster Blue Plant 1079,5,1800000,600000,0 +yggdrasil01,273,234,3,3 monster Shining Plant 1083,1,1800000,600000,0 +yggdrasil01,143,257,20,10 monster Shining Plant 1083,5,1200000,600000,0 +yggdrasil01,98,238,20,15 monster Yellow Plant 1081,5,1200000,600000,0 +yggdrasil01,98,238,20,15 monster White Plant 1082,5,1200000,600000,0 +yggdrasil01,47,207,20,20 monster Blue Plant 1079,5,1200000,600000,0 +yggdrasil01,61,258,3,3 monster Shining Plant 1083,1,1800000,600000,0 +yggdrasil01,132,199,20,5 monster Blue Plant 1079,5,1200000,600000,0 +yggdrasil01,209,218,2,2 monster Shining Plant 1083,1,1200000,600000,0 +yggdrasil01,192,186,2,2 monster Shining Plant 1083,1,1800000,1200000,0 +yggdrasil01,169,176,3,3 monster Shining Plant 1083,1,1200000,600000,0 +yggdrasil01,169,176,3,3 monster Green Plant 1080,1,60000,30000,0 +yggdrasil01,94,111,5,2 monster Shining Plant 1083,1,1200000,600000,0 +yggdrasil01,51,118,10,3 monster Shining Plant 1083,1,1200000,600000,0 +yggdrasil01,133,54,3,3 monster Shining Plant 1083,1,1200000,600000,0 +yggdrasil01,257,63,10,10 monster Shining Plant 1083,3,1800000,1200000,0 +yggdrasil01,0,0,0,0 monster Shining Plant 1083,10,3600000,2300000,0 +yggdrasil01,0,0,0,0 monster Green Plant 1080,25,60000,30000,0 +yggdrasil01,0,0,0,0 monster Red Plant 1078,15,60000,30000,0 diff --git a/npc/re/mobs/fields/amatsu.txt b/npc/re/mobs/fields/amatsu.txt new file mode 100644 index 000000000..4368fc5a7 --- /dev/null +++ b/npc/re/mobs/fields/amatsu.txt @@ -0,0 +1,37 @@ +//===== rAthena Script ======================================= +//= Amatsu Fields Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 replaced Hydra -> G_Hydra (to fix drops exploit) [Lupus] +//= 1.2 Official kRO 10.1 spawns [Playtester] +//= 1.3 Small update [Playtester] +//= 1.4 Updated to Renewal Spawns [Kisuka] +//============================================================ + +//================================================== +// ama_fild01 - Amatsu Field +//================================================== +ama_fild01,0,0,0,0 monster Bigfoot 1060,15,5000,0,0 +ama_fild01,0,0,0,0 monster Karakasa 1400,50,5000,0,0 +ama_fild01,0,0,0,0 monster Kapha 1406,40,5000,0,0 +ama_fild01,0,0,0,0 monster Miyabi Doll 1404,2,5000,0,0 +ama_fild01,0,0,0,0 monster Poison Toad 1402,1,5000,0,0 +ama_fild01,173,313,0,0 monster Hydra 1068,1,60000,30000,0 +ama_fild01,173,314,0,0 monster Hydra 1068,1,60000,30000,0 +ama_fild01,173,310,0,0 monster Hydra 1068,1,60000,30000,0 +ama_fild01,177,315,0,0 monster Hydra 1068,1,60000,30000,0 +ama_fild01,175,315,0,0 monster Hydra 1068,1,63000,31500,0 +ama_fild01,169,314,0,0 monster Hydra 1068,1,63000,31500,0 +ama_fild01,177,314,0,0 monster Hydra 1068,1,66000,33000,0 +ama_fild01,175,313,0,0 monster Hydra 1068,1,66000,33000,0 +ama_fild01,173,315,0,0 monster Hydra 1068,1,66000,33000,0 +ama_fild01,171,313,0,0 monster Hydra 1068,1,66000,33000,0 +ama_fild01,171,314,0,0 monster Hydra 1068,1,69000,34500,0 +ama_fild01,171,315,0,0 monster Hydra 1068,1,69000,34500,0 +ama_fild01,175,314,0,0 monster Hydra 1068,1,72000,39000,0 +ama_fild01,169,315,0,0 monster Hydra 1068,1,72000,39000,0 diff --git a/npc/re/mobs/fields/ayothaya.txt b/npc/re/mobs/fields/ayothaya.txt new file mode 100644 index 000000000..896435a20 --- /dev/null +++ b/npc/re/mobs/fields/ayothaya.txt @@ -0,0 +1,31 @@ +//===== rAthena Script ======================================= +//= Ayothaya Fields Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.5 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Using EuRO data [Ishizu] +//= 1.2 According the guide book, added a Choco [Lupus&VP] +//= 1.3 Removed Choco [Lupus] +//= 1.4 Official kRO 10.1 spawns [Playtester] +//= 1.5 Updated to Renewal Spawns [Kisuka] +//============================================================ + +//================================================== +// ayo_fild01 - Ayothaya Field +//================================================== +ayo_fild01,0,0,0,0 monster Smokie 1056,30,5000,0,0 +ayo_fild01,0,0,0,0 monster Coco 1104,30,5000,0,0 +ayo_fild01,0,0,0,0 monster Yoyo 1057,30,5000,0,0 +ayo_fild01,0,0,0,0 monster Green Plant 1080,10,5000,0,0 + +//================================================== +// ayo_fild02 - Ayothaya Field +//================================================== +ayo_fild02,0,0,0,0 monster Yoyo 1057,45,5000,0,0 +ayo_fild02,0,0,0,0 monster Leaf Cat 1586,35,5000,0,0 +ayo_fild02,0,0,0,0 monster Kraben 1587,5,5000,0,0 +ayo_fild02,0,0,0,0 monster Yellow Plant 1081,10,5000,0,0 diff --git a/npc/re/mobs/fields/bifrost.txt b/npc/re/mobs/fields/bifrost.txt new file mode 100644 index 000000000..e38f468f3 --- /dev/null +++ b/npc/re/mobs/fields/bifrost.txt @@ -0,0 +1,33 @@ +//===== rAthena Script ======================================== +//= Bifrost Field Monster Spawn Script +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Official kRO monster spawns +//===== Additional Comments: ================================= +//= 1.0 First Release +//============================================================ + +//================================================== +// bif_fild01 - Bifrost South +//================================================== +bif_fild01,0,0,0,0 monster Luciola Vespa 1994,25,0,0,0 +bif_fild01,0,0,0,0 monster Cornus 1992,15,0,0,0 +bif_fild01,0,0,0,0 monster Pom Spider 2132,5,0,0,0 +bif_fild01,0,0,0,0 monster Angra Mantis 2133,5,0,0,0 +bif_fild01,0,0,0,0 monster Little Fatum 2136,30,0,0,0 +bif_fild01,0,0,0,0 monster Miming 2137,50,0,0,0 + +//================================================== +// bif_fild02 - Bifrost North +//================================================== +bif_fild02,0,0,0,0 monster Luciola Vespa 1994,25,0,0,0 +bif_fild02,0,0,0,0 monster Cornus 1992,15,0,0,0 +bif_fild02,0,0,0,0 monster Pom Spider 2132,5,0,0,0 +bif_fild02,0,0,0,0 monster Angra Mantis 2133,5,0,0,0 +bif_fild02,0,0,0,0 monster Little Fatum 2136,50,0,0,0 +bif_fild02,0,0,0,0 monster Miming 2137,30,0,0,0 diff --git a/npc/re/mobs/fields/brasilis.txt b/npc/re/mobs/fields/brasilis.txt new file mode 100644 index 000000000..923fa6ccc --- /dev/null +++ b/npc/re/mobs/fields/brasilis.txt @@ -0,0 +1,22 @@ +//===== rAthena Script ======================================= +//= Brasilis Fields Monster Spawn Script +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Additional Comments: ================================= +//= 1.0 Official spawns from Aegis [Kisuka] +//============================================================ + +//================================================== +// bra_fild01 +//================================================== +bra_fild01,0,0,0,0 monster Curupira 2074,50,5000,0,0 +bra_fild01,0,0,0,0 monster Dokebi 1110,10,5000,0,0 +bra_fild01,0,0,0,0 monster Savage 1166,5,5000,0,0 +bra_fild01,0,0,0,0 monster Headless Mule 2071,40,5000,0,0 +bra_fild01,0,0,0,0 monster Red Mushroom 1085,5,5000,0,0 +bra_fild01,0,0,0,0 monster Jaguar 2072,55,5000,0,0 +bra_fild01,0,0,0,0 monster Toucan 2073,60,5000,0,0 diff --git a/npc/re/mobs/fields/comodo.txt b/npc/re/mobs/fields/comodo.txt new file mode 100644 index 000000000..eac8387ac --- /dev/null +++ b/npc/re/mobs/fields/comodo.txt @@ -0,0 +1,95 @@ +//===== rAthena Script ======================================= +//= Comodo Fields Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.2 Official kRO 10.1 spawns [Playtester] +//= 1.3 More accurate spawns [Playtester] +//= 1.4 Updated to renewal spawns. [L0ne_W0lf] +//============================================================ + +//================================================== +// cmd_fild01 - Papuchicha Forest +//================================================== +cmd_fild01,0,0,0,0 monster Grove 1687,150,5000,0,0 +cmd_fild01,0,0,0,0 monster Flora 1118,50,5000,0,0 +cmd_fild01,313,213,10,10 monster Shining Plant 1083,1,1800000,900000,1 +cmd_fild01,313,213,10,10 monster Blue Plant 1079,1,1800000,900000,1 +cmd_fild01,171,339,10,10 monster Blue Plant 1079,2,1800000,900000,1 +cmd_fild01,72,78,10,10 monster Blue Plant 1079,2,1800000,900000,1 +cmd_fild01,194,176,20,20 monster Blue Plant 1079,1,1800000,900000,1 +cmd_fild01,0,0,0,0 monster Green Plant 1080,5,1800000,900000,1 + +//================================================== +// cmd_fild02 - Kokomo beach +//================================================== +cmd_fild02,0,0,0,0 monster Seal 1317,120,5000,0,0 +cmd_fild02,0,0,0,0 monster Galapago 1391,30,5000,0,0 +cmd_fild02,0,0,0,0 monster Shellfish 1074,20,5000,0,0 +cmd_fild02,0,0,0,0 monster Crab 1073,20,5000,0,0 +cmd_fild02,0,0,0,0 monster Aster 1266,10,5000,0,0 +cmd_fild02,0,0,0,0 monster Mobster 1313,1,5000,0,0 + +//================================================== +// cmd_fild03 - Zenhai Marsh +//================================================== +cmd_fild03,0,0,0,0 monster Alligator 1271,150,5000,0,0 +cmd_fild03,0,0,0,0 monster Flora 1118,50,5000,0,0 +cmd_fild03,0,0,0,0 monster Mutant Dragonoid 1262,4,0,0,1 +cmd_fild03,0,0,0,0 monster Toad 1089,1,3600000,1800000,1 +cmd_fild03,356,232,3,3 monster Shining Plant 1083,1,1800000,900000,1 +cmd_fild03,262,289,3,3 monster Shining Plant 1083,1,1800000,900000,1 +cmd_fild03,145,191,3,3 monster Shining Plant 1083,1,1800000,900000,1 + +//================================================== +// cmd_fild04 - Kokomo beach +//================================================== +cmd_fild04,0,0,0,0 monster Sea Otter 1323,120,5000,0,0 +cmd_fild04,0,0,0,0 monster Galapago 1391,30,5000,0,0 +cmd_fild04,0,0,0,0 monster Shellfish 1074,20,5000,0,0 +cmd_fild04,0,0,0,0 monster Crab 1073,20,5000,0,0 +cmd_fild04,0,0,0,0 monster Aster 1266,10,5000,0,0 + +//================================================== +// cmd_fild05 - Disabled on Renewal +//================================================== + +//================================================== +// cmd_fild06 - Fortress Saint Darmain (West) +//================================================== +cmd_fild06,0,0,0,0 monster Golem 1040,150,5000,0,0 +cmd_fild06,0,0,0,0 monster Metaller 1058,50,5000,0,0 +cmd_fild06,293,235,5,5 monster Yellow Plant 1081,2,1800000,900000,1 +cmd_fild06,84,375,10,10 monster Yellow Plant 1081,3,1800000,900000,1 + +//================================================== +// cmd_fild07 - Beacon Island, Pharos +//================================================== +cmd_fild07,0,0,0,0 monster Raggler 1254,100,5000,0,0 +cmd_fild07,0,0,0,0 monster Aster 1266,30,5000,0,0 +cmd_fild07,0,0,0,0 monster Shellfish 1074,30,5000,0,0 +cmd_fild07,0,0,0,0 monster Crab 1073,30,5000,0,0 + +//================================================== +// cmd_fild08 - Fortress Saint Darmain (East) +//================================================== +cmd_fild08,0,0,0,0 monster Deniro 1105,50,5000,0,0 +cmd_fild08,0,0,0,0 monster Piere 1160,50,5000,0,0 +cmd_fild08,0,0,0,0 monster Andre 1095,50,5000,0,0 +cmd_fild08,0,0,0,0 monster Ant Egg 1097,30,5000,0,0 +cmd_fild08,0,0,0,0 monster Golem 1040,2,5000,0,0 +cmd_fild08,60,143,10,10 monster Yellow Plant 1081,4,1800000,900000,1 +cmd_fild08,130,201,10,10 monster Yellow Plant 1081,4,1800000,900000,1 + +//================================================== +// cmd_fild09 - Fortress Saint Darmain (South) +//================================================== +cmd_fild09,0,0,0,0 monster Metaller 1058,145,5000,0,0 +cmd_fild09,0,0,0,0 monster Deniro 1105,15,5000,0,0 +cmd_fild09,0,0,0,0 monster Piere 1160,15,5000,0,0 +cmd_fild09,0,0,0,0 monster Andre 1095,15,5000,0,0 +cmd_fild09,0,0,0,0 monster Ant Egg 1097,10,5000,0,0 diff --git a/npc/re/mobs/fields/dewata.txt b/npc/re/mobs/fields/dewata.txt new file mode 100644 index 000000000..da7ffa4fe --- /dev/null +++ b/npc/re/mobs/fields/dewata.txt @@ -0,0 +1,20 @@ +//===== rAthena Script ======================================== +//= Dewata Field Monster Spawn Script +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Official kRO monster spawns +//===== Additional Comments: ================================= +//= 1.0 First Release +//============================================================ + +//================================================== +// dew_fild01 - Dewata Field Tribal Village +//================================================== +dew_fild01,0,0,0,0 monster Argiope 1099,45,0,0,0 +dew_fild01,0,0,0,0 monster Alnoldi 2151,60,0,0,0 +dew_fild01,0,0,0,0 monster Cendrawasih 2153,10,0,0,0 diff --git a/npc/re/mobs/fields/dicastes.txt b/npc/re/mobs/fields/dicastes.txt new file mode 100644 index 000000000..82f71bd21 --- /dev/null +++ b/npc/re/mobs/fields/dicastes.txt @@ -0,0 +1,28 @@ +//===== rAthena Script ======================================= +//= El Dicastes Fields Monster Spawn Script +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Additional Comments: ================================= +//= 1.0 Official spawns from Aegis [Kisuka] +//============================================================ + +//================================================== +// dic_fild01 - At the Foot of the Kamidal Mountain +//================================================== +dic_fild01,0,0,0,0 monster Centipede 1987,60,5000,0,0 +dic_fild01,0,0,0,0 monster Centipede Larva 1999,30,5000,0,0 +dic_fild01,0,0,0,0 monster Tatacho 1986,25,5000,0,0 +dic_fild01,0,0,0,0 monster Dolomedes 2092,20,5000,0,0 + +//================================================== +// dic_fild02 - At the Foot of the Kamidal Mountain +//================================================== +dic_fild02,0,0,0,0 monster Bradium Golem 2024,3,5000,0,0 +dic_fild02,0,0,0,0 monster Centipede 1987,35,5000,0,0 +dic_fild02,0,0,0,0 monster Centipede Larva 1999,10,5000,0,0 +dic_fild02,0,0,0,0 monster Tatacho 1986,25,5000,0,0 +dic_fild02,0,0,0,0 monster Dolomedes 2092,80,5000,0,0 diff --git a/npc/re/mobs/fields/einbroch.txt b/npc/re/mobs/fields/einbroch.txt new file mode 100644 index 000000000..518e1d218 --- /dev/null +++ b/npc/re/mobs/fields/einbroch.txt @@ -0,0 +1,105 @@ +//===== rAthena Script ======================================= +//= Einbroch Fields Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.6 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 correct spawn maps, but not yet exact amount of +//= monsters [Lupus] +//= maps, marked with * are correct +//= 1.2 Updated to correct mobs. Many thanks to vicious_pucca +//= again for providing the information [MasterOfMuppets] +//= 1.2a Fixed missing tabs [Lupus] +//= 1.3 Updated after Episode 10.4 - Hugel [Poki#3] +//= Mob quantity is custom. +//= 1.3b Changed the spawn numbers a bit. [Poki#3] +//= Thanks to Playtester and Emperium.org +//= 1.4 Updated by using Tharis' Homun AI, by Tharis [Vicious] +//= 1.5 Adjusted some spawns according to official info [Playtester] +//= 1.6 More accurate spawns [Playtester] +//= 1.7 Updated to Renewal Spawns [Kisuka] +//============================================================ + +//================================================== +// ein_fild01 - Spawns disabled on Renewal +//================================================== + +//================================================== +// ein_fild02 - Disabled on Renewal +//================================================== + +//================================================== +// ein_fild03 - Einbroch Field +//================================================== +ein_fild03,0,0,0,0 monster Teddy Bear 1622,100,5000,0,0 +ein_fild03,0,0,0,0 monster Venomous 1621,20,5000,0,0 +ein_fild03,0,0,0,0 monster Noxious 1620,20,5000,0,0 +ein_fild03,0,0,0,0 monster Pitman 1616,20,5000,0,0 +ein_fild03,0,0,0,0 monster Yellow Plant 1081,15,60000,30000,0 +ein_fild03,0,0,0,0 monster Green Plant 1080,15,60000,30000,0 + +//================================================== +// ein_fild04 - Einbroch Field +//================================================== +ein_fild04,0,0,0,0 monster Venomous 1621,100,5000,0,0 +ein_fild04,0,0,0,0 monster Noxious 1620,30,5000,0,0 +ein_fild04,0,0,0,0 monster Teddy Bear 1622,20,5000,0,0 +ein_fild04,0,0,0,0 monster Demon Pungus 1378,15,5000,0,0 +ein_fild04,0,0,0,0 monster Pitman 1616,10,5000,0,0 +ein_fild04,0,0,0,0 monster Red Plant 1078,10,60000,30000,0 +ein_fild04,0,0,0,0 monster Yellow Plant 1081,10,60000,30000,0 +ein_fild04,0,0,0,0 monster Green Plant 1080,10,60000,30000,0 + +//================================================== +// ein_fild05 - Einbroch Field +//================================================== +ein_fild05,0,0,0,0 monster Noxious 1620,100,5000,0,0 +ein_fild05,0,0,0,0 monster Venomous 1621,30,5000,0,0 +ein_fild05,0,0,0,0 monster Teddy Bear 1622,20,5000,0,0 +ein_fild05,0,0,0,0 monster Demon Pungus 1378,15,5000,0,0 +ein_fild05,0,0,0,0 monster Pitman 1616,10,5000,0,0 + +//================================================== +// ein_fild06 - Einbroch Field +//================================================== +ein_fild06,0,0,0,0 monster Holden 1628,100,5000,0,0 +ein_fild06,0,0,0,0 monster Metaling 1613,30,5000,0,0 +ein_fild06,0,0,0,0 monster Red Plant 1078,10,120000,60000,0 +ein_fild06,0,0,0,0 monster Yellow Plant 1081,10,120000,60000,0 +ein_fild06,0,0,0,0 monster Black Mushroom 1084,5,120000,60000,0 + +//================================================== +// ein_fild07 - Einbroch Field +//================================================== +ein_fild07,0,0,0,0 monster Metaling 1613,90,5000,0,0 +ein_fild07,0,0,0,0 monster Porcellio 1619,30,5000,0,0 +ein_fild07,0,0,0,0 monster Holden 1628,10,5000,0,0 +ein_fild07,0,0,0,0 monster Ungoliant 1618,1,86400000,86000000,0 +ein_fild07,0,0,0,0 monster Red Plant 1078,10,120000,60000,0 +ein_fild07,0,0,0,0 monster Yellow Plant 1081,10,120000,60000,0 +ein_fild07,0,0,0,0 monster Red Mushroom 1085,10,120000,60000,0 + +//================================================== +// ein_fild08 - Einbroch Field +//================================================== +ein_fild08,0,0,0,0 monster Metaling 1613,100,5000,0,0 +ein_fild08,0,0,0,0 monster Porcellio 1619,30,5000,0,0 +ein_fild08,0,0,0,0 monster Red Plant 1078,10,120000,60000,0 +ein_fild08,0,0,0,0 monster Yellow Plant 1081,10,120000,60000,0 +ein_fild08,0,0,0,0 monster Red Mushroom 1085,10,120000,60000,0 + +//================================================== +// ein_fild09 - Einbroch Field +//================================================== +ein_fild09,0,0,0,0 monster Porcellio 1619,70,5000,0,0 +ein_fild09,0,0,0,0 monster Metaling 1613,30,5000,0,0 +ein_fild09,0,0,0,0 monster Red Plant 1078,10,120000,60000,0 +ein_fild09,0,0,0,0 monster Yellow Plant 1081,10,120000,60000,0 +ein_fild09,0,0,0,0 monster Red Mushroom 1085,10,120000,60000,0 + +//================================================== +// ein_fild10 - Disabled on Renewal +//================================================== diff --git a/npc/re/mobs/fields/geffen.txt b/npc/re/mobs/fields/geffen.txt new file mode 100644 index 000000000..8daf2793d --- /dev/null +++ b/npc/re/mobs/fields/geffen.txt @@ -0,0 +1,202 @@ +//===== rAthena Script ======================================= +//= Geffen Fields Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.6 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.2 Map names typos fix [Lupus] +//= 1.3 Official kRO 10.1 spawns + future changes [Playtester] +//= 1.4 More accurate spawns [Playtester] +//= 1.5 Corrected MVP spawn variance. [L0ne_W0lf] +//= 1.6 Updated to renewal spawns. [L0ne_W0lf] +//============================================================ + +//================================================== +// gef_fild00 - Geffen Field +//================================================== +gef_fild00,0,0,0,0 monster Chonchon 1011,140,5000,0,0 +gef_fild00,0,0,0,0 monster Poring 1002,30,5000,0,0 +gef_fild00,0,0,0,0 monster Fabre 1007,30,5000,0,0 +gef_fild00,95,128,0,0 monster Blue Plant 1079,1,900000,450000,1 +gef_fild00,124,321,0,0 monster Blue Plant 1079,1,900000,450000,1 +gef_fild00,54,212,5,5 monster Green Plant 1080,3,360000,180000,1 +gef_fild00,54,186,5,5 monster Green Plant 1080,3,360000,180000,1 + +//================================================== +// gef_fild01 - Geffen Field +//================================================== +gef_fild01,0,0,0,0 monster Roda Frog 1012,80,5000,0,0 +gef_fild01,0,0,0,0 monster Ambernite 1094,20,5000,0,0 +gef_fild01,0,0,0,0 monster Toad 1089,1,3600000,1800000,1 +gef_fild01,215,225,10,10 monster Green Plant 1080,5,360000,180000,1 + +//================================================== +// gef_fild02 - Geffen Field +//================================================== +gef_fild02,0,0,0,0 monster Coco 1104,140,5000,0,0 +gef_fild02,0,0,0,0 monster Poporing 1031,20,5000,0,0 +gef_fild02,0,0,0,0 monster Horn 1128,20,5000,0,0 +gef_fild02,0,0,0,0 monster Elder Willow 1033,20,5000,0,0 +gef_fild02,227,316,6,6 monster Green Plant 1080,8,360000,180000,1 +gef_fild02,87,48,6,6 monster Red Mushroom 1085,5,360000,180000,1 +gef_fild02,215,209,2,1 monster Blue Plant 1079,2,360000,180000,1 +gef_fild02,207,214,1,1 monster Blue Plant 1079,1,360000,180000,1 +gef_fild02,220,214,1,1 monster Blue Plant 1079,1,360000,180000,1 +gef_fild02,164,194,1,1 monster Shining Plant 1083,1,1800000,900000,1 + +//================================================== +// gef_fild03 - Geffen Field +//================================================== +gef_fild03,0,0,0,0 monster Orc Lady 1273,130,5000,0,0 +gef_fild03,0,0,0,0 monster Orc Warrior 1023,60,5000,0,0 +gef_fild03,0,0,0,0 monster Orc Baby 1686,20,5000,0,0 +gef_fild03,0,0,0,0 boss_monster Orc Hero 1087,1,3600000,600000,1 +gef_fild03,45,350,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,66,300,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,80,252,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,118,281,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,135,344,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,210,363,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,215,345,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,359,316,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,350,247,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,304,202,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,285,223,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,282,192,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,316,143,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,337,104,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,348,42,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,326,79,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,280,92,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,216,135,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,169,92,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,45,93,3,3 monster Green Plant 1080,1,180000,90000,1 +gef_fild03,44,133,3,3 monster Green Plant 1080,1,180000,90000,1 + +//================================================== +// gef_fild04 - Geffen Field +//================================================== +gef_fild04,0,0,0,0 monster Mandragora 1020,125,5000,0,0 +gef_fild04,0,0,0,0 monster Lunatic 1063,25,5000,0,0 +gef_fild04,0,0,0,0 monster Fabre 1007,25,5000,0,0 +gef_fild04,0,0,0,0 monster Chonchon 1011,25,5000,0,0 +gef_fild04,224,82,5,2 monster Green Plant 1080,3,360000,180000,1 +gef_fild04,152,82,5,2 monster Green Plant 1080,3,360000,180000,1 + +//================================================== +// gef_fild05 - Geffen Field +//================================================== +gef_fild05,0,0,0,0 monster Creamy 1018,140,5000,0,0 +gef_fild05,0,0,0,0 monster Stainer 1174,20,5000,0,0 +gef_fild05,0,0,0,0 monster Smokie 1056,20,5000,0,0 +gef_fild05,0,0,0,0 monster Thief Bug Egg 1048,10,5000,0,0 +gef_fild05,0,0,0,0 monster Thief Bug 1051,10,5000,0,0 +gef_fild05,235,322,0,0 monster Red Plant 1078,1,180000,90000,1 +gef_fild05,238,326,0,0 monster Red Plant 1078,1,180000,90000,1 +gef_fild05,170,337,0,0 monster Red Plant 1078,1,180000,90000,1 +gef_fild05,108,317,0,0 monster Red Plant 1078,1,180000,90000,1 +gef_fild05,56,285,0,0 monster Red Plant 1078,1,180000,90000,1 +gef_fild05,65,256,0,0 monster Red Plant 1078,1,180000,90000,1 +gef_fild05,74,228,0,0 monster Red Plant 1078,1,180000,90000,1 +gef_fild05,50,189,0,0 monster Red Plant 1078,1,180000,90000,1 +gef_fild05,51,166,0,0 monster Red Plant 1078,1,180000,90000,1 +gef_fild05,146,161,0,0 monster Red Plant 1078,1,180000,90000,1 +gef_fild05,153,180,0,0 monster Red Plant 1078,1,180000,90000,1 +gef_fild05,124,207,0,0 monster Red Plant 1078,1,180000,90000,1 +gef_fild05,187,249,0,0 monster Red Plant 1078,1,180000,90000,1 +gef_fild05,187,265,0,0 monster Red Plant 1078,1,180000,90000,1 +gef_fild05,130,293,0,0 monster Red Plant 1078,1,180000,90000,1 + +//================================================== +// gef_fild06 - Geffen Field +//================================================== +gef_fild06,0,0,0,0 monster Petite 1155,130,5000,0,0 +gef_fild06,0,0,0,0 monster Mantis 1139,30,5000,0,0 +gef_fild06,0,0,0,0 monster Side Winder 1037,30,5000,0,0 +gef_fild06,0,0,0,0 monster Shining Plant 1083,4,1800000,900000,1 + +//================================================== +// gef_fild07 - Geffen Field +//================================================== +gef_fild07,0,0,0,0 monster Pupa 1008,130,5000,0,0 +gef_fild07,0,0,0,0 monster Poring 1002,20,5000,0,0 +gef_fild07,0,0,0,0 monster Fabre 1007,20,5000,0,0 +gef_fild07,0,0,0,0 monster Chonchon 1011,20,5000,0,0 +gef_fild07,122,221,0,0 monster Green Plant 1080,3,360000,180000,1 +gef_fild07,185,247,0,0 monster Shining Plant 1083,1,1800000,900000,1 +gef_fild07,269,289,0,0 monster Blue Plant 1079,1,900000,450000,1 +gef_fild07,269,289,3,3 monster Green Plant 1080,3,360000,180000,1 + +//================================================== +// gef_fild08 - Geffen Field +//================================================== +gef_fild08,0,0,0,0 monster Petite 1156,130,5000,0,0 +gef_fild08,0,0,0,0 monster Mantis 1139,30,5000,0,0 +gef_fild08,0,0,0,0 monster Flora 1118,30,5000,0,0 +gef_fild08,65,341,0,0 monster Blue Plant 1079,1,900000,450000,1 +gef_fild08,111,319,0,0 monster Blue Plant 1079,1,900000,450000,1 +gef_fild08,59,91,0,0 monster Blue Plant 1079,1,900000,450000,1 +gef_fild08,70,80,0,0 monster Blue Plant 1079,1,900000,450000,1 +gef_fild08,144,140,0,0 monster Blue Plant 1079,1,900000,450000,1 +gef_fild08,344,78,0,0 monster Blue Plant 1079,1,900000,450000,1 +gef_fild08,325,311,0,0 monster Blue Plant 1079,1,900000,450000,1 +gef_fild08,162,247,0,0 monster Blue Plant 1079,1,900000,450000,1 + +//================================================== +// gef_fild09 - Geffen Field +//================================================== +gef_fild09,0,0,0,0 monster Ambernite 1094,80,5000,0,0 +gef_fild09,0,0,0,0 monster Roda Frog 1012,20,5000,0,0 +gef_fild09,51,43,0,0 monster Red Mushroom 1085,1,180000,90000,1 +gef_fild09,125,53,0,0 monster Red Mushroom 1085,1,180000,90000,1 +gef_fild09,148,74,0,0 monster Red Mushroom 1085,1,180000,90000,1 +gef_fild09,184,66,0,0 monster Red Mushroom 1085,1,180000,90000,1 +gef_fild09,207,54,0,0 monster Red Mushroom 1085,1,180000,90000,1 +gef_fild09,245,62,0,0 monster Red Mushroom 1085,1,180000,90000,1 +gef_fild09,268,45,0,0 monster Red Mushroom 1085,1,180000,90000,1 +gef_fild09,258,24,0,0 monster Red Mushroom 1085,1,180000,90000,1 +gef_fild09,325,36,0,0 monster Red Mushroom 1085,1,180000,90000,1 +gef_fild09,344,51,0,0 monster Red Mushroom 1085,1,180000,90000,1 +gef_fild09,277,201,5,5 monster Blue Plant 1079,3,900000,450000,1 + +//================================================== +// gef_fild10 - Geffen Field +//================================================== +gef_fild10,0,0,0,0 monster Orc Warrior 1023,130,5000,0,0 +gef_fild10,0,0,0,0 monster Orc Lady 1273,40,5000,0,0 +gef_fild10,0,0,0,0 monster Orc Baby 1686,20,5000,0,0 +gef_fild10,0,0,0,0 boss_monster Orc Lord 1190,1,7200000,600000,0 +gef_fild10,46,350,5,5 monster Blue Plant 1079,3,900000,450000,1 +gef_fild10,287,61,5,5 monster Blue Plant 1079,3,900000,450000,1 +gef_fild10,300,253,5,5 monster Green Plant 1080,3,360000,180000,1 + +//================================================== +// gef_fild11 - Geffen Field +//================================================== +gef_fild11,0,0,0,0 monster Goblin 1122,50,5000,0,0 +gef_fild11,0,0,0,0 monster Goblin 1123,50,5000,0,0 +gef_fild11,0,0,0,0 monster Goblin 1124,50,5000,0,0 +gef_fild11,0,0,0,0 monster Goblin 1125,50,5000,0,0 +gef_fild11,0,0,0,0 monster Goblin Leader 1299,1,1800000,1200000,0 +gef_fild11,101,277,4,1 monster Black Mushroom 1084,3,360000,180000,1 +gef_fild11,176,288,1,4 monster Black Mushroom 1084,3,360000,180000,1 +gef_fild11,253,357,1,4 monster Black Mushroom 1084,3,360000,180000,1 +gef_fild11,247,249,1,4 monster Black Mushroom 1084,3,360000,180000,1 +gef_fild11,257,209,1,4 monster Black Mushroom 1084,3,360000,180000,1 +gef_fild11,174,240,1,3 monster Black Mushroom 1084,3,360000,180000,1 +gef_fild11,283,100,4,1 monster Black Mushroom 1084,3,360000,180000,1 + +//================================================== +// gef_fild12 - Disabled on Renewal +//================================================== + +//================================================== +// gef_fild13 - No Spawns on Renewal +//================================================== + +//================================================== +// gef_fild14 - Disabled on Renewal +//================================================== diff --git a/npc/re/mobs/fields/gonryun.txt b/npc/re/mobs/fields/gonryun.txt new file mode 100644 index 000000000..60ac58acf --- /dev/null +++ b/npc/re/mobs/fields/gonryun.txt @@ -0,0 +1,21 @@ +//===== rAthena Script ======================================= +//= Gon Ryun Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Official kRO 10.1 spawns [Playtester] +//= 1.2 Updated to Renewal Spawns [Kisuka] +//============================================================ + +//================================================== +// gon_fild01 - Kunlun Field +//================================================== +gon_fild01,0,0,0,0 monster Dumpling Child 1409,55,5000,0,0 +gon_fild01,0,0,0,0 monster Baby Leopard 1415,40,5000,0,0 +gon_fild01,0,0,0,0 monster Side Winder 1037,10,5000,0,0 +gon_fild01,0,0,0,0 monster Green Plant 1080,5,5000,0,0 +gon_fild01,0,0,0,0 monster Shining Plant 1083,1,5000,0,0 diff --git a/npc/re/mobs/fields/hugel.txt b/npc/re/mobs/fields/hugel.txt new file mode 100644 index 000000000..14b74aa17 --- /dev/null +++ b/npc/re/mobs/fields/hugel.txt @@ -0,0 +1,74 @@ +//===== rAthena Script ======================================= +//= Hugel Fields Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= Spawns for hu_fild05 and hu_fild04, numbers may not be correct [MasterOfMuppets] +//= 0.2 Fixed Petit ID +//= 0.3 Updated the spawns using kRO's website as info, [MasterOfMuppets] +//= thanks to battousai90 +//= 0.4 Updated after Episode 10.4 - Hugel [Poki#3] +//= Mob quantity is custom. +//= 1.0 Updated by using Tharis' Homun AI, by Tharis [Vicious] +//= 1.1 Official X.3 spawns [Playtester] +//= 1.2 Some 11.1 spawn updates [Playtester] +//= 1.3 More accurate spawns [Playtester] +//= 1.4 Updated to Renewal Spawns [Kisuka] +//============================================================ + +//================================================== +// hu_fild01 - Thanatos Tower +//================================================== +hu_fild01,0,0,0,0 monster Novus 1715,100,5000,0,0 +hu_fild01,0,0,0,0 monster Novus 1718,35,5000,0,0 +hu_fild01,0,0,0,0 monster Geographer 1368,10,5000,0,0 +hu_fild01,0,0,0,0 monster Dragon Egg 1721,10,5000,0,0 + +//================================================== +// hu_fild02 - Hugel Field +//================================================== +hu_fild02,0,0,0,0 monster Novus 1715,100,5000,0,0 +hu_fild02,0,0,0,0 monster Novus 1718,30,5000,0,0 +hu_fild02,0,0,0,0 monster Geographer 1368,30,5000,0,0 +hu_fild02,0,0,0,0 monster Dragon Egg 1721,20,5000,0,0 +hu_fild02,0,0,0,0 monster Gryphon 1259,3,3600000,0,1 + +//================================================== +// hu_fild03 - Disabled on Renewal +//================================================== + +//================================================== +// hu_fild04 - Hugel Field +//================================================== +hu_fild04,0,0,0,0 monster Novus 1718,100,5000,0,0 +hu_fild04,0,0,0,0 monster Novus 1715,30,5000,0,0 +hu_fild04,0,0,0,0 monster Geographer 1368,30,5000,0,0 +hu_fild04,0,0,0,0 monster Dragon Egg 1721,20,5000,0,0 +hu_fild04,0,0,0,0 monster Green Plant 1080,10,0,0,0 +hu_fild04,0,0,0,0 monster Yellow Plant 1081,10,0,0,0 +hu_fild04,206,210,30,18 monster Blue Plant 1079,4,120000,600000,0 +hu_fild04,206,120,10,10 monster Blue Plant 1079,2,120000,600000,0 + +//================================================== +// hu_fild05 - The Abyss Lake +//================================================== +hu_fild05,0,0,0,0 monster Novus 1718,130,5000,0,0 +hu_fild05,0,0,0,0 monster Novus 1715,35,5000,0,0 +hu_fild05,0,0,0,0 monster Dragon Egg 1721,20,5000,0,0 + +//================================================== +// hu_fild06 - Hugel Field +//================================================== +hu_fild06,0,0,0,0 monster Shellfish 1074,50,5000,0,0 +hu_fild06,0,0,0,0 monster Crab 1073,20,5000,0,0 +hu_fild06,0,0,0,0 monster Aster 1266,20,5000,0,0 +hu_fild06,234,251,14,120 monster Green Plant 1080,10,600000,0,0 +hu_fild06,234,251,14,120 monster Yellow Plant 1081,10,600000,0,0 + +//================================================== +// hu_fild07 - Disabled on Renewal +//================================================== diff --git a/npc/re/mobs/fields/jawaii.txt b/npc/re/mobs/fields/jawaii.txt new file mode 100644 index 000000000..b34fa815b --- /dev/null +++ b/npc/re/mobs/fields/jawaii.txt @@ -0,0 +1,29 @@ +//===== rAthena Script ======================================= +//= Jawaii the honeymoon Island Monster Spawn Script +//===== By: ================================================== +//= MasterOfMuppets (1.0) +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 First version [MasterOfMuppets] +//============================================================ + +//================================================== +// jawaii - Jawaii, the Honeymoon Island +//================================================== +jawaii,207,290,10,10 monster Phen 1158,3,3600000,1800000,0 +jawaii,221,220,30,30 monster Aster 1266,2,3600000,2400000,0 +jawaii,276,163,20,20 monster Aster 1266,1,7200000,3600000,0 +jawaii,221,220,30,30 monster Shellfish 1074,1,4800000,3000000,0 +jawaii,276,163,20,30 monster Shellfish 1074,2,4200000,2400000,0 + +//================================================== +// jawaii_in - Inside Jawaii +//================================================== +jawaii_in,128,121,1,4 monster Red Mushroom 1085,1,3000000,1200000,0 +jawaii_in,124,76,1,1 monster Black Mushroom 1084,1,3600000,1200000,0 +jawaii_in,72,74,5,1 monster Black Mushroom 1084,2,3000000,1200000,0 +jawaii_in,73,117,4,4 monster Thief Bug Egg 1048,1,5400000,3000000,0 +jawaii_in,83,117,5,5 monster Thief Bug Egg 1048,1,4800000,2400000,0 diff --git a/npc/re/mobs/fields/lighthalzen.txt b/npc/re/mobs/fields/lighthalzen.txt new file mode 100644 index 000000000..05fed705e --- /dev/null +++ b/npc/re/mobs/fields/lighthalzen.txt @@ -0,0 +1,50 @@ +//===== rAthena Script ======================================= +//= Lighthalzen Fields Monster Spawn Script +//===== By: ================================================== +//= Muad_Dib, rAthena dev team +//===== Current Version: ===================================== +//= 1.6 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 by Muad_Dib (Prometheus Project) +//= 1.1 Added Porcellio by MasterOfMuppets +//= 1.2 Corrected monsters. Many thanks to vicious_pucca for +//= the information [MasterOfMuppets] +//= 1.3 Updated acordingly to Episode 10.4 [Poki#3] +//= 1.4 Fully updated X.4 spawns [Playtester] +//= 1.5 More accurate spawns [Playtester] +//= 1.6 Updated to Renewal Spawns [Kisuka] +//============================================================ + +//================================================== +// lhz_fild01 - Lighthalzen Field +//================================================== +lhz_fild01,0,0,0,0 monster Rafflesia 1162,130,5000,0,0 +lhz_fild01,0,0,0,0 monster Stem Worm 1215,35,5000,0,0 +lhz_fild01,0,0,0,0 monster Metaling 1613,35,5000,0,0 +lhz_fild01,0,0,0,0 monster Red Plant 1078,10,60000,30000,0 +lhz_fild01,0,0,0,0 monster Yellow Plant 1081,10,60000,30000,0 +lhz_fild01,0,0,0,0 monster Green Plant 1080,10,60000,30000,0 + +//================================================== +// lhz_fild02 - Lighthalzen Field (Grim Reaper's Valley) +//================================================== +lhz_fild02,0,0,0,0 monster Stem Worm 1215,100,5000,0,0 +lhz_fild02,0,0,0,0 monster Breeze 1692,40,5000,0,0 +lhz_fild02,0,0,0,0 monster Rafflesia 1162,20,5000,0,0 +lhz_fild02,0,0,0,0 monster Metaling 1613,20,5000,0,0 +lhz_fild02,0,0,0,0 monster Demon Pungus 1378,15,5000,0,0 +lhz_fild02,0,0,0,0 monster Yellow Plant 1081,15,60000,30000,0 +lhz_fild02,0,0,0,0 monster Green Plant 1080,15,60000,30000,0 + +//================================================== +// lhz_fild03 - Lighthalzen Field +//================================================== +lhz_fild03,0,0,0,0 monster Breeze 1692,130,5000,0,0 +lhz_fild03,0,0,0,0 monster Stem Worm 1215,20,5000,0,0 +lhz_fild03,0,0,0,0 monster Rafflesia 1162,20,5000,0,0 +lhz_fild03,0,0,0,0 monster Metaling 1613,20,5000,0,0 +lhz_fild03,0,0,0,0 monster Demon Pungus 1378,15,5000,0,0 +lhz_fild03,0,0,0,0 monster Red Plant 1078,10,60000,30000,0 +lhz_fild03,0,0,0,0 monster Green Plant 1080,10,60000,30000,0 diff --git a/npc/re/mobs/fields/louyang.txt b/npc/re/mobs/fields/louyang.txt new file mode 100644 index 000000000..fd645faf3 --- /dev/null +++ b/npc/re/mobs/fields/louyang.txt @@ -0,0 +1,22 @@ +//===== rAthena Script ======================================= +//= Louyang Fields Monster Spawn Script +//===== By: ================================================== +//= Evera/Lorri +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 updated by MasterOfMuppets +//= 1.2 Official kRO 10.1 spawns [Playtester] +//= 1.3 Updated to Renewal Spawns [Kisuka] +//============================================================ + +//================================================== +// lou_fild01 - Louyang Field +//================================================== +lou_fild01,0,0,0,0 monster Mi Gao 1516,40,5000,0,0 +lou_fild01,0,0,0,0 monster Mantis 1139,19,5000,0,0 +lou_fild01,0,0,0,0 monster Geographer 1368,19,5000,0,0 +lou_fild01,0,0,0,0 monster Black Mushroom 1084,5,5000,0,0 +lou_fild01,0,0,0,0 monster Yellow Plant 1081,10,5000,0,0 diff --git a/npc/re/mobs/fields/lutie.txt b/npc/re/mobs/fields/lutie.txt new file mode 100644 index 000000000..19583ffe4 --- /dev/null +++ b/npc/re/mobs/fields/lutie.txt @@ -0,0 +1,22 @@ +//===== rAthena Script ======================================= +//= Lutie Fields Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 added Garm Baby according to May 10 patch +//= 1.2 Official kRO 10.1 spawns [Playtester] +//= 1.3 Corrected MVP spawn variance. [L0ne_W0lf] +//= 1.4 Updated to Renewal Spawns [Kisuka] +//============================================================ + +//================================================== +// xmas_fild01 - Lutie Field +//================================================== +xmas_fild01,0,0,0,0 monster Marin 1242,35,5000,0,0 +xmas_fild01,0,0,0,0 monster Sasquatch 1243,5,5000,0,0 +xmas_fild01,0,0,0,0 monster Garm Baby 1515,1,5000,0,0 +xmas_fild01,0,0,0,0 boss_monster Garm 1252,1,7200000,600000,1 diff --git a/npc/re/mobs/fields/malaya.txt b/npc/re/mobs/fields/malaya.txt new file mode 100644 index 000000000..908bf16fd --- /dev/null +++ b/npc/re/mobs/fields/malaya.txt @@ -0,0 +1,29 @@ +//===== rAthena Script ======================================== +//= Malaya Port Field Monster Spawn Script +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Official kRO monster spawns +//===== Additional Comments: ================================= +//= 1.0 First Release +//============================================================ + +//================================================== +// ma_fild01 - Barrio Maligawa +//================================================== +ma_fild01,0,0,0,0 monster Tikbalang 2313,70,0,0,0 +ma_fild01,0,0,0,0 monster Tiyanak 2314,50,0,0,0 +ma_fild01,0,0,0,0 monster Jejeling 2316,30,0,0,0 + +//================================================== +// ma_fild02 - Malaya Forest +//================================================== +ma_fild02,0,0,0,0 monster Bungisngis 2309,70,0,0,0 +ma_fild02,0,0,0,0 monster Engkanto 2310,50,0,0,0 +ma_fild02,0,0,0,0 monster Mangkukulam 2312,20,0,0,0 +ma_fild02,0,0,0,0 monster Jejeling 2316,10,0,0,0 +ma_fild02,0,0,0,0 monster Wakwak 2315,10,0,0,0 diff --git a/npc/re/mobs/fields/manuk.txt b/npc/re/mobs/fields/manuk.txt new file mode 100644 index 000000000..92f9866a1 --- /dev/null +++ b/npc/re/mobs/fields/manuk.txt @@ -0,0 +1,36 @@ +//===== rAthena Script ======================================= +//= Manuk Fields Monster Spawn Script +//===== By: ================================================== +//= alexx, MaC +//===== Current Version: ===================================== +//= 1.1a +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 Official spawn ammounts from Aegis script [alexx] +//= 1.1 Added 13.2 mob spawn update [scriptor] +//= 1.1a Corrected fild2 mobs spawning on fild1. (bugreport:4248) +//============================================================ + +//================================================== +// man_fild01 - Manuk Field +//================================================== +man_fild01,0,0,0,0 monster Nepenthes 1988,105,5000,0,0 +man_fild01,0,0,0,0 monster Centipede Larva 1999,30,5000,0,0 +man_fild01,0,0,0,0 monster Hillslion 1989,10,5000,0,0 +man_fild01,0,0,0,0 monster Centipede 1987,2,5000,0,0 + +//================================================== +// man_fild02 - Manuk Field +//================================================== +man_fild02,0,0,0,0 monster Bradium Golem 2024,50,5000,0,0 +man_fild02,0,0,0,0 monster Centipede 1987,35,5000,0,0 +man_fild02,0,0,0,0 monster Tatacho 1986,25,5000,0,0 + +//================================================== +// man_fild03 - Manuk Field +//================================================== +man_fild03,0,0,0,0 monster Hillslion 1989,25,5000,0,0 +man_fild03,0,0,0,0 monster Tatacho 1986,25,5000,0,0 +man_fild03,0,0,0,0 monster Centipede 1987,25,5000,0,0 +man_fild03,0,0,0,0 monster Hardrock Mammoth 1990,1,14400000,0,0 diff --git a/npc/re/mobs/fields/mjolnir.txt b/npc/re/mobs/fields/mjolnir.txt new file mode 100644 index 000000000..e2483c2a8 --- /dev/null +++ b/npc/re/mobs/fields/mjolnir.txt @@ -0,0 +1,229 @@ +//===== rAthena Script ======================================= +//= Mt. Mjolnir Fields Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.2 Official kRO 10.1 spawns [Playtester] +//= 1.3 Updated to renewal spawns. [L0ne_W0lf] +//============================================================ + +//================================================== +// mjolnir_01 - Mt.Mjolnir +//================================================== +mjolnir_01,0,0,0,0 monster Caramel 1103,140,5000,0,0 +mjolnir_01,0,0,0,0 monster Stainer 1174,20,5000,0,0 +mjolnir_01,0,0,0,0 monster Creamy 1018,20,5000,0,0 +mjolnir_01,0,0,0,0 monster Bigfoot 1060,20,5000,0,0 +mjolnir_01,75,85,25,25 monster Shining Plant 1083,1,1800000,900000,1 +mjolnir_01,78,219,25,25 monster Shining Plant 1083,1,1800000,900000,1 +mjolnir_01,75,85,25,25 monster Green Plant 1080,5,180000,90000,1 +mjolnir_01,78,219,25,25 monster Green Plant 1080,5,180000,90000,1 +mjolnir_01,311,271,25,25 monster Blue Plant 1079,5,360000,180000,1 + +//================================================== +// mjolnir_02 - Mt.Mjolnir +//================================================== +mjolnir_02,0,0,0,0 monster Horn 1128,140,5000,0,0 +mjolnir_02,0,0,0,0 monster Poporing 1031,20,5000,0,0 +mjolnir_02,0,0,0,0 monster Elder Willow 1033,20,5000,0,0 +mjolnir_02,0,0,0,0 monster Yoyo 1057,20,5000,0,0 +mjolnir_02,86,270,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,80,211,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,86,270,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,86,180,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,107,128,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,79,49,0,0 monster Blue Plant 1079,1,360000,180000,1 +mjolnir_02,133,80,0,0 monster Red Plant 1078,1,180000,90000,1 +mjolnir_02,191,71,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,237,55,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,292,49,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,349,45,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,282,101,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,325,146,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,318,205,0,0 monster Red Plant 1078,1,180000,90000,1 +mjolnir_02,275,199,0,0 monster Blue Plant 1079,1,360000,180000,1 +mjolnir_02,335,301,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,312,342,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,325,146,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,257,292,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,204,263,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,193,304,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,145,282,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,156,254,0,0 monster Red Plant 1078,1,180000,90000,1 +mjolnir_02,112,268,0,0 monster Blue Plant 1079,1,360000,180000,1 +mjolnir_02,122,195,0,0 monster Red Plant 1078,1,180000,90000,1 +mjolnir_02,167,160,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,325,146,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,223,110,0,0 monster Red Plant 1078,1,180000,90000,1 +mjolnir_02,273,74,0,0 monster Blue Plant 1079,1,360000,180000,1 +mjolnir_02,254,155,0,0 monster Red Plant 1078,1,180000,90000,1 +mjolnir_02,243,208,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,273,240,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,289,276,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_02,188,192,10,10 monster Blue Plant 1079,2,360000,180000,1 + +//================================================== +// mjolnir_03 - Mt.Mjolnir +//================================================== +mjolnir_03,0,0,0,0 monster Side Winder 1037,130,5000,0,0 +mjolnir_03,0,0,0,0 monster Driller 1380,35,5000,0,0 +mjolnir_03,0,0,0,0 monster Mantis 1139,35,5000,0,0 +mjolnir_03,211,216,10,10 monster Shining Plant 1083,1,1800000,900000,1 +mjolnir_03,280,252,10,10 monster Shining Plant 1083,1,1800000,900000,1 +mjolnir_03,135,94,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_03,199,97,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_03,262,98,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_03,322,144,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_03,356,213,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_03,352,288,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_03,324,355,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_03,255,349,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_03,168,341,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_03,128,319,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_03,77,271,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_03,66,219,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_03,91,161,0,0 monster Green Plant 1080,1,180000,90000,1 + +//================================================== +// mjolnir_04 - Mt.Mjolnir +//================================================== +mjolnir_04,0,0,0,0 monster Driller 1380,130,5000,0,0 +mjolnir_04,0,0,0,0 monster Mantis 1139,35,5000,0,0 +mjolnir_04,0,0,0,0 monster Side Winder 1037,35,5000,0,0 +mjolnir_04,0,0,0,0 boss_monster Mistress 1059,1,7200000,600000,1 +mjolnir_04,200,200,30,30 monster Shining Plant 1083,3,1800000,900000,1 +mjolnir_04,177,34,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,122,28,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,76,53,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,72,99,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,177,34,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,43,143,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,31,194,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,42,252,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,64,323,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,107,357,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,173,369,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,286,357,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,356,292,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,362,201,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,332,122,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,269,39,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_04,205,33,0,0 monster Green Plant 1080,1,180000,90000,1 + +//================================================== +// mjolnir_05 - Mt.Mjolnir +//================================================== +mjolnir_05,0,0,0,0 monster Argiope 1099,130,5000,0,0 +mjolnir_05,0,0,0,0 monster Mantis 1139,35,5000,0,0 +mjolnir_05,0,0,0,0 monster Driller 1380,35,5000,0,0 +mjolnir_05,200,240,40,40 monster Blue Plant 1079,3,360000,180000,1 +mjolnir_05,200,240,40,40 monster Shining Plant 1083,1,1800000,900000,1 +mjolnir_05,134,103,20,20 monster Blue Plant 1079,3,360000,180000,1 +mjolnir_05,261,100,20,10 monster Blue Plant 1079,3,360000,180000,1 +mjolnir_05,0,0,0,0 monster Red Plant 1078,10,180000,90000,1 + +//================================================== +// mjolnir_06 - Mt.Mjolnir +//================================================== +mjolnir_06,0,0,0,0 monster Poison Spore 1077,140,5000,0,0 +mjolnir_06,0,0,0,0 monster Creamy 1018,30,5000,0,0 +mjolnir_06,0,0,0,0 monster Smokie 1056,30,5000,0,0 +mjolnir_06,162,285,0,0 monster Blue Plant 1079,1,360000,180000,1 +mjolnir_06,162,255,0,0 monster Blue Plant 1079,1,360000,180000,1 +mjolnir_06,304,98,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_06,279,174,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_06,339,168,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_06,296,317,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_06,45,345,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_06,73,339,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_06,69,225,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_06,55,276,0,0 monster Red Mushroom 1085,1,180000,90000,1 + +//================================================== +// mjolnir_07 - Mt.Mjolnir +//================================================== +mjolnir_07,0,0,0,0 monster Savage 1166,140,5000,0,0 +mjolnir_07,0,0,0,0 monster Beetle King 1494,30,5000,0,0 +mjolnir_07,0,0,0,0 monster Flora 1118,30,5000,0,0 +mjolnir_07,314,133,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_07,299,145,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_07,272,152,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_07,273,181,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_07,245,168,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_07,217,185,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_07,181,173,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_07,140,179,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_07,97,210,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_07,249,214,0,0 monster Blue Plant 1079,2,360000,180000,1 + +//================================================== +// mjolnir_08 - Mt.Mjolnir +//================================================== +mjolnir_08,0,0,0,0 monster Beetle King 1494,140,5000,0,0 +mjolnir_08,0,0,0,0 monster Savage 1166,30,5000,0,0 +mjolnir_08,0,0,0,0 monster Flora 1118,30,5000,0,0 +mjolnir_08,280,280,20,40 monster Blue Plant 1079,2,360000,180000,1 +mjolnir_08,207,83,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_08,176,153,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_08,169,204,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_08,207,232,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_08,180,282,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_08,149,328,0,0 monster Green Plant 1080,1,180000,90000,1 + +//================================================== +// mjolnir_09 - Mt.Mjolnir +//================================================== +mjolnir_09,0,0,0,0 monster Savage Babe 1167,140,5000,0,0 +mjolnir_09,0,0,0,0 monster Willow 1010,30,5000,0,0 +mjolnir_09,0,0,0,0 monster Hornet 1004,30,5000,0,0 +mjolnir_09,205,352,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_09,199,344,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_09,210,331,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_09,204,321,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_09,212,312,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_09,198,297,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_09,73,122,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_09,89,141,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_09,120,126,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_09,139,84,0,0 monster Red Mushroom 1085,1,180000,90000,1 +mjolnir_09,125,82,0,0 monster Red Mushroom 1085,1,180000,90000,1 + +//================================================== +// mjolnir_10 - Mt.Mjolnir +//================================================== +mjolnir_10,0,0,0,0 monster Argos 1100,140,5000,0,0 +mjolnir_10,0,0,0,0 monster Beetle King 1494,30,5000,0,0 +mjolnir_10,0,0,0,0 monster Flora 1118,30,5000,0,0 +mjolnir_10,123,331,10,10 monster Shining Plant 1083,1,1800000,900000,1 +mjolnir_10,0,0,0,0 monster Green Plant 1080,10,180000,90000,1 + +//================================================== +// mjolnir_11 - Mt.Mjolnir +//================================================== +mjolnir_11,0,0,0,0 monster Argiope 1099,130,5000,0,0 +mjolnir_11,0,0,0,0 monster Argos 1100,35,5000,0,0 +mjolnir_11,0,0,0,0 monster Flora 1118,35,5000,0,0 +mjolnir_11,112,276,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_11,159,283,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_11,116,240,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_11,146,215,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_11,145,177,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_11,129,135,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_11,126,93,0,0 monster Blue Plant 1079,1,360000,180000,1 +mjolnir_11,197,123,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_11,198,210,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_11,231,277,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_11,332,327,0,0 monster Blue Plant 1079,1,360000,180000,1 +mjolnir_11,282,300,0,0 monster Green Plant 1080,1,180000,90000,1 +mjolnir_11,295,271,0,0 monster Green Plant 1080,1,180000,90000,1 + +//================================================== +// mjolnir_12 - Mt.Mjolnir +//================================================== +mjolnir_12,0,0,0,0 monster Dustiness 1114,130,5000,0,0 +mjolnir_12,0,0,0,0 monster Hunter Fly 1035,35,5000,0,0 +mjolnir_12,0,0,0,0 monster Mantis 1139,35,5000,0,0 diff --git a/npc/re/mobs/fields/morocc.txt b/npc/re/mobs/fields/morocc.txt new file mode 100644 index 000000000..774e342da --- /dev/null +++ b/npc/re/mobs/fields/morocc.txt @@ -0,0 +1,219 @@ +//===== rAthena Script ======================================= +//= Morocc Fields Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.8 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Official kRO 10.1 spawns [Playtester] +//= 1.2 More accurate spawns [Playtester] +//= 1.3 Added Morroc field 20, 21, and 22 spawns, as [L0ne_W0lf] +//= 1.4 Updated spawns to reflect episode 12.1. [L0ne_W0lf] +//= 1.5 Fixed Pheeroni spawn location. [Kisuka] +//= 1.6 Added Satan MOrroc static spawn. [L0ne_W0lf] +//= Added 30s spawn time for all Morroc Shadows. +//= 1.7 Corrected MVP spawn variance. [L0ne_W0lf] +//= 1.8 Updated to renewal spawns. [L0ne_W0lf] +//============================================================ + +//================================================== +// moc_fild01 - Sograt Desert +//================================================== +moc_fild01,0,0,0,0 monster Peco Peco 1019,130,5000,0,0 +moc_fild01,0,0,0,0 monster Muka 1055,50,5000,0,0 +moc_fild01,0,0,0,0 monster Peco Peco Egg 1047,20,5000,0,0 +moc_fild01,194,51,10,10 monster Yellow Plant 1081,10,900000,450000,1 + +//================================================== +// moc_fild02 - Sograt Desert +//================================================== +moc_fild02,0,0,0,0 monster Muka 1055,130,5000,0,0 +moc_fild02,0,0,0,0 monster Peco Peco 1019,60,5000,0,0 +moc_fild02,0,0,0,0 monster Peco Peco Egg 1047,10,5000,0,0 +moc_fild02,89,315,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild02,99,261,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild02,94,195,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild02,139,222,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild02,132,307,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild02,194,294,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild02,275,241,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild02,342,267,0,0 monster Green Plant 1080,1,180000,90000,1 +moc_fild02,359,215,0,0 monster Green Plant 1080,1,180000,90000,1 +moc_fild02,313,149,0,0 monster Green Plant 1080,1,180000,90000,1 +moc_fild02,230,62,0,0 monster Green Plant 1080,1,180000,90000,1 +moc_fild02,299,61,0,0 monster Green Plant 1080,1,180000,90000,1 +moc_fild02,353,103,0,0 monster Green Plant 1080,1,180000,90000,1 +moc_fild02,337,35,0,0 monster Green Plant 1080,1,180000,90000,1 + +//================================================== +// moc_fild03 - Sograt Desert +//================================================== +moc_fild03,0,0,0,0 monster Wolf 1013,140,5000,0,0 +moc_fild03,0,0,0,0 monster Argos 1100,20,5000,0,0 +moc_fild03,0,0,0,0 monster Steel Chonchon 1042,20,5000,0,0 +moc_fild03,77,311,5,5 monster Green Plant 1080,2,180000,90000,1 +moc_fild03,108,199,5,5 monster Green Plant 1080,2,180000,90000,1 +moc_fild03,96,65,5,5 monster Green Plant 1080,2,180000,90000,1 +moc_fild03,216,69,5,5 monster Green Plant 1080,2,180000,90000,1 +moc_fild03,261,161,5,5 monster Green Plant 1080,2,180000,90000,1 +moc_fild03,213,201,5,5 monster Green Plant 1080,2,180000,90000,1 +moc_fild03,200,263,5,5 monster Green Plant 1080,2,180000,90000,1 + +//================================================== +// moc_fild04 - Disabled on Episode 12.1 +//================================================== + +//================================================== +// moc_fild05 - Disabled on Episode 12.1 +//================================================== + +//================================================== +// moc_fild06 - Disabled on Episode 12.1 +//================================================== + +//================================================== +// moc_fild07 - Sograt Desert +//================================================== +moc_fild07,0,0,0,0 monster Drops 1113,140,5000,0,0 +moc_fild07,0,0,0,0 monster Chonchon 1011,30,5000,0,0 +moc_fild07,0,0,0,0 monster Picky 1050,15,5000,0,0 +moc_fild07,0,0,0,0 monster Peco Peco Egg 1047,10,5000,0,0 +moc_fild07,0,0,0,0 monster Picky 1049,10,5000,0,0 +moc_fild07,162,333,12,12 monster Yellow Plant 1081,5,360000,180000,1 + +//================================================== +// moc_fild08 - Disabled on Episode 12.1 +//================================================== + +//================================================== +// moc_fild09 - Disabled on Episode 12.1 +//================================================== + +//================================================== +// moc_fild10 - Disabled on Episode 12.1 +//================================================== + +//================================================== +// moc_fild11 - Sograt Desert +//================================================== +moc_fild11,0,0,0,0 monster Baby Desert Wolf 1107,140,5000,0,0 +moc_fild11,0,0,0,0 monster Condor 1009,30,5000,0,0 +moc_fild11,0,0,0,0 monster Scorpion 1001,30,5000,0,0 + +//================================================== +// moc_fild12 - Sograt Desert +//================================================== +moc_fild12,0,0,0,0 monster Picky 1049,50,5000,0,0 +moc_fild12,0,0,0,0 monster Picky 1050,50,5000,0,0 +moc_fild12,0,0,0,0 monster Peco Peco Egg 1047,35,5000,0,0 +moc_fild12,0,0,0,0 monster Drops 1113,30,5000,0,0 +moc_fild12,0,0,0,0 monster Condor 1009,30,5000,0,0 +moc_fild12,181,336,40,20 monster Yellow Plant 1081,10,180000,90000,1 + +//================================================== +// moc_fild13 - Sograt Desert +//================================================== +moc_fild13,0,0,0,0 monster Steel Chonchon 1042,140,5000,0,0 +moc_fild13,0,0,0,0 monster Wolf 1013,15,5000,0,0 +moc_fild13,0,0,0,0 monster Argos 1100,15,5000,0,0 +moc_fild13,0,0,0,0 monster Metaller 1058,15,5000,0,0 +moc_fild13,0,0,0,0 monster Magnolia 1138,15,5000,0,0 +moc_fild13,280,99,0,0 monster Red Mushroom 1085,1,180000,90000,1 +moc_fild13,264,64,0,0 monster Red Mushroom 1085,1,180000,90000,1 +moc_fild13,305,91,0,0 monster Red Mushroom 1085,1,180000,90000,1 +moc_fild13,264,136,0,0 monster Red Mushroom 1085,1,180000,90000,1 +moc_fild13,282,155,0,0 monster Red Mushroom 1085,1,180000,90000,1 +moc_fild13,265,197,0,0 monster Red Mushroom 1085,1,180000,90000,1 +moc_fild13,284,227,0,0 monster Red Mushroom 1085,1,180000,90000,1 +moc_fild13,304,244,0,0 monster Red Mushroom 1085,1,180000,90000,1 +moc_fild13,266,289,0,0 monster Red Mushroom 1085,1,180000,90000,1 +moc_fild13,307,307,0,0 monster Red Mushroom 1085,1,180000,90000,1 +moc_fild13,281,333,0,0 monster Red Mushroom 1085,1,180000,90000,1 +moc_fild13,304,333,0,0 monster Red Mushroom 1085,1,180000,90000,1 +moc_fild13,295,358,0,0 monster Red Mushroom 1085,1,180000,90000,1 +moc_fild13,84,329,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild13,93,301,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild13,101,297,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild13,89,92,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild13,108,150,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild13,109,168,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild13,101,185,5,5 monster Yellow Plant 1081,3,180000,90000,1 +moc_fild13,106,258,5,5 monster Yellow Plant 1081,3,180000,90000,1 +moc_fild13,161,273,5,5 monster Yellow Plant 1081,3,180000,90000,1 + +//================================================== +// moc_fild14 - Disabled on Episode 12.1 +//================================================== + +//================================================== +// moc_fild15 - Disabled on Episode 12.1 +//================================================== + +//================================================== +// moc_fild16 - Sograt Desert +//================================================== +moc_fild16,0,0,0,0 monster Sandman 1165,130,5000,0,0 +moc_fild16,0,0,0,0 monster Hode 1127,30,5000,0,0 +moc_fild16,0,0,0,0 monster Frilldora 1119,10,5000,0,0 + +//================================================== +// moc_fild17 - Sograt Desert +//================================================== +moc_fild17,0,0,0,0 monster Hode 1127,130,5000,0,0 +moc_fild17,0,0,0,0 monster Sandman 1165,30,5000,0,0 +moc_fild17,0,0,0,0 monster Frilldora 1119,10,5000,0,0 +moc_fild17,0,0,0,0 boss_monster Phreeoni 1159,1,7200000,600000,1 +moc_fild17,40,258,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild17,144,151,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild17,243,138,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild17,270,106,0,0 monster Blue Plant 1079,1,180000,90000,1 +moc_fild17,335,191,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild17,347,224,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild17,359,258,0,0 monster Yellow Plant 1081,1,180000,90000,1 + +//================================================== +// moc_fild18 - Sograt Desert +//================================================== +moc_fild18,0,0,0,0 monster Scorpion 1001,140,5000,0,0 +moc_fild18,0,0,0,0 monster Condor 1009,30,5000,0,0 +moc_fild18,0,0,0,0 monster Baby Desert Wolf 1107,30,5000,0,0 +moc_fild18,0,0,0,0 monster Dragon Fly 1091,1,3600000,1800000,1 +moc_fild18,143,352,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild18,72,333,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild18,119,285,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild18,71,210,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild18,135,119,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild18,230,144,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild18,325,207,0,0 monster Yellow Plant 1081,1,180000,90000,1 +moc_fild18,325,272,0,0 monster Yellow Plant 1081,1,180000,90000,1 + +//================================================== +// moc_fild19 - Quest Map +//================================================== + +//================================================== +// moc_fild20 - Sograt Desert - Continental Guard Quarantine +//================================================== +moc_fild20,0,0,0,0 monster Incarnation of Morroc 1918,1,30000,0,0 +moc_fild20,0,0,0,0 monster Incarnation of Morroc 1919,1,30000,0,0 +moc_fild20,0,0,0,0 monster Incarnation of Morroc 1920,1,30000,0,0 +moc_fild20,0,0,0,0 monster Incarnation of Morroc 1921,1,30000,0,0 + +//================================================== +// moc_fild21 - Dimensional Gorge +//================================================== +moc_fild21,0,0,0,0 monster Incarnation of Morroc 1918,46,30000,0,0 +moc_fild21,0,0,0,0 monster Incarnation of Morroc 1919,46,30000,0,0 +moc_fild21,0,0,0,0 monster Incarnation of Morroc 1920,46,30000,0,0 +moc_fild21,0,0,0,0 monster Incarnation of Morroc 1921,34,30000,0,0 + +//================================================== +// moc_fild22 - Dimensional Gorge +//================================================== +moc_fild22,0,0,0,0 monster Incarnation of Morroc 1918,60,30000,0,0 +moc_fild22,0,0,0,0 monster Incarnation of Morroc 1919,60,30000,0,0 +moc_fild22,0,0,0,0 monster Incarnation of Morroc 1920,60,30000,0,0 +moc_fild22,0,0,0,0 monster Incarnation of Morroc 1921,25,10000,0,0 +moc_fild22,0,0,0,0 boss_monster Wounded Morroc 1917,1,43200000,600000,0 diff --git a/npc/re/mobs/fields/moscovia.txt b/npc/re/mobs/fields/moscovia.txt new file mode 100644 index 000000000..1edaf0464 --- /dev/null +++ b/npc/re/mobs/fields/moscovia.txt @@ -0,0 +1,22 @@ +//===== rAthena Script ======================================= +//= Moscovia Fields Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 Added spawns [Playtester] +//= 1.1 Updated to Renewal Spawns [Kisuka] +//============================================================ + +//================================================== +// mosk_fild02 - Okrestnosti of Moscovia +//================================================== +mosk_fild02,0,0,0,0 monster Side Winder 1037,40,5000,0,0 +mosk_fild02,0,0,0,0 monster Argiope 1099,30,5000,0,0 +mosk_fild02,0,0,0,0 monster Mantis 1139,10,5000,0,0 +mosk_fild02,0,0,0,0 monster Geographer 1368,5,5000,0,0 +mosk_fild02,0,0,0,0 monster Yellow Plant 1081,5,5000,0,0 +mosk_fild02,0,0,0,0 monster White Plant 1082,5,10000,0,0 diff --git a/npc/re/mobs/fields/niflheim.txt b/npc/re/mobs/fields/niflheim.txt new file mode 100644 index 000000000..1c8c2340e --- /dev/null +++ b/npc/re/mobs/fields/niflheim.txt @@ -0,0 +1,170 @@ +//===== rAthena Script ======================================= +//= Niflheim Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.7 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.2 updated [shadow], +//= 1.3 many changes and wrong LOD ID 5373 -> 1373 [Lupus] +//= 1.4 removed yggdrasil from this file [DracoRPG] +//= 1.4a Readded Lord of Death, why was it removed anyway? [MasterOfMuppets] +//= 1.5 Implemented the town invasion. [MasterOfMuppets] +//= 1.6 Official kRO 10.1 spawns [Playtester] +//= 1.7 Updated to Renewal Spawns [Kisuka] +//============================================================ + +//================================================== +// niflheim - Nifflheim, Realm of the Dead +//================================================== +niflheim,0,0,0,0 monster Lude 1509,20,5000,0,0 +niflheim,0,0,0,0 monster Quve 1508,20,5000,0,0 +niflheim,0,0,0,0 monster Gibbet 1503,10,5000,0,0 +niflheim,0,0,0,0 monster Heirozoist 1510,10,5000,0,0 +niflheim,0,0,0,0 monster Dullahan 1504,5,5000,0,0 + +//================================================== +// nif_fild01 - Skellington, a Solitary Village in Nifflheim +//================================================== +nif_fild01,0,0,0,0 monster Disguise 1506,50,5000,0,0 +nif_fild01,0,0,0,0 monster Quve 1508,30,5000,0,0 +nif_fild01,0,0,0,0 monster Dullahan 1504,20,5000,0,0 +nif_fild01,0,0,0,0 monster Gibbet 1503,10,5000,0,0 +nif_fild01,0,0,0,0 monster Heirozoist 1510,10,5000,0,0 + +//================================================== +// nif_fild02 - Vally of Gyoll +//================================================== +nif_fild02,0,0,0,0 monster Loli Ruri 1505,21,5000,0,0 +nif_fild02,0,0,0,0 monster Gibbet 1503,20,5000,0,0 +nif_fild02,0,0,0,0 monster Bloody Murderer 1507,11,5000,0,0 +nif_fild02,0,0,0,0 monster Dullahan 1504,10,5000,0,0 +nif_fild02,0,0,0,0 monster Lude 1509,10,5000,0,0 +nif_fild02,0,0,0,0 monster Heirozoist 1510,10,5000,0,0 + +niflheim,0,0,0 script mvp_niflheim -1,{ +OnTimer7980000: // delay1 = 7980000 ms (133 min) + stopnpctimer; +OnInit: + switch(rand(6)) { + case 0: + monster "niflheim",327,193,"Lord Of Death",1373,1,strnpcinfo(3)+"::OnLoDDead"; + monster "niflheim",330,193,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",324,193,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",327,196,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",327,190,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",324,190,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",330,190,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",324,196,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",330,196,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + break; + case 1: + monster "niflheim",337,252,"Lord Of Death",1373,1,strnpcinfo(3)+"::OnLoDDead"; + monster "niflheim",337,255,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",337,249,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",334,252,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",340,252,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",334,249,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",340,255,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",340,249,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",334,255,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + break; + case 2: + monster "niflheim",190,185,"Lord Of Death",1373,1,strnpcinfo(3)+"::OnLoDDead"; + monster "niflheim",190,188,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",190,182,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",193,185,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",187,185,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",187,182,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",193,182,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",193,188,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",187,188,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + break; + case 3: + monster "niflheim",131,138,"Lord Of Death",1373,1,strnpcinfo(3)+"::OnLoDDead"; + monster "niflheim",131,141,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",131,135,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",128,138,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",134,138,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",134,141,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",128,141,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",134,135,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",128,135,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + break; + case 4: + monster "niflheim",311,64,"Lord Of Death",1373,1,strnpcinfo(3)+"::OnLoDDead"; + monster "niflheim",311,67,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",311,61,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",308,64,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",314,64,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",314,61,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",314,67,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",308,67,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",308,61,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + break; + case 5: + monster "niflheim",238,131,"Lord Of Death",1373,1,strnpcinfo(3)+"::OnLoDDead"; + monster "niflheim",238,134,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",238,128,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",235,131,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",241,131,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",235,128,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",235,134,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",241,128,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",241,134,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + break; + case 6: + monster "niflheim",86,219,"Lord Of Death",1373,1,strnpcinfo(3)+"::OnLoDDead"; + monster "niflheim",86,222,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",86,216,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",89,219,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",83,219,"Bloody Murderer",1507,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",89,222,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",89,216,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",83,222,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",83,216,"Loli Ruri",1505,1,strnpcinfo(3)+"::OnInvasionMonsters"; + break; + } + + monster "niflheim",154,95,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",115,65,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",330,195,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",151,83,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",285,245,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",235,135,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",265,48,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",186,139,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",166,267,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",82,202,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",219,44,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",287,44,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",275,165,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",138,204,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",299,39,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",31,154,"Disguise",1506,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",154,96,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",116,65,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",151,84,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",286,245,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",330,196,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",236,135,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",165,49,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",167,267,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",82,203,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",220,44,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",287,45,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",287,44,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",276,166,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",139,205,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",300,39,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + monster "niflheim",31,155,"Dullahan",1504,1,strnpcinfo(3)+"::OnInvasionMonsters"; + end; + +OnLoDDead: + killmonster "niflheim",strnpcinfo(3)+"::OnInvasionMonsters"; + initnpctimer; +OnInvasionMonsters: + end; +} diff --git a/npc/re/mobs/fields/payon.txt b/npc/re/mobs/fields/payon.txt new file mode 100644 index 000000000..0f97f0265 --- /dev/null +++ b/npc/re/mobs/fields/payon.txt @@ -0,0 +1,130 @@ +//===== rAthena Script ======================================= +//= Payon Fields Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.5 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 Official kRO 10.1 spawns [Playtester] +//= 1.2 Some 11.1 spawn changes [Playtester] +//= 1.3 More accurate spawns [Playtester] +//= 1.4 Corrected MVP spawn variance. [L0ne_W0lf] +//= 1.5 Updated to renewal spawns. [L0ne_W0lf] +//============================================================ + +//================================================== +// pay_fild01 - Payon Forest +//================================================== +pay_fild01,0,0,0,0 monster Willow 1010,140,5000,0,0 +pay_fild01,0,0,0,0 monster Poring 1002,30,5000,0,0 +pay_fild01,0,0,0,0 monster Fabre 1007,30,5000,0,0 +pay_fild01,340,89,0,0 monster Black Mushroom 1084,1,180000,90000,1 +pay_fild01,336,116,0,0 monster Black Mushroom 1084,1,180000,90000,1 +pay_fild01,231,258,0,0 monster Black Mushroom 1084,1,180000,90000,1 +pay_fild01,215,323,0,0 monster Black Mushroom 1084,1,180000,90000,1 +pay_fild01,340,89,0,0 monster Black Mushroom 1084,1,180000,90000,1 +pay_fild01,225,310,0,0 monster Black Mushroom 1084,1,180000,90000,1 +pay_fild01,129,288,0,0 monster Black Mushroom 1084,1,180000,90000,1 +pay_fild01,75,269,0,0 monster Black Mushroom 1084,1,180000,90000,1 +pay_fild01,80,226,0,0 monster Black Mushroom 1084,1,180000,90000,1 +pay_fild01,89,177,0,0 monster Black Mushroom 1084,1,180000,90000,1 +pay_fild01,95,85,0,0 monster Black Mushroom 1084,1,180000,90000,1 +pay_fild01,57,85,0,0 monster Black Mushroom 1084,1,180000,90000,1 +pay_fild01,64,113,0,0 monster Black Mushroom 1084,1,180000,90000,1 +pay_fild01,64,190,0,0 monster Black Mushroom 1084,1,180000,90000,1 +pay_fild01,70,246,0,0 monster Black Mushroom 1084,1,180000,90000,1 +pay_fild01,0,0,0,0 monster Green Plant 1080,5,180000,90000,1 + +//================================================== +// pay_fild02 - Payon Forest +//================================================== +pay_fild02,0,0,0,0 monster Boa 1025,140,5000,0,0 +pay_fild02,0,0,0,0 monster Wormtail 1024,30,5000,0,0 +pay_fild02,0,0,0,0 monster Spore 1014,30,5000,0,0 +pay_fild02,105,256,10,10 monster Green Plant 1080,4,360000,180000,1 +pay_fild02,105,256,10,10 monster Red Mushroom 1085,4,360000,180000,1 + +//================================================== +// pay_fild03 - Payon Forest +//================================================== +pay_fild03,0,0,0,0 monster Fabre 1007,130,5000,0,0 +pay_fild03,0,0,0,0 monster Poring 1002,25,5000,0,0 +pay_fild03,0,0,0,0 monster Willow 1010,25,5000,0,0 +pay_fild03,0,0,0,0 monster Pupa 1008,20,5000,0,0 +pay_fild03,153,216,10,10 monster Red Mushroom 1085,6,900000,450000,1 +pay_fild03,372,64,15,15 monster Green Plant 1080,4,180000,90000,1 + +//================================================== +// pay_fild04 - Sograt Desert +//================================================== +pay_fild04,0,0,0,0 monster Poporing 1031,130,5000,0,0 +pay_fild04,0,0,0,0 monster Marin 1242,30,5000,0,0 +pay_fild04,0,0,0,0 monster Drops 1113,20,5000,0,0 +pay_fild04,0,0,0,0 monster Poring 1002,15,5000,0,0 +pay_fild04,0,0,0,0 monster Angeling 1096,1,3600000,1800000,1 +pay_fild04,0,0,0,0 monster Ghostring 1120,1,3600000,1800000,1 +pay_fild04,0,0,0,0 monster Mastering 1090,1,3600000,1800000,1 +pay_fild04,0,0,0,0 monster Deviling 1582,1,7200000,3600000,1 +pay_fild04,346,335,5,5 monster Shining Plant 1083,1,1800000,900000,1 +pay_fild04,254,193,10,10 monster Green Plant 1080,5,360000,180000,1 + +//================================================== +// pay_fild05 - Disabled on Renewal +//================================================== + +//================================================== +// pay_fild06 - Payon Forest +//================================================== +pay_fild06,0,0,0,0 monster Wormtail 1024,140,5000,0,0 +pay_fild06,0,0,0,0 monster Boa 1025,30,5000,0,0 +pay_fild06,0,0,0,0 monster Spore 1014,30,5000,0,0 +pay_fild06,211,191,2,10 monster Red Mushroom 1085,8,180000,90000,1 +pay_fild06,268,155,20,20 monster Green Plant 1080,10,360000,180000,1 +pay_fild06,268,155,20,20 monster Shining Plant 1083,1,1800000,900000,1 + +//================================================== +// pay_fild07 - Payon Forest +//================================================== +pay_fild07,0,0,0,0 monster Bigfoot 1060,130,5000,0,0 +pay_fild07,0,0,0,0 monster Caramel 1103,30,5000,0,0 +pay_fild07,0,0,0,0 monster Stainer 1174,20,5000,0,0 +pay_fild07,0,0,0,0 monster Creamy 1018,20,5000,0,0 +pay_fild07,171,331,20,20 monster Green Plant 1080,8,900000,450000,1 + +//================================================== +// pay_fild08 - Payon Forest +//================================================== +pay_fild08,0,0,0,0 monster Spore 1014,140,5000,0,0 +pay_fild08,0,0,0,0 monster Wormtail 1024,30,5000,0,0 +pay_fild08,0,0,0,0 monster Boa 1025,30,5000,0,0 +pay_fild08,0,0,0,0 monster Green Plant 1080,10,60000,30000,1 +pay_fild08,143,156,40,40 monster Shining Plant 1083,1,3600000,1800000,1 + +//================================================== +// pay_fild09 - Payon Forest +//================================================== +pay_fild09,0,0,0,0 monster Elder Willow 1033,140,5000,0,0 +pay_fild09,0,0,0,0 monster Horn 1128,30,5000,0,0 +pay_fild09,0,0,0,0 monster Coco 1104,30,5000,0,0 +pay_fild09,198,217,30,30 monster Green Plant 1080,10,360000,180000,0 +pay_fild09,198,217,30,30 monster Shining Plant 1083,1,1800000,900000,1 + +//================================================== +// pay_fild10 - Payon Forest +//================================================== +pay_fild10,0,0,0,0 monster Greatest General 1277,100,5000,0,0 +pay_fild10,0,0,0,0 monster Beetle King 1494,50,5000,0,0 +pay_fild10,0,0,0,0 monster Savage 1166,50,5000,0,0 +pay_fild10,0,0,0,0 boss_monster Eddga 1115,1,7200000,600000,1 +pay_fild10,213,157,10,10 monster Green Plant 1080,5,360000,180000,1 +pay_fild10,281,307,10,10 monster Green Plant 1080,5,360000,180000,1 +pay_fild10,66,332,10,10 monster Green Plant 1080,5,360000,180000,1 +pay_fild10,213,157,10,10 monster Blue Plant 1079,1,360000,180000,1 +pay_fild10,281,307,10,10 monster Blue Plant 1079,1,360000,180000,1 +pay_fild10,66,332,10,10 monster Blue Plant 1079,1,360000,180000,1 + +//================================================== +// pay_fild11 - Disabled on Renewal +//================================================== diff --git a/npc/re/mobs/fields/prontera.txt b/npc/re/mobs/fields/prontera.txt new file mode 100644 index 000000000..c2c2d7852 --- /dev/null +++ b/npc/re/mobs/fields/prontera.txt @@ -0,0 +1,126 @@ +//===== rAthena Script ======================================= +//= Prontera Fields Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.5 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.2 fixed some map name typos [Lupus] +//= 1.3 Official kRO 10.1 spawns [Playtester] +//= 1.4 More accurate spawns [Playtester] +//= 1.5 Updated to Renewal spawns. +//============================================================ + +//================================================== +// prt_fild00 - Prontera Field +//================================================== +prt_fild00,0,0,0,0 monster Roda Frog 1012,130,5000,0,0 +prt_fild00,0,0,0,0 monster Ambernite 1094,50,5000,0,0 +prt_fild00,0,0,0,0 monster Savage Babe 1167,20,5000,0,0 +prt_fild00,227,212,0,0 monster Shining Plant 1083,1,1800000,900000,1 +prt_fild00,285,138,10,10 monster Green Plant 1080,5,360000,180000,1 + +//================================================== +// prt_fild01 - Prontera Field +//================================================== +prt_fild01,0,0,0,0 monster Lunatic 1063,140,5000,0,0 +prt_fild01,0,0,0,0 monster Poring 1002,30,5000,0,0 +prt_fild01,0,0,0,0 monster Fabre 1007,30,5000,0,0 +prt_fild01,199,266,3,3 monster Green Plant 1080,3,360000,180000,1 +prt_fild01,199,266,3,3 monster Blue Plant 1079,1,900000,450000,1 + +//================================================== +// prt_fild02 - Prontera Field +//================================================== +prt_fild02,0,0,0,0 monster Stainer 1174,140,5000,0,0 +prt_fild02,0,0,0,0 monster Creamy 1018,30,5000,0,0 +prt_fild02,0,0,0,0 monster Poporing 1031,30,5000,0,0 +prt_fild02,0,0,0,0 monster Eclipse 1093,1,1800000,1200000,0 +prt_fild02,339,309,3,3 monster Shining Plant 1083,1,1800000,900000,1 +prt_fild02,0,0,0,0 monster Shining Plant 1083,2,1800000,900000,1 + +//================================================== +// prt_fild03 - Prontera Field +//================================================== +prt_fild03,0,0,0,0 monster Yoyo 1057,100,5000,0,0 +prt_fild03,0,0,0,0 monster Poporing 1031,30,5000,0,0 +prt_fild03,0,0,0,0 monster Horn 1128,30,5000,0,0 +prt_fild03,0,0,0,0 monster Choco 1214,1,5000,0,0 +prt_fild03,296,58,15,15 monster Green Plant 1080,5,180000,90000,1 +prt_fild03,296,58,15,15 monster Blue Plant 1079,2,900000,450000,1 +prt_fild03,307,75,5,5 monster Green Plant 1080,5,360000,180000,1 +prt_fild03,0,0,0,0 monster Green Plant 1080,5,360000,180000,1 +prt_fild03,148,107,5,5 monster Green Plant 1080,5,360000,180000,1 + +//================================================== +// prt_fild04 - Prontera Field +//================================================== +prt_fild04,0,0,0,0 monster Ambernite 1094,80,5000,0,0 +prt_fild04,0,0,0,0 monster Roda Frog 1012,20,5000,0,0 +prt_fild04,0,0,0,0 monster Vocal 1088,1,1800000,1200000,0 +prt_fild04,350,114,10,10 monster Green Plant 1080,5,900000,450000,1 + +//================================================== +// prt_fild05 - Prontera Field +//================================================== +prt_fild05,0,0,0,0 monster Hornet 1004,140,5000,0,0 +prt_fild05,0,0,0,0 monster Thief Bug Egg 1048,30,5000,0,0 +prt_fild05,0,0,0,0 monster Thief Bug 1051,30,5000,0,0 +prt_fild05,208,37,10,10 monster Green Plant 1080,6,900000,450000,1 +prt_fild05,208,37,10,10 monster Blue Plant 1079,1,900000,450000,1 + +//================================================== +// prt_fild06 - Prontera Field +//================================================== +prt_fild06,0,0,0,0 monster Fabre 1007,140,5000,0,0 +prt_fild06,0,0,0,0 monster Poring 1002,30,5000,0,0 +prt_fild06,0,0,0,0 monster Lunatic 1063,30,5000,0,0 +//prt_fild06,222,30,40,10 monster Green Plant 1080,15,900000,450000,1 // Commented the Line since those Plants can't spawn anyway. Maybe Gravity will fix it someday... [Masao] + +//================================================== +// prt_fild07 - Prontera Field +//================================================== +prt_fild07,0,0,0,0 monster Rocker 1052,150,5000,0,0 +prt_fild07,0,0,0,0 monster Savage Babe 1167,50,5000,0,0 +prt_fild07,0,0,0,0 monster Vocal 1088,1,1800000,1200000,0 +prt_fild07,225,110,5,5 monster Black Mushroom 1084,3,360000,180000,1 + +//================================================== +// prt_fild08 - Prontera Field +//================================================== +prt_fild08,0,0,0,0 monster Poring 1002,140,5000,0,0 +prt_fild08,0,0,0,0 monster Lunatic 1063,40,5000,0,0 +prt_fild08,0,0,0,0 monster Fabre 1007,40,5000,0,0 + +//================================================== +// prt_fild09 - Prontera Field +//================================================== +prt_fild09,0,0,0,0 monster Magnolia 1138,140,5000,0,0 +prt_fild09,0,0,0,0 monster Metaller 1058,60,5000,0,0 +prt_fild09,237,115,5,5 monster Yellow Plant 1081,3,360000,180000,1 + +//================================================== +// prt_fild10 - Prontera Field +//================================================== +prt_fild10,0,0,0,0 monster Elder Willow 1033,140,5000,0,0 +prt_fild10,0,0,0,0 monster Poporing 1031,20,5000,0,0 +prt_fild10,0,0,0,0 monster Horn 1128,20,5000,0,0 +prt_fild10,0,0,0,0 monster Coco 1104,20,5000,0,0 +prt_fild10,99,114,20,5 monster Red Mushroom 1085,15,360000,180000,1 +prt_fild10,155,179,10,10 monster Shining Plant 1083,1,1800000,900000,1 + +//================================================== +// prt_fild11 - Prontera Field +//================================================== +prt_fild11,0,0,0,0 monster Goblin 1126,60,5000,0,0 +prt_fild11,0,0,0,0 monster Rotar Zairo 1392,50,5000,0,0 +prt_fild11,0,0,0,0 monster Goblin Archer 1258,50,5000,0,0 +prt_fild11,0,0,0,0 monster Goblin Steamrider 1280,30,5000,0,0 +prt_fild11,0,0,0,0 monster Goblin 1124,10,5000,0,0 +prt_fild11,0,0,0,0 monster Goblin 1125,10,5000,0,0 +prt_fild11,0,0,0,0 monster Goblin 1123,10,5000,0,0 +prt_fild11,0,0,0,0 monster Goblin 1122,10,5000,0,0 +prt_fild11,0,0,0,0 monster Panzer Goblin 1308,1,1800000,1200000,0 +prt_fild11,0,0,0,0 monster Red Mushroom 1085,10,180000,90000,1 diff --git a/npc/re/mobs/fields/rachel.txt b/npc/re/mobs/fields/rachel.txt new file mode 100644 index 000000000..92708aa5e --- /dev/null +++ b/npc/re/mobs/fields/rachel.txt @@ -0,0 +1,101 @@ +//===== rAthena Script ======================================= +//= Rachel Fields Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 Created this [Sepheus] +//= 1.1 Updated [Playtester] +//= 1.2 More accurate spawns [Playtester] +//= 1.3 Corrected MVP spawn variance. [L0ne_W0lf] +//= 1.4 Updated to Renewal Spawns [Kisuka] +//============================================================ + +//================================================== +// ra_fild01 - Audhumbla Grassland +//================================================== +ra_fild01,0,0,0,0 monster Desert Wolf 1106,130,5000,0,0 +ra_fild01,0,0,0,0 monster Roween 1782,30,5000,0,0 +ra_fild01,0,0,0,0 monster Baby Desert Wolf 1107,20,5000,0,0 +ra_fild01,0,0,0,0 monster Anopheles 1627,10,5000,0,0 + +//================================================== +// ra_fild02 - Disabled on Renewal +//================================================== + +//================================================== +// ra_fild03 - The Plain of Ida +//================================================== +ra_fild03,0,0,0,0 monster Hill Wind 1680,130,5000,0,0 +ra_fild03,0,0,0,0 monster Roween 1782,30,5000,0,0 +ra_fild03,0,0,0,0 monster Anacondaq 1030,20,5000,0,0 +ra_fild03,0,0,0,0 monster Anopheles 1627,20,5000,0,0 +ra_fild03,0,0,0,0 boss_monster Atroce 1785,1,10800000,600000,1 + +//================================================== +// ra_fild04 - Audhumbla Grassland +//================================================== +ra_fild04,0,0,0,0 monster Hill Wind 1680,130,5000,0,0 +ra_fild04,0,0,0,0 monster Roween 1782,30,5000,0,0 +ra_fild04,0,0,0,0 monster Desert Wolf 1106,20,5000,0,0 +ra_fild04,0,0,0,0 monster Anopheles 1627,20,5000,0,0 +ra_fild04,0,0,0,0 boss_monster Atroce 1785,1,18000000,600000,1 + +//================================================== +// ra_fild05 - Audhumbla Grassland +//================================================== +ra_fild05,0,0,0,0 monster Kobold 1133,70,5000,0,0 +ra_fild05,0,0,0,0 monster Kobold 1134,70,5000,0,0 +ra_fild05,0,0,0,0 monster Kobold 1135,70,5000,0,0 +ra_fild05,0,0,0,0 monster Anopheles 1627,10,5000,0,0 + +//================================================== +// ra_fild06 - Portus Luna +//================================================== +ra_fild06,0,0,0,0 monster Kobold Archer 1282,70,5000,0,0 +ra_fild06,0,0,0,0 monster Kobold 1133,40,5000,0,0 +ra_fild06,0,0,0,0 monster Kobold 1134,40,5000,0,0 +ra_fild06,0,0,0,0 monster Kobold 1135,40,5000,0,0 +ra_fild06,0,0,0,0 monster Anopheles 1627,10,5000,0,0 +ra_fild06,0,0,0,0 monster Kobold Leader 1296,1,1800000,1200000,0 + +//================================================== +// ra_fild07 - Disabled on Renewal +//================================================== + +//================================================== +// ra_fild08 - The Plain of Ida +//================================================== +ra_fild08,0,0,0,0 monster Anacondaq 1030,100,5000,0,0 +ra_fild08,0,0,0,0 monster Roween 1782,50,5000,0,0 +ra_fild08,0,0,0,0 monster Hill Wind 1680,20,5000,0,0 +ra_fild08,0,0,0,0 monster Baby Desert Wolf 1107,10,5000,0,0 +ra_fild08,0,0,0,0 monster Anopheles 1627,10,5000,0,0 + +//================================================== +// ra_fild09 - Disabled on Renewal +//================================================== + +//================================================== +// ra_fild10 - Disabled on Renewal +//================================================== + +//================================================== +// ra_fild11 - Disabled on Renewal +//================================================== + +//================================================== +// ra_fild12 - The Plain of Ida +//================================================== +ra_fild12,0,0,0,0 monster Roween 1782,130,5000,0,0 +ra_fild12,0,0,0,0 monster Anopheles 1627,30,5000,0,0 +ra_fild12,0,0,0,0 monster Baby Desert Wolf 1107,15,5000,0,0 +ra_fild12,0,0,0,0 monster Yellow Plant 1081,15,5000,0,1 +ra_fild12,0,0,0,0 monster Red Plant 1078,5,5000,0,1 + +//================================================== +// ra_fild13 - Disabled on Renewal +//================================================== diff --git a/npc/re/mobs/fields/splendide.txt b/npc/re/mobs/fields/splendide.txt new file mode 100644 index 000000000..c9f41b1e7 --- /dev/null +++ b/npc/re/mobs/fields/splendide.txt @@ -0,0 +1,33 @@ +//===== rAthena Script ======================================= +//= Splendide Fields Monster Spawn Script +//===== By: ================================================== +//= alexx, MaC +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 Official spawn ammounts from Aegis script [alexx] +//= 1.1 Added 13.2 mob spawn update [scriptor] +//============================================================ + +//================================================== +// spl_fild01 - Splendide Field +//================================================== +spl_fild01,0,0,0,0 monster Dark Pinguicula 2015,50,5000,0,0 +spl_fild01,0,0,0,0 monster Naga 1993,35,5000,0,0 +spl_fild01,0,0,0,0 monster Cornus 1992,25,5000,0,0 + +//================================================== +// spl_fild02 - Splendide Field +//================================================== +spl_fild02,0,0,0,0 monster Pinguicula 1995,75,5000,0,0 +spl_fild02,0,0,0,0 monster Luciola Vespa 1994,15,5000,0,0 + +//================================================== +// spl_fild03 - Splendide Field +//================================================== +spl_fild03,0,0,0,0 monster Luciola Vespa 1994,35,5000,0,0 +spl_fild03,0,0,0,0 monster Cornus 1992,25,5000,0,0 +spl_fild03,0,0,0,0 monster Naga 1993,20,5000,0,0 +spl_fild03,0,0,0,0 monster Tendrilion 1991,1,3600000,0,0 diff --git a/npc/re/mobs/fields/umbala.txt b/npc/re/mobs/fields/umbala.txt new file mode 100644 index 000000000..85c4dafb8 --- /dev/null +++ b/npc/re/mobs/fields/umbala.txt @@ -0,0 +1,59 @@ +//===== rAthena Script ======================================= +//= Umbala Fields Monster Spawn Script +//===== By: ================================================== +//= Darkchild (1.0) +//===== Current Version: ===================================== +//= 1.5 +//===== Compatible With: ===================================== +//= Any rAthena Version; RO Ep6+ +//===== Additional Comments: ================================= +//= 1.3 Official kRO 10.1 spawns [Playtester] +//= 1.4 More accurate spawns [Playtester] +//= 1.5 Updated spawns to renewal. [L0ne_W0lf] +//============================================================ + +//================================================== +// um_fild01 - Luluka Forest +//================================================== +um_fild01,0,0,0,0 monster Dryad 1493,70,5000,0,0 +um_fild01,0,0,0,0 monster Stone Shooter 1495,15,5000,0,0 +um_fild01,0,0,0,0 monster Wootan Shooter 1498,10,5000,0,0 +um_fild01,0,0,0,0 monster Wootan Fighter 1499,10,5000,0,0 +um_fild01,0,0,0,0 monster Wooden Golem 1497,10,5000,0,0 +um_fild01,0,0,0,0 monster Green Plant 1080,10,180000,90000,1 +um_fild01,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1 +um_fild01,0,0,0,0 monster Shining Plant 1083,5,180000,90000,1 + +//================================================== +// um_fild02 - Hoomga Forest +//================================================== +um_fild02,0,0,0,0 monster Wootan Fighter 1499,40,5000,0,0 +um_fild02,0,0,0,0 monster Stone Shooter 1495,15,5000,0,0 +um_fild02,0,0,0,0 monster Wootan Shooter 1498,10,5000,0,0 +um_fild02,0,0,0,0 monster Choco 1214,5,5000,0,0 +um_fild02,0,0,0,0 monster Red Plant 1078,5,180000,90000,1 +um_fild02,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1 + +//================================================== +// um_fild03 - Kalala Swamp +//================================================== +um_fild03,0,0,0,0 monster Parasite 1500,60,5000,0,0 +um_fild03,0,0,0,0 monster Stone Shooter 1495,15,5000,0,0 +um_fild03,0,0,0,0 monster Wootan Shooter 1498,10,5000,0,0 +um_fild03,0,0,0,0 monster Wootan Fighter 1499,10,5000,0,0 +um_fild03,0,0,0,0 monster Blue Plant 1079,5,180000,90000,1 +um_fild03,0,0,0,0 monster Green Plant 1080,10,180000,90000,1 +um_fild03,0,0,0,0 monster Shining Plant 1083,2,180000,90000,1 + +//================================================== +// um_fild04 - Hoomga Jungle +//================================================== +um_fild04,0,0,0,0 monster Wild Rose 1261,30,5000,0,0 +um_fild04,0,0,0,0 monster Stone Shooter 1495,10,5000,0,0 +um_fild04,0,0,0,0 monster Wootan Shooter 1498,5,5000,0,0 +um_fild04,0,0,0,0 monster Wootan Fighter 1499,5,5000,0,0 +um_fild04,0,0,0,0 monster Wooden Golem 1497,10,5000,0,0 +um_fild04,0,0,0,0 monster Choco 1214,2,5000,0,0 +um_fild04,0,0,0,0 monster Red Plant 1078,5,180000,90000,1 +um_fild04,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1 +um_fild01,0,0,0,0 monster Shining Plant 1083,1,180000,90000,1 diff --git a/npc/re/mobs/fields/veins.txt b/npc/re/mobs/fields/veins.txt new file mode 100644 index 000000000..0ab4ecf58 --- /dev/null +++ b/npc/re/mobs/fields/veins.txt @@ -0,0 +1,76 @@ +//===== rAthena Script ======================================= +//= Veins Fields Monster Spawn Script +//===== By: ================================================== +//= $ephiroth +//===== Current Version: ===================================== +//= 1.8 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.0 Temp. monster spawn in Veins Field. [$ephiroth] +//= 1.1 Updated monster spawn based on kRO website. [$ephiroth] +//= 1.2 Updated mobs based on info jAthena. [$ephiroth] +//= 1.3 Fixed some typos and Atros spawn [Playtester] +//= 1.4 Updated spawns with info from RO Monthly [Playtester] +//= 1.5 Updated spawn amounts to official [Playtester] +//= 1.6 Even more accurate spawns [Playtester] +//= 1.7 Corrected MVP spawn variance. [Gepard] +//= 1.8 Updated to Renewal Spawns. [Kisuka] +//============================================================ + +//================================================== +// ve_fild01 - Veins Field +//================================================== +ve_fild01,0,0,0,0 monster Galion 1783,35,5000,0,0 +ve_fild01,0,0,0,0 monster Stapo 1784,20,5000,0,0 +ve_fild01,0,0,0,0 monster Drosera 1781,20,5000,0,0 +ve_fild01,0,0,0,0 monster Muscipular 1780,20,5000,0,0 +ve_fild01,0,0,0,0 boss_monster Atroce 1785,1,10800000,600000,0 +ve_fild01,0,0,0,0 monster Red Plant 1078,10,5000,0,0 +ve_fild01,0,0,0,0 monster Yellow Plant 1081,10,5000,0,0 +ve_fild01,270,80,20,7 monster Blue Plant 1079,4,840000,0,0 +ve_fild01,270,80,20,7 monster Shining Plant 1083,1,960000,0,0 + +//================================================== +// ve_fild02 - Veins Field +//================================================== +ve_fild02,0,0,0,0 monster Drosera 1781,130,5000,0,0 +ve_fild02,0,0,0,0 monster Muscipular 1780,20,5000,0,0 +ve_fild02,0,0,0,0 monster Galion 1783,10,5000,0,0 +ve_fild02,120,55,50,50 boss_monster Atroce 1785,1,21600000,600000,0 +ve_fild02,0,0,0,0 monster Red Plant 1078,10,5000,0,0 +ve_fild02,0,0,0,0 monster Yellow Plant 1081,10,5000,0,0 + +//================================================== +// ve_fild03 - Veins Field +//================================================== +ve_fild03,0,0,0,0 monster Magmaring 1836,130,5000,0,0 +ve_fild03,0,0,0,0 monster Muscipular 1780,35,5000,0,0 +ve_fild03,0,0,0,0 monster Drosera 1781,35,5000,0,0 +ve_fild03,200,212,114,60 monster Red Plant 1078,10,0,0,0 +ve_fild03,0,0,0,0 monster Yellow Plant 1081,10,0,0,0 + +//================================================== +// ve_fild04 - Veins Field +//================================================== +ve_fild04,0,0,0,0 monster Muscipular 1780,100,5000,0,0 +ve_fild04,0,0,0,0 monster Drosera 1781,50,5000,0,0 +ve_fild04,0,0,0,0 monster Galion 1783,20,5000,0,0 +ve_fild04,288,273,4,4 monster Blue Plant 1079,3,660000,0,0 + +//================================================== +// ve_fild05 - Disabled on Renewal +//================================================== + +//================================================== +// ve_fild06 - Veins Field - No spawns on Renewal +//================================================== +ve_fild06,0,0,0,0 monster Shining Plant 1083,1,5000,0,0 + +//================================================== +// ve_fild07 - Veins Field +//================================================== +ve_fild07,0,0,0,0 monster Stapo 1784,100,5000,0,0 +ve_fild07,0,0,0,0 monster Drosera 1781,50,5000,0,0 +ve_fild07,0,0,0,0 monster Muscipular 1780,30,5000,0,0 +ve_fild07,0,0,0,0 monster White Plant 1082,10,600000,0,0 diff --git a/npc/re/mobs/fields/yuno.txt b/npc/re/mobs/fields/yuno.txt new file mode 100644 index 000000000..b5ea8aea2 --- /dev/null +++ b/npc/re/mobs/fields/yuno.txt @@ -0,0 +1,137 @@ +//===== rAthena Script ======================================= +//= Yuno Fields Monster Spawn Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 2.0 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Additional Comments: ================================= +//= 1.1 fixed tabs, names [Lupus] +//= 1.2 New/Better Spawn [Muad_Dib] +//= 1.3 Fix Up [Darkchild] +//= 1.4 Updated monster spawns. Many thanks to vicious_pucca for +//= providing the information [MasterOfMuppets] +//= 1.5 Updated after Episode 10.4 - Hugel [Poki#3] +//= Mob quantity is custom. +//= 1.5b Changed the spawn numbers a bit. [Poki#3] +//= Thanks to Playtester and Emperium.org +//= 1.6 Fixed Yuno Field 10. Mob amount sugested by Playtester [Poki#3] +//= 1.7 Updated by using Tharis' Homun AI, by Tharis [Vicious] +//= 1.8 Added kRO 10.1 spawns where they fit [Playtester] +//= 1.9 More accurate spawns [Playtester] +//= 2.0 Updated spawns to renewal. [L0ne_W0lf] +//============================================================ + +//================================================== +// yuno_fild01 - Border Posts +//================================================== +yuno_fild01,0,0,0,0 monster Geographer 1368,50,5000,0,0 +yuno_fild01,0,0,0,0 monster Dustiness 1114,35,5000,0,0 +yuno_fild01,0,0,0,0 monster Mantis 1139,35,5000,0,0 +yuno_fild01,0,0,0,0 monster Red Plant 1078,15,1800000,900000,1 +yuno_fild01,70,370,10,10 monster Blue Plant 1079,2,1800000,900000,1 +yuno_fild01,70,370,10,10 monster Shining Plant 1083,1,1800000,900000,1 +yuno_fild01,66,267,10,10 monster Yellow Plant 1081,2,1800000,900000,1 +yuno_fild01,238,326,40,40 monster Yellow Plant 1081,6,1800000,900000,1 +yuno_fild01,238,326,40,40 monster Shining Plant 1083,2,1800000,900000,1 +yuno_fild01,0,0,0,0 monster Yellow Plant 1081,15,1800000,900000,1 +yuno_fild01,0,0,0,0 monster Green Plant 1080,20,1800000,900000,1 + +//================================================== +// yuno_fild02 - Kiel Hyre's Cottage +//================================================== +yuno_fild02,0,0,0,0 monster Sleeper 1386,130,5000,0,0 +yuno_fild02,0,0,0,0 monster Grand Peco 1369,35,5000,0,0 +yuno_fild02,0,0,0,0 monster Harpy 1376,35,5000,0,0 +yuno_fild02,0,0,0,0 monster Red Plant 1078,10,1800000,900000,1 +yuno_fild02,0,0,0,0 monster Yellow Plant 1081,10,1800000,900000,1 +yuno_fild02,0,0,0,0 monster Green Plant 1080,10,1800000,900000,1 + +//================================================== +// yuno_fild03 - El Mes Plateau +//================================================== +yuno_fild03,0,0,0,0 monster Harpy 1376,130,5000,0,0 +yuno_fild03,0,0,0,0 monster Goat 1372,35,5000,0,0 +yuno_fild03,0,0,0,0 monster Sleeper 1386,35,5000,0,0 +yuno_fild03,0,0,0,0 monster Deviling 1582,1,3600000,1800000,1 +yuno_fild03,0,0,0,0 monster Angeling 1096,1,3600000,1800000,1 +yuno_fild03,0,0,0,0 monster Red Plant 1078,15,1800000,900000,1 +yuno_fild03,0,0,0,0 monster Yellow Plant 1081,15,1800000,900000,1 +yuno_fild03,0,0,0,0 monster Green Plant 1080,15,1800000,900000,1 +yuno_fild03,358,215,10,10 monster Shining Plant 1083,1,1800000,900000,1 +yuno_fild03,358,215,10,10 monster Blue Plant 1079,4,1800000,900000,1 + +//================================================== +// yuno_fild04 - El Mes Plateau +//================================================== +yuno_fild04,0,0,0,0 monster Harpy 1376,130,5000,0,0 +yuno_fild04,0,0,0,0 monster Goat 1372,35,5000,0,0 +yuno_fild04,0,0,0,0 monster Geographer 1368,35,5000,0,0 +yuno_fild04,0,0,0,0 monster Arc Angeling 1388,1,3600000,180000,0 +yuno_fild04,0,0,0,0 monster Mastering 1090,1,3600000,1800000,1 +yuno_fild04,0,0,0,0 monster Red Plant 1078,10,1800000,900000,1 +yuno_fild04,0,0,0,0 monster Yellow Plant 1081,10,1800000,900000,1 +yuno_fild04,0,0,0,0 monster Green Plant 1080,10,1800000,900000,1 + +//================================================== +// yuno_fild05 - Disabled on Renewal +//================================================== + +//================================================== +// yuno_fild06 - El Mes Plateau +//================================================== +yuno_fild06,0,0,0,0 monster Sleeper 1386,80,5000,0,0 +yuno_fild06,0,0,0,0 monster Geographer 1368,20,5000,0,0 +yuno_fild06,0,0,0,0 monster Red Plant 1078,10,5000,0,0 +yuno_fild06,0,0,0,0 monster Yellow Plant 1081,10,5000,0,0 +yuno_fild06,0,0,0,0 monster Green Plant 1080,10,5000,0,0 + +//================================================== +// yuno_fild07 - El Mes Gorge (Valley of Abyss) +//================================================== +yuno_fild07,0,0,0,0 monster Goat 1372,90,5000,0,0 +yuno_fild07,0,0,0,0 monster Harpy 1376,50,5000,0,0 +yuno_fild07,0,0,0,0 monster Grand Peco 1369,30,5000,0,0 +yuno_fild07,0,0,0,0 monster Red Plant 1078,10,180000,90000,1 +yuno_fild07,0,0,0,0 monster Green Plant 1080,10,180000,90000,1 +yuno_fild07,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1 + +//================================================== +// yuno_fild08 - Kiel Hyre's Academy +//================================================== +yuno_fild08,0,0,0,0 monster Grand Peco 1369,130,5000,0,0 +yuno_fild08,0,0,0,0 monster Goat 1372,30,5000,0,0 +yuno_fild08,0,0,0,0 monster Geographer 1368,30,5000,0,0 +yuno_fild08,0,0,0,0 monster Red Plant 1078,10,180000,90000,1 +yuno_fild08,0,0,0,0 monster Green Plant 1080,10,180000,90000,1 +yuno_fild08,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1 + +//================================================== +// yuno_fild09 - Schwaltzvalt Guards Camp +//================================================== +yuno_fild09,0,0,0,0 monster Grand Peco 1369,130,5000,0,0 +yuno_fild09,0,0,0,0 monster Sleeper 1386,30,5000,0,0 +yuno_fild09,0,0,0,0 monster Geographer 1368,30,5000,0,0 +yuno_fild09,0,0,0,0 monster Red Plant 1078,10,180000,90000,1 +yuno_fild09,0,0,0,0 monster Green Plant 1080,10,180000,90000,1 +yuno_fild09,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1 + +//================================================== +// yuno_fild10 - Disabled on Renewal +//================================================== + +//================================================== +// yuno_fild11 - Juno Field +//================================================== +yuno_fild11,0,0,0,0 monster Goat 1372,100,5000,0,0 +yuno_fild11,0,0,0,0 monster Geographer 1368,40,5000,0,0 +yuno_fild11,0,0,0,0 monster Red Plant 1078,10,180000,90000,1 +yuno_fild11,0,0,0,0 monster Green Plant 1080,10,180000,90000,1 +yuno_fild11,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1 + +//================================================== +// yuno_fild12 - Border Checkpoint +//================================================== +yuno_fild12,0,0,0,0 monster Geographer 1368,60,5000,0,0 +yuno_fild12,0,0,0,0 monster Mantis 1139,30,5000,0,0 diff --git a/npc/re/mobs/towns/brasilis.txt b/npc/re/mobs/towns/brasilis.txt new file mode 100644 index 000000000..a8598a4b4 --- /dev/null +++ b/npc/re/mobs/towns/brasilis.txt @@ -0,0 +1,16 @@ +//===== rAthena Script ======================================= +//= Brasilis Quest Monsters +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Description: ========================================= +//= 1.0 First version +//============================================================ + +brasilis,283,88,6,6 monster Strange Hydra 2081,5,5000,0,0 +brasilis,284,104,6,6 monster Strange Hydra 2081,4,5000,0,0 +brasilis,215,80,6,6 monster Strange Hydra 2081,4,5000,0,0 +brasilis,96,50,8,8 monster Strange Hydra 2081,5,5000,0,0 diff --git a/npc/re/other/mercenary_rent.txt b/npc/re/other/mercenary_rent.txt new file mode 100644 index 000000000..0b065208d --- /dev/null +++ b/npc/re/other/mercenary_rent.txt @@ -0,0 +1,17 @@ +//===== rAthena Script ======================================= +//= Mercenary related NPCs +//===== By: ================================================== +//= Daegaladh +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Sells Lancer, Sword, and Archer mercenaries, +//= along with related mercenary items. +//===== Additional Comments: ================================= +//= 1.0 First version. [L0ne_W0lf] +//============================================================ + +izlude,47,169,5 duplicate(Mercenary Manager#main) Mercenary Manager#Sword 734 +izlude,56,169,4 duplicate(MercMerchant) Mercenary Merchant#Sword 892 diff --git a/npc/re/quests/cupet.txt b/npc/re/quests/cupet.txt new file mode 100644 index 000000000..ac19d237d --- /dev/null +++ b/npc/re/quests/cupet.txt @@ -0,0 +1,242 @@ +//===== rAthena Script ======================================= +//= Cute Pet Manager +//===== By: ================================================== +//= Z3R0 +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Exchanges Hunted Items for Tames +//===== Additional Comments: ================================= +//= v1.0 First / Optimized Version +//============================================================ + +// 1st NPC +- script CPM1 750,{ + + set .@npc$, "[Cute Pet Manager]"; + + setarray .@tame_id[0],619,620,622,623,624,627,628,629,630; + setarray .@tame_amount[0],3,3,3,3,3,3,3,3,3; + setarray .@hunt_id[0],909,909,705,916,935,919,919,940,921; + setarray .@hunt_amount[0],500,600,500,500,500,500,600,500,500; + setarray .@mob_id[0],1002,1113,1063,1049,1011,1167,1107,1052,1014; + set .@tame_gets, 3; + + if (cpm_one == .@tame_gets) { + mes "[Cute Pet Manager]"; + mes "You have already exchanged"; + mes .@tame_amount + " times for a taming item."; + mes "You can't exchange anymore."; + next; + + mes "[Cute Pet Manager]"; + mes "Besides me, there are other"; + mes "Cute Pet Managers. If you want"; + mes "to tame other pets, I suggest"; + mes "you go and see them."; + close; + } + + callfunc "cute_pet_manager",.@tame_id,.@tame_amount,.@hunt_id,.@hunt_amount,.@mob_id,cpm_one,.@tame_gets,.@hunt_id2,.@hunt_amount2; + +} + +// 2nd NPC +- script CPM2 750,{ + + set .@npc$, "[Cute Pet Manager]"; + + setarray .@tame_id[0],621,625,632,631,633,634,635,636,659,637,639,640; + setarray .@tame_amount[0],2,2,2,2,2,2,2,2,2,2,2,2; + setarray .@hunt_id[0],938,935,925,7033,945,942,931,901,1094,1021,936,1035; + setarray .@hunt_amount[0],500,600,500,300,500,500,500,500,500,500,500,500; + setarray .@hunt_item_count[0],1,1,1,1,1,1,1,1,1; + setarray .@mob_id[0],1031,1042,1019,1077,1056,1057,1023,1026,1188,1110,1029; + set .@tame_gets, 2; + + if (cpm_two == .@tame_gets) { + mes "[Cute Pet Manager]"; + mes "You have already exchanged"; + mes .@tame_amount + " times for a taming item."; + mes "You can't exchange anymore."; + next; + + mes "[Cute Pet Manager]"; + mes "Besides me, there are other"; + mes "Cute Pet Managers. If you want"; + mes "to tame other pets, I suggest"; + mes "you go and see them."; + close; + } + + callfunc "cute_pet_manager",.@tame_id,.@tame_amount,.@hunt_id,.@hunt_amount,.@mob_id,cpm_two,.@tame_gets,.@hunt_id2,.@hunt_amount2; + +} + +// 3rd NPC +- script CPM3 750,{ + + set .@npc$, "[Cute Pet Manager]"; + + setarray .@tame_id[0],638,626,641,661,660,642; + setarray .@tame_amount[0],1,1,1,1,1,1; + setarray .@hunt_id[0],1020,943,1038,7047,1970,923; + setarray .@hunt_amount[0],600,600,600,500,1,100; + setarray .@hunt_id2[0],0,0,0,0,7017,0; + setarray .@hunt_amount2[0],0,0,0,0,20,0; + setarray .@mob_id[0],1170,1035,1109,1275,1200,1101; + set .@tame_gets, 1; + + if (cpm_three == .@tame_gets) { + mes "[Cute Pet Manager]"; + mes "You have already exchanged"; + mes .@tame_amount + " times for a taming item."; + mes "You can't exchange anymore."; + next; + + mes "[Cute Pet Manager]"; + mes "Besides me, there are other"; + mes "Cute Pet Managers. If you want"; + mes "to tame other pets, I suggest"; + mes "you go and see them."; + close; + } + + callfunc "cute_pet_manager",.@tame_id,.@tame_amount,.@hunt_id,.@hunt_amount,.@mob_id,cpm_three,.@tame_gets,.@hunt_id2,.@hunt_amount2; + +} + +function script cute_pet_manager { + // getarg(0) -> .@tame_id Array + // getarg(1) -> .@tame_amount Array + // getarg(2) -> .@hunt_id Array + // getarg(3) -> .@hunt_amount Array + // getarg(4) -> .@mob_id Array + // getarg(5) -> Attempt Variable + // getarg(6) -> .@tame_gets Variable + // getarg(7) -> .@hunt_id2 Array + // getarg(8) -> .@hunt_amount2 Array + + mes "[Cute Pet Manager]"; + mes "Hello~! I am a Cute Pet Manager"; + mes "who is in charge of public relations"; + mes "for the New Upgraded Cute Pet system."; + next; + + mes "[Cute Pet Manager]"; + mes "If you have any concerns regarding"; + mes "the Cute Pet system I am here to guide you."; + mes "Let me know which taming"; + mes "item you want,"; + mes "then I will tell you the monster"; + mes "that you can tame with the item."; + next; + + mes "Also I will explain what materials"; + mes "you need to bring in order to"; + mes "get the taming item."; + next; + + mes "[Cute Pet Manager]"; + mes "If you already brought materials"; + mes "to exchange for the taming item,"; + mes "I can exchange it for taming items immediately."; + next; + + mes "[Cute Pet Manager]"; + mes "However, there is a limit"; + mes "for exchanging taming items."; + mes "You can only get taming items"; + mes getarg(6) + " times. So please make sure"; + mes "how many times you have exchanged."; + next; + + mes "[Cute Pet Manager]"; + mes "So, which taming item do you want?"; + mes "Please choose one from the list."; + next; + + // Create Menu System + for (set .@a, 0; .@a < getarraysize(getarg(0)); set .@a, .@a + 1) { + set .@menu$, .@menu$ + (.@menu$ == "" ? "" : ":") + getitemname(getelementofarray(getarg(0), .@a)); + } + + // Query Player Choice + set .@choice, select(.@menu$) - 1; + + // Store Variables (Less Lookup) + set .@tame_id, getelementofarray(getarg(0), .@choice); + set .@tame_amount, getelementofarray(getarg(1), .@choice); + set .@hunt_id, getelementofarray(getarg(2), .@choice); + set .@hunt_amount, getelementofarray(getarg(3), .@choice); + set .@mob_id, getelementofarray(getarg(4), .@choice); + set .@hunt_id2, getelementofarray(getarg(7), .@choice); + set .@hunt_amount2, getelementofarray(getarg(8), .@choice); + + dispbottom "Tame ID: " + .@tame_id; + dispbottom "Tame Amount: " + .@tame_amount; + dispbottom "Hunt ID: " + .@hunt_id; + dispbottom "Hunt Name: " + getitemname(.@hunt_id); + dispbottom "Hunt Amount: " + .@hunt_amount; + dispbottom "Mob ID: " + .@mob_id; + dispbottom "Hunt ID2: " + .@hunt_id2; + dispbottom "Hunt Amount2: " + .@hunt_amount2; + + if (.@hunt_id2) { set .@hunt2_count, countitem(.@hunt_id2); } + if (countitem(.@hunt_id) >= .@hunt_amount && countitem(6083) > 0 && .@hunt2_count >= .@hunt_amount2) { + + mes "[Cute Pet Manager]"; + mes "Ah, you have gathered all items"; + mes "with your friends. You can now"; + mes "exchange for an " + getitemname(.@tame_id) + "."; + mes "Do you want to exchange with me?"; + next; + + if (select("Exchange:Don't Exchange") == 2) { + mes "[Cute Pet Manager]"; + mes "You don't? You will come back again."; + close; + } + + delitem .@hunt_id, .@hunt_amount; + delitem 6083, 1; + set getarg(5), getarg(5) + 1; + getitem .@tame_id, .@tame_amount; + + mes "[Cute Pet Manager]"; + mes "Wise choice."; + mes "I hope you and your pet get along."; + close; + } else { + mes "[Cute Pet Manager]"; + mes "You have chosen " + getitemname(.@tame_id) + "."; + mes "You can use it for taming"; + mes "^FF0000" + strmobinfo(1,.@mob_id) + "^000000 monsters."; + next; + mes "[Cute Pet Manager]"; + mes "Bring ^FF0000" + .@hunt_amount + " " + getitemname(.@hunt_id) + "^000000s " + (.@hunt_id2 ? ", ^FF0000" + .@hunt_amount2 + " " + getitemname(.@hunt_id2) : "") + " ^000000 and ^FF00001 Dolly Capsule^000000"; + mes "then you can exchange them"; + mes "for an " + getitemname(.@tame_id) + "."; + close; + } +} + +// NPC Duplicates +prontera,67,212,5 duplicate(CPM1) Cute Pet Manager#1 750 +prontera,242,92,3 duplicate(CPM2) Cute Pet Manager#2 750 +prontera,179,92,3 duplicate(CPM3) Cute Pet Manager#3 750 + +geffen,180,125,5 duplicate(CPM1) Cute Pet Manager#4 750 +geffen,152,66,3 duplicate(CPM2) Cute Pet Manager#5 750 +geffen,197,95,3 duplicate(CPM3) Cute Pet Manager#6 750 + +morocc,115,83,5 duplicate(CPM1) Cute Pet Manager#7 750 +morocc,218,130,3 duplicate(CPM2) Cute Pet Manager#8 750 +morocc,236,225,3 duplicate(CPM3) Cute Pet Manager#9 750 + +payon,109,278,5 duplicate(CPM1) Cute Pet Manager#10 750 +payon,157,124,3 duplicate(CPM2) Cute Pet Manager#11 750 +payon,85,237,3 duplicate(CPM3) Cute Pet Manager#12 750 diff --git a/npc/re/quests/eden/11-25.txt b/npc/re/quests/eden/11-25.txt new file mode 100644 index 000000000..4e5d95a4d --- /dev/null +++ b/npc/re/quests/eden/11-25.txt @@ -0,0 +1,154 @@ +//===== rAthena Script ======================================= +//= Eden Group Quests - Mission [11 - 25] +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Repetable Quests for Players between Baselevel 11 - 25. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Some little optimization here and there. [Masao] +//= 1.2 Optimized. [Euphy] +//============================================================ + +moc_para01,36,38,3 script Mission [11 - 25]#Tuto 857,{ + if (countitem(6219) < 1) { + mes "- You need to have an -"; + mes "- ^4d4dff'Eden Group Mark'^000000 -"; + mes "- to receive these missions. -"; + close; + } + for(set .@i,11124; .@i<11134; set .@i,.@i+1) + if (checkquest(.@i,PLAYTIME) == 2) erasequest .@i; + for(set .@i,11114; .@i<11123; set .@i,.@i+1) { + set .@j, checkquest(.@i,HUNTING); + if (.@j == 2) { + mes " - You must collect your - "; + mes " - reward before starting - "; + mes " - a new mission. - "; + mes " "; + mes " - Manager : Spike - "; + close; + } + else if (.@j >= 0) { + mes " - You can only request - "; + mes " - one mission at a time. - "; + mes " "; + mes " - Manager : Spike - "; + close; + } + } + if (BaseLevel < 11) { + mes " - There are no tasks - "; + mes " - open for you right now. - "; + close; + } + if (BaseLevel > 25) { + mes " - These missions are too - "; + mes " - easy for your caliber - "; + mes " - search for a more level - "; + mes " - appropriate mission. - "; + close; + } + mes " - Mission bulletin board -"; + mes " - for beginners. -"; + mes " "; + mes " - Manager : Spike -"; + next; + switch(select("Hornet Hunting:Condor Hunting:Grasshopper's Leg:Worm Tail Hunting:Spore Hunting:Pest Control:Muka Hunting:Familiar Hunting:Collect Feathers:Collect Poison Spores:Cancel")) { + case 1: callsub L_Quest,11114,"Hornet Hunting"," - Hunt 10 ^4d4dff'Hornets'^000000 - "," - northwest of Prontera. - "; + case 2: callsub L_Quest,11115,"Condor Hunting"," - Hunt 20 ^4d4dff'Condors'^000000 - "," - south of Morroc. - "; + case 3: callsub L_Quest,11116,"Grasshopper's Leg"," - Hunt 10 ^4d4dff'Rockers'^000000 - "," - southwest of Prontera and - "," - bring 10 ^4d4dffGrasshopper's Legs^000000. - "; + case 4: callsub L_Quest,11117,"Worm Tail Hunting"," - Hunt 20 ^4d4dff'Worm Tails'^000000 - "," - southeast of Payon.- "; + case 5: callsub L_Quest,11118,"Spore Hunting"," - Hunt 30 ^4d4dff'Spores'^000000 - "," - around Payon. - "; + case 6: callsub L_Quest,11119,"Pest Control"," - Hunt 20 ^4d4dffThief Bug Eggs^000000 - "," - in the Prontera Culvert - "," - and bring 10 ^4d4dffChrysalis^000000. - "; + case 7: callsub L_Quest,11120,"Muka Hunting"," - Hunt 20 ^4d4dff'Muka'^000000 - "," - south of Prontera. - "; + case 8: callsub L_Quest,11121,"Familiar Hunting"," - Hunt 20 ^4d4dffFamiliar^000000 - "," - in the Culvert Sewers - "," - west of Prontera. - "; + case 9: callsub L_Quest,11122,"Collect Feathers"," - Hunt 30 ^4d4dff'Peco Pecos'^000000 - "," - south of Prontera. - "; + case 10: callsub L_Quest,11123,"Collect Poison Spores"," - Hunt 30 ^4d4dffPoison Spores^000000 - "," - inside the Geffen Tower and - "," - bring 5 ^4d4dffPoison Spores^000000. - "; + case 11: mes " - Stop reading the bulletin board. - "; close; + } + end; +L_Quest: + if (checkquest(getarg(0),PLAYTIME) == 1) { + mes " - Mission ^4d4dff"+getarg(1)+"^000000 - "; + mes " - is already finished for today. - "; + mes " "; + mes " - Manager : Spike - "; + close; + } + mes " - Mission '"+getarg(1)+"' - "; + for(set .@i,2; .@i<getargcount(); set .@i,.@i+1) + mes getarg(.@i); + mes " "; + mes " - Manager : Spike - "; + next; + if(select("I will do this mission.:Look for other missions.") == 2) { + mes " - Let's search for -"; + mes " - other missions. - "; + close; + } + for(set .@i,2; .@i<getargcount(); set .@i,.@i+1) + mes getarg(.@i); + if (getarg(0) == 11123 && checkquest(11123,PLAYTIME) == 2) + erasequest 11133; // Special case for "Collect Poison Spores" + setquest getarg(0); + close; +} + +moc_para01,32,30,6 script Spike 914,{ + for(set .@i,11114; .@i<11124; set .@i,.@i+1) { + set .@j, checkquest(.@i,HUNTING); + if (.@j == 2) switch(.@i) { + case 11114: callsub L_Quest,.@i,"Hornet Hunting",900; + case 11115: callsub L_Quest,.@i,"Condor Hunting",1800; + case 11116: callsub L_Quest,.@i,"Grasshopper's Leg",1400,940,10; + case 11117: callsub L_Quest,.@i,"Worm Tail Hunting",2600; + case 11118: callsub L_Quest,.@i,"Spore Hunting",3900; + case 11119: callsub L_Quest,.@i,"Extirpate Insects",2900,915,10; + case 11120: callsub L_Quest,.@i,"Muka Hunting",3200; + case 11121: callsub L_Quest,.@i,"Familiar Hunting",3200; + case 11122: callsub L_Quest,.@i,"Collect Feathers",5400; + case 11123: callsub L_Quest,.@i,"Collect Poison Spores",6000,7033,5; + } + else if (.@j >= 0) { + mes "[Spike]"; + mes "You haven't finished your mission yet."; + mes "Keep up the good work. You are almost done."; + close; + } + } + mes "[Spike]"; + mes "Are you looking for a job?"; + mes "We always have lots of work to do."; + next; + mes "[Spike]"; + mes "Why don't you look around and find some interesting tasks?"; + close; +L_Quest: + if (checkquest(getarg(0),HUNTING) == 2) { + if (getarg(3,0)) + if (countitem(getarg(3)) < getarg(4)) { + mes "[Spike]"; + mes "You don't have enough "+getitemname(getarg(3))+"."; + mes "You need to bring "+getarg(4)+" "+getitemname(getarg(3))+"."; + close; + } + mes "[Spike]"; + mes "Hmm... let me see~"; + mes "You have completed the '"+getarg(1)+"' mission."; + next; + mes "[Spike]"; + mes "Good work~!!"; + mes "Our client is so happy with your work. He will appreciate what you have done."; + mes "Please help us again. Thanks!"; + if (getarg(3,0)) delitem getarg(3),getarg(4); + erasequest getarg(0); + setquest getarg(0)+10; + getexp getarg(2),0; + close; + } +} diff --git a/npc/re/quests/eden/26-40.txt b/npc/re/quests/eden/26-40.txt new file mode 100644 index 000000000..267cc0994 --- /dev/null +++ b/npc/re/quests/eden/26-40.txt @@ -0,0 +1,672 @@ +//===== rAthena Script ======================================= +//= Eden Group Quests - Mission [26 - 40] +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Repetable Quests for Players between Baselevel 26 - 40. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Some little optimization here and there. [Masao] +//= 1.2 Optimized. [Euphy] +//============================================================ + +moc_para01,38,38,3 script Mission [26 - 40] 857,{ + if (countitem(6219) < 1) { + mes "You are not a qualified member. You can not use the bulletin board."; + close; + } + mes "[26 ~ 40 Lv. Mission Board]"; + mes "- Many missions are -"; + mes "- on the bulletin board. -"; + next; + if ((BaseLevel < 26) || (BaseLevel > 40)) { + mes "Your level is not qualified. You can not use the bulletin board."; + close; + } + switch(select("Hunting Mission:Delivery Mission:Gathering Mission:Escort Mission")) { + case 1: + mes "[Hunting Mission Board]"; + mes "- Hunting Mission details -"; + mes "- are on the board. -"; + next; + switch(select("Hunting Poison Spore:Hunting Smokie:Hunting Elder Willow(Above Lv.30):Hunting Coco(Above Lv.35):Hunting Thara Frog(Above Lv.38)")) { + case 1: callsub L_Quest,8266,0,"Hunting Poison Spore","Sponiac","Geffen","Hunt 10 Poison Spores"; + case 2: callsub L_Quest,8267,0,"Hunting Smokie","Sponiac","Geffen","Hunt 10 Smokies"; + case 3: callsub L_Quest,8268,30,"Hunting Elder Willow","Sponiac","Geffen","Hunt 10 Elder Willows"; + case 4: callsub L_Quest,8269,35,"Hunting Coco","Sponiac","Geffen","Hunt 10 Cocos"; + case 5: callsub L_Quest,8270,38,"Hunting Thara Frog","Sponiac","Geffen","Hunt 10 Thara Frogs"; + } + case 2: + mes "[Delivery Mission Board]"; + mes "- Delivery Mission details -"; + mes "- are on the board. -"; + next; + switch(select("Deliver an Insecticide:Deliver Honey:Deliver Blanket(Above Lv.35)")) { + case 1: callsub L_Quest,8271,0,"Deliver an Insecticide","Dieshin Man","Morroc Ruins","Get an 'Insecticide' from Dieshin Man and deliver it south east of Payon"; + case 2: callsub L_Quest,8272,0,"Deliver Honey","Dieshin Man","Morroc Ruins","Get 'Honey' from Dieshin Man and deliver it west of St. Capitolina Abbey"; + case 3: callsub L_Quest,8273,35,"Deliver Blanket","Dieshin Man","Morroc Ruins","Get Blankets from Dieshin Man and deliver to the field south of Lutie"; + } + case 3: + mes "[Gathering Mission Board]"; + mes "- Gathering Mission details -"; + mes "- are on the board. -"; + next; + switch(select("Gather Bones:Gather Animal Skins:Gather Peelings(Above Lv.30):Gather Tails(Above Lv.32):Gather Cookies(Above Lv.35):Gather Mustaches(Above Lv.35)")) { + case 1: callsub L_Quest,8274,0,"Gather Bones","Dashia","Payon","Gather '10 Skel-Bones' and give them to Dashia"; + case 2: callsub L_Quest,8275,0,"Gather Animal Skins","Dashia","Payon","Gather '10 Bear's Footskins' and '5 Animal Skins' and give them to Dashia"; + case 3: callsub L_Quest,8276,30,"Gather Peelings","Dashia","Payon","Gather '20 Worm Peelings' and '20 Garlets' and give them to Dashia"; + case 4: callsub L_Quest,8277,32,"Gather Tails","Dashia","Payon","Gather '10 Yoyo Tails', '10 Acorns' and '10 Raccon Leafs' and give them to Dashia"; + case 5: callsub L_Quest,8278,35,"Gather Cookies","Dashia","Payon","Gather '5 Well-baked Cookies' and '1 Piece of Cake' and give them to Dashia"; + case 6: callsub L_Quest,8279,35,"Gather Mustaches","Dashia","Payon","Gather '5 Mole Whiskers' and '3 Mole Claws' and give them to Dashia"; + } + case 4: + mes "[Escort Mission Board]"; + mes "There are currently no Escort Missions registered on the board."; + close; + } + end; +L_Quest: + //QuestID,ReqLvl,Quest,Client,Loc,Desc + if (BaseLevel < getarg(1,26)) { + mes "Your level doesn't meet the requirements. You can't take the '"+getarg(2)+"' mission."; + close; + } + mes "["+getarg(2)+" !!]"; + mes "Client : "+getarg(3); + mes "Client Location : "+getarg(4); + mes "Requested Mission : "+getarg(5); + mes " "; + mes "Will you accept this mission?"; + next; + if(select("No, I won't accept it.:Yes, I will accept it.") == 1) { + mes "You have declined the "+getarg(2)+" mission."; + close; + } + if (checkquest(getarg(0)) == 1) mes "You are already doing this mission."; + else { + setquest getarg(0); + mes "You have accepted the "+getarg(2)+" mission."; + } + mes "You can get a reward from the client after you finish the mission."; + next; + mes "For more details, please press 'Alt + U', to get more information from the Quest Window."; + close; +} + +geffen,103,42,5 script Sponiac 99,{ + if (checkweight(1201,1) == 0 || (MaxWeight - Weight) < 3500) { + mes "[Sponiac]"; + mes "Why are you carrying so many items?"; + mes "Are you in a training course or something?"; + close; + } + mes "[Sponiac]"; + mes "Lu~lu~lu~lu~"; + mes "Lu~ Huh?"; + next; + mes "[Sponiac]"; + mes "Wow, you must be a beginner, right?"; + mes "What an innocent face! Ha~ hahaha."; + emotion e_gg; + next; + mes "[Sponiac]"; + mes "Why don't you do some hunting outside instead of walking around and wasting your time?"; + next; + if(select("I am about to leave now.:I've got a Hunting Mission.") == 1) { + mes "[Sponiac]"; + mes "Oh, well. Then, go figure."; + mes "Bye~ bye."; + close; + } + mes "[Sponiac]"; + mes "Oh, you are from the Eden Group?"; + mes "What mission do you have?"; + next; + switch(select("Hunting Poison Spore:Hunting Smokie:Hunting Elder Willow:Hunting Coco:Hunting Thara Frog")) { + case 1: callsub L_Quest,8266,"Hunting Poison Spore",1000,0,100,"You can find Poison Spores on the Geffen Dungeon 1F or northeast of Prontera. There are other spots but I'll leave it up to you to find out."; + case 2: callsub L_Quest,8267,"Hunting Smokie",1000,0,100,"You can find Smokies northeast and northwest of Geffen. Oh, also the field east of Ayotaya is good spot to find them."; + case 3: callsub L_Quest,8268,"Hunting Elder Willow",1000,100,110,"You can find Elder Willows northeast of Geffen, east of payon and southwest of Prontera."; + case 4: callsub L_Quest,8269,"Hunting Coco",1000,200,150,"You can find Cocos around the east of Payon, southwest of Prontera and the field east of Ayotaya."; + case 5: callsub L_Quest,8270,"Hunting Thara Frog",1500,300,200,"You can find Thara Frogs in the Cave east of Comodo or on Turtle Island."; + } + end; +L_Quest: + //QuestID,Quest,BExp,JExp,PotionAmt,Desc + if (checkquest(getarg(0)) == 1) { + if (checkquest(getarg(0),HUNTING) == 2) { + mes "[Sponiac]"; + mes getarg(1)+"!"; + mes "Wow, I didn't expect you would do that mission. I was just about to give up. But you did good job. I appreciate it!"; + next; + mes "[Sponiac]"; + mes "Well, I requested the mission and you did an excellent job."; + mes "I will give you a reward as I promised."; + next; + mes "[Sponiac]"; + mes "Here it is. Thank you very much. God bless you!"; + getitem 569,getarg(4); //Novice_Potion + getexp getarg(2),getarg(3); + erasequest getarg(0); + close; + } + mes "[Sponiac]"; + mes "Oh, you are right."; + next; + mes "[Sponiac]"; + mes "But, you haven't done the mission yet. Why did you come to me now? You haven't completed the mission!"; + mes "I will give you a reward if you complete the mission. Ok? Are we good?"; + next; + mes "[Sponiac]"; + mes getarg(5); + mes "You can check the world map by pressing 'ctrl + ~' key."; + next; + mes "[Sponiac]"; + mes "Anyway, I will be here waiting for you. Please come back when you finish the mission!"; + close; + } + mes "[Sponiac]"; + mes "Huh? Are you sure? Something is wrong..."; + next; + mes "[Sponiac]"; + mes "It is weird."; + mes "Please check your Quest Window by pressing 'alt + u'."; + close; +} + +moc_ruins,173,55,3 script Dieshin Man 89,{ + if (checkweight(1201,1) == 0 || (MaxWeight - Weight) < 3500) { + mes "[Dieshin Man]"; + mes "Why are you carrying so many items?"; + mes "Are you in a training course or something?"; + close; + } + mes "[Dieshin Man]"; + mes "Hu hu~~ we are delivery men~"; + mes "We are faster than any flight~!"; + next; + mes "[Dieshin Man]"; + mes "Welcome~ welcome!"; + mes "We are the fastest delivery company, Dieshin Corperation."; + next; + mes "[Dieshin Man]"; + mes "How can I help you?"; + next; + if(select("I don't need help.:I've got a Delivery Mission.") == 1) { + mes "[Dieshin Man]"; + mes "Oh, well. Then, go figure. Bye~!"; + close; + } + mes "[Dieshin Man]"; + mes "Oh, you are from the Eden Group?"; + mes "What mission do you have?"; + next; + switch(select("Deliver an Insecticide.:Deliver Honey.:Deliver Blankets.")) { + case 1: callsub L_Quest,8271; + case 2: callsub L_Quest,8272; + case 3: callsub L_Quest,8273; + } + end; +L_Quest: + if (checkquest(getarg(0)) != 1) { + mes "[Dieshin Man]"; + mes "Huh? Are you sure? Something is wrong..."; + next; + mes "[Dieshin Man]"; + mes "It is weird."; + mes "Please check your Quest Window by pressing 'alt + u'."; + close; + } + if (countitem(6218) > 0) { + mes "[Dieshin Man]"; + mes "Wait, but you already have a delivery box."; + next; + mes "[Dieshin Man]"; + mes "We can't allow you to deliver two boxes at once. So, please finish your delivery first."; + next; + mes "[Dieshin Man]"; + mes "If you forgot where to deliver, then please check Quest Window by pressing 'alt + u'."; + close; + } + switch(getarg(0)) { + case 8271: + mes "[Dieshin Man]"; + mes "Ah ha! I got it!"; + mes "The insecticide? It must be the Zoologist on the southeast of Payon who ordered the Insecticide."; + break; + case 8272: + mes "[Dieshin Man]"; + mes "Ah ha! I got it!"; + mes "Honey? It must be the Entomologist at the west of St. Capitolina Abbey, wich is northeast of Prontera who ordered the Honey."; + break; + case 8273: + mes "[Dieshin Man]"; + mes "Oh, Right!"; + mes "The blankets! It must be the biologist in the south of Lutie field who ordered the blankets."; + next; + mes "[Dieshin Man]"; + mes "You can can go to Lutie by asking Mr. Claus in the northeastern part of Al De Baran."; + break; + } + next; + mes "[Dieshin Man]"; + mes "Dieshin's cooperation motive is to give the fastest and credited delivery. So please deliver it now without any delay."; + next; + mes "[Dieshin Man]"; + mes "If you forgot where to make the delivery, then please check the Quest Window by pressing 'alt + u'."; + getitem 6218,1; //Disin_Delivery_Box + close; +} + +pay_fild07,83,89,7 script Zoologist 89,{ + if (checkweight(1201,1) == 0 || (MaxWeight - Weight) < 3500) { + mes "[Zoologist]"; + mes "Why are you carrying so many items?"; + mes "Are you in a training course or something?"; + close; + } + mes "[Zoologist]"; + mes "Have you heard of a monster named Bigfoot?"; + mes "It looks like a bear with red fur and has a 'X' shape scar on his shoulder."; + next; + mes "[Zoologist]"; + mes "According to the recent research, flies and Bigfoot monsters have a symbiotic relationship."; + next; + mes "[Zoologist]"; + mes "I am currently studying about it and try to prove the theory. So I plan to kill the flies around Bigfoot and observe his reaction."; + next; + if(select("...I am not interested.:Here is the Insecticide.") == 1) { + mes "[Zoologist]"; + mes "Oh, I need an Insecticide to continue the study."; + close; + } + if (checkquest(8271) != 1) { + mes "[Zoologist]"; + mes "Huh?"; + mes "You are not Dieshin's delivery man?"; + next; + mes "[Zoologist]"; + mes "I am waiting for a special delivery."; + close; + } + if (countitem(6218) > 0) { + mes "[Zoologist]"; + mes "Oh ho! Yes! That one!"; + next; + mes "[Zoologist]"; + mes "That is the Insecticide that I ordered! You were sent by Dieshin right?"; + next; + mes "[Zoologist]"; + mes "I have been waiting for this!"; + mes "Give it to me!"; + next; + mes "[Zoologist]"; + mes "It arrived much faster than I thought. I want to test it right away!"; + next; + mes "[Zoologist]"; + mes "Well done. Good Job! Thank you so much! Here is a little gift for you."; + delitem 6218,1; //Disin_Delivery_Box + erasequest 8271; + getitem 569,100; //Novice_Potion + getexp 1000,0; + close; + } + mes "[Zoologist]"; + mes "I appreciate your kindness."; + mes "But, what did you bring?"; + next; + mes "[Zoologist]"; + mes "Hmm, I thought that Dieshin was fast and accurate, but you brought me an empty box. How disappointing."; + next; + mes "[Zoologist]"; + mes "Please bring my order. Dieshin will give you my product."; + close; +} + +prt_fild03,30,254,3 script Entomologist 83,{ + if (checkweight(1201,1) == 0 || (MaxWeight - Weight) < 3500) { + mes "[Entomologist]"; + mes "Why are you carrying so many items?"; + mes "Are you in a training course or something?"; + close; + } + mes "[Entomologist]"; + mes "Have you heard about the Horn monster?"; + mes "It's shaped like an insect with black sleek skin and it has a giant horn it's head."; + next; + mes "[Entomologist]"; + mes "Recent research came out and showed that this monster can be tamed and trained by Honey."; + next; + mes "[Entomologist]"; + mes "I am currently studying about it and trying to prove the theory. So I plan to set a Honey trap on the places he usually passes and observe his reaction."; + next; + if(select("...I am not interested.:Here is the Honey.") == 1) { + mes "[Entomologist]"; + mes "Oh, I need Honey to continue the study."; + close; + } + if (checkquest(8272) != 1) { + mes "[Entomologist]"; + mes "Huh?"; + mes "You are not Dieshin's delivery man?"; + next; + mes "[Entomologist]"; + mes "I am waiting for a special delivery."; + close; + } + if (countitem(6218) > 0) { + mes "[Entomologist]"; + mes "Oh ho! Yes! That one!"; + next; + mes "[Entomologist]"; + mes "That is the Honey that I ordered! You were sent by Dieshin right?"; + next; + mes "[Entomologist]"; + mes "I have been waiting for this!"; + mes "Give it to me!"; + next; + mes "[Entomologist]"; + mes "It arrived much faster than I thought. I want to test it right away!"; + next; + mes "[Entomologist]"; + mes "Well done. Good Job! Thank you so much! Here is a little gift for you."; + delitem 6218,1; //Disin_Delivery_Box + erasequest 8272; + getitem 569,100; //Novice_Potion + getexp 1000,0; + close; + } + mes "[Entomologist]"; + mes "I appreciate your kindness."; + mes "But, what did you bring?"; + next; + mes "[Entomologist]"; + mes "Hmm, I thought that Dieshin was fast and accurate, but you brought me an empty box. How disappointing."; + next; + mes "[Entomologist]"; + mes "Please bring my order. Dieshin will give you my product."; + close; +} + +xmas_fild01,92,57,3 script Biologist 97,{ + if (checkweight(1201,1) == 0 || (MaxWeight - Weight) < 3500) { + mes "[Biologist]"; + mes "Why are you carrying so many items?"; + mes "Are you in a training course or something?"; + close; + } + mes "[Biologist]"; + mes "Have you heard about the Marin monster?"; + mes "It does look like the usual poring, but it has unique characteristic."; + next; + mes "[Biologist]"; + mes "Porings steal items if they see them on the ground. However, Marin has no interest in dropped items. So I was wondering, how come Marin doesn't pay attention to gathering items even though they are the same kind of monster as Porings."; + next; + mes "[Biologist]"; + mes "But, this place is freaking cold."; + next; + if(select("...I am not interested.:Here are the blankets.") == 1) { + mes "[Biologist]"; + mes "Huh, whatever. But be careful! It's very slippery here."; + close; + } + if (checkquest(8273) != 1) { + mes "[Biologist]"; + mes "Huh?"; + mes "You are not Dieshin's delivery man?"; + next; + mes "[Biologist]"; + mes "I am waiting for a special delivery."; + close; + } + if (countitem(6218) > 0) { + mes "[Biologist]"; + mes "Oh ho! Yes! That one!"; + next; + mes "[Biologist]"; + mes "Those are the Blankets that I ordered! You were sent by Dieshin right?"; + next; + mes "[Biologist]"; + mes "I have been waiting for this!"; + mes "Give it to me!"; + next; + mes "[Biologist]"; + mes "It arrived much faster than I thought. I want to test them right away!"; + next; + mes "[Biologist]"; + mes "Well done. Good Job! Thank you so much! Here is a little gift for you."; + delitem 6218,1; //Disin_Delivery_Box + erasequest 8273; + getitem 569,100; //Novice_Potion + getexp 1000,0; + close; + } + mes "[Biologist]"; + mes "I appreciate your kindness."; + mes "But, what did you bring?"; + next; + mes "[Biologist]"; + mes "Hmm, I thought that Dieshin was fast and accurate, but you brought me an empty box. How disappointing."; + next; + mes "[Biologist]"; + mes "Please bring my order. Dieshin will give you my product."; + close; +} + +payon,179,66,3 script Dashia 931,{ + if (checkweight(1201,1) == 0 || (MaxWeight - Weight) < 3500) { + mes "[Dashia]"; + mes "Why are you carrying so many items?"; + mes "Are you in a training course or something?"; + close; + } + mes "[Dashia]"; + mes "Here is some hair~ a broken clock~!"; + next; + mes "[Dashia]"; + mes "Broken clock..? Hu hu.."; + next; + mes "[Dashia]"; + mes "Hey~! Dude! You look like a very rich adventurer."; + next; + if(select("I am a poor adventurer.:I have a gathering mission.") == 1) { + mes "[Dashia]"; + mes "Really? Hmm, oh right. You don't look sophisticated."; + next; + mes "[Dashia]"; + mes "You are a poor adventurer~! Good luck!"; + close; + } + mes "[Dashia]"; + mes "Oh, you are from the Eden Group?"; + mes "What mission do you have?"; + next; + switch(select("Gather Bones:Gather Animal Skin:Gather Peelings:Gather Tails:Gather Cookies:Gather Mustaches")) { + case 1: + callsub L_Quest,8274; + if (countitem(932) > 9) { + callsub L_Reward; + delitem 932,10; //Skel_Bone + getitem 569,100; //Novice_Potion + getexp 1000,100; + erasequest 8274; + close; + } + mes "[Dashia]"; + mes "I can see that you have a gathering mission."; + mes "But, where are the Skel-Bones?"; + next; + mes "[Dashia]"; + mes "You haven't done the mission yet. Why did you come back here?"; + next; + mes "[Dashia]"; + mes "You don't have enough 'Skel-Bones'... You can find it when you hunt Skeletons."; + next; + mes "[Dashia]"; + mes "To find Skeletons, you better check Payon Dungeon 1F, which is located in Archer Village, north of Payon."; + break; + case 2: + callsub L_Quest,8275; + if ((countitem(948) > 9) && (countitem(919) > 4)) { + callsub L_Reward; + getitem 569,100; //Novice_Potion + delitem 948,10; //Bear's_Foot + delitem 919,5; //Animal's_Skin + getexp 1000,100; + erasequest 8275; + close; + } + mes "[Dashia]"; + mes "I can see that you have a gathering mission."; + mes "But, where is the Bear's Footskins and Animal Skins?"; + next; + mes "[Dashia]"; + mes "You haven't done the mission yet. Why did you come back here?"; + next; + mes "[Dashia]"; + mes "You have to bring 10 Bear's Footskins' and '5 Animal Skins!"; + mes "You can find Bear's Footskin from Bigfoot and Animal Skin from Animals."; + next; + mes "[Dashia]"; + mes "Bigfoot is around the north of Geffen field or the southeast of Payon field."; + break; + case 3: + callsub L_Quest,8276; + if ((countitem(955) > 19) && (countitem(910) > 19)) { + callsub L_Reward; + delitem 955,20; //Worm_Peelings + delitem 910,20; //Garlet + getitem 569,100; //Novice_Potion + getexp 1000,100; + erasequest 8276; + close; + } + mes "[Dashia]"; + mes "I can see that you have a gathering mission."; + mes "But, where are the Worm Peelings and Garlets?"; + next; + mes "[Dashia]"; + mes "You have to bring '20 Worm Peelings' and '20 Garlets' to complete the mission."; + next; + mes "[Dashia]"; + mes "You can get those items from 'Piere', 'Andre', 'Deniro', 'Vitata', 'Thief Bug', 'Female Thief Bug' and 'Male Thief Bug'."; + next; + mes "[Dashia]"; + mes "'Piere', 'Andre', 'Deniro' and 'Vitata' are in Ant Hell which is located near the Saint Darmain Fortress soutwest of Morroc."; + next; + mes "[Dashia]"; + mes "'Thief Bug', 'Female Thief Bug' and 'Male Thief Bug' are int he Prontere Culvert. To get there, you need to be a volunteer of the Prontera Culvert's punitive force."; + break; + case 4: + callsub L_Quest,8277; + if ((countitem(942) > 9) && (countitem(1026) > 9) && (countitem(945) > 9)) { + callsub L_Reward; + delitem 942,10; //Yoyo_Tail + delitem 1026,10; //Acorn + delitem 945,10; //Raccoon_Leaf + getitem 569,150; //Novice_Potion + getexp 1000,200; + erasequest 8277; + close; + } + mes "[Dashia]"; + mes "I can see that you have a gathering mission."; + mes "But, where are the Yoyo Tails, Acorns and Raccoon Leafs?"; + next; + mes "[Dashia]"; + mes "You haven't done the mission yet. Why did you come back here?"; + mes "You have to bring '10 Yoyo Tails,' '10 Acorns' and '10 Raccoon Leafs' to complete the mission."; + next; + mes "[Dashia]"; + mes "You can get Yoyo Tails from 'Yoyo's', Acorn from 'Coco's' and Raccoon Leaf from 'Smokies'."; + next; + mes "[Dashia]"; + mes "You can find them easily around fields, but the field east of Ayothya is the best spot for hunting all 3 monsters."; + next; + mes "[Dashia]"; + mes "To get to Ayotaya, you better go to 'Aibakthing' in Alberta and pay his fare."; + break; + case 5: + callsub L_Quest,8278; + if ((countitem(538) > 4) && (countitem(539) > 0)) { + callsub L_Reward; + delitem 538,5; //Well_Baked_Cookie + delitem 539,1; //Piece_Of_Cake + getitem 569,150; //Novice_Potion + getexp 1000,200; + erasequest 8278; + close; + } + mes "[Dashia]"; + mes "I can see that you have a gathering mission."; + mes "But, where are the Well-baked Cookies and the Piece of Cake?"; + next; + mes "[Dashia]"; + mes "You haven't done the mission yet. Why did you come back here?"; + mes "You have to bring '5 Well-baked Cookies' and '1 Piece of Cake' to complete the mission."; + next; + mes "[Dashia]"; + mes "You can get Well-baked Cookie from 'Cookies' who wears red or green shirts."; + mes "For getting Piece of Cake, you should look for 'Mystcases'."; + next; + mes "[Dashia]"; + mes "Both monsters canbe found in the Toy Factory Warehouse or Toy Monitoring Room. To get there, ask Mr. Claus in the northeastern part of Al De Baran."; + break; + case 6: + callsub L_Quest,8279; + if ((countitem(1017) > 4) && (countitem(1018) > 2)) { + callsub L_Reward; + delitem 1017,5; //Moustache_Of_Mole + delitem 1018,3; //Nail_Of_Mole + getitem 569,150; //Novice_Potion + getexp 1000,200; + erasequest 8279; + close; + } + mes "[Dashia]"; + mes "I can see that you have a gathering mission."; + mes "But, where are the Mole Whiskerss and Mole Claws??"; + next; + mes "[Dashia]"; + mes "You haven't done the mission yet. Why did you come back here?"; + mes "You have to bring '5 Mole Whiskers' and '3 Mole Claws' to complete the mission."; + next; + mes "[Dashia]"; + mes "You can get those items from 'Martins'."; + mes "Martins can be found in the Mjolnir Dead Pit, but the second floor is dangerous, so be careful!"; + next; + mes "[Dashia]"; + mes "To get there, ask a Kafra Employee in Geffen, they can warp you there."; + break; + } + next; + mes "[Dashia]"; + mes "Anyway, I will be here waiting for you. Please come back when you finish the mission!"; + close; +L_Quest: + if (checkquest(getarg(0)) != 1) { + mes "[Dashia]"; + mes "Huh? Are you sure? Something is wrong..."; + next; + mes "[Dashia]"; + mes "It is weird."; + mes "Please check your Quest Window by pressing 'alt + u'."; + close; + } + return; +L_Reward: + mes "[Dashia]"; + mes "Wow~ you did an excellent job!"; + next; + mes "[Dashia]"; + mes "Thank you very much. God bless you!"; + emotion e_heh; + next; + mes "[Dashia]"; + mes "Ha~! Ha~!"; + mes "I will give you a reward as promised."; + return; +} diff --git a/npc/re/quests/eden/41-55.txt b/npc/re/quests/eden/41-55.txt new file mode 100644 index 000000000..dfa5e2df5 --- /dev/null +++ b/npc/re/quests/eden/41-55.txt @@ -0,0 +1,89 @@ +//===== rAthena Script ======================================= +//= Eden Group Quests - Mission [41 - 55] +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Repetable Quests for Players between Baselevel 41 - 55. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Some little optimization here and there. [Masao] +//= 1.2 Optimized. [Euphy] +//============================================================ + +moc_para01,40,38,3 script Mission [41 - 55] 857,{ + if (countitem(6219) < 1) { + mes "You are not an Eden group member. You are not qualified to access the bulletin board."; + close; + } + if (checkweight(1201,1) == 0 || (MaxWeight - Weight) < 1000) { + mes "^008800Wait a sec!!"; + mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000"; + close; + } + if (checkquest(12088) == -1) { + if (BaseLevel < 41 || BaseLevel > 55) { + mes "[41 ~ 55 Lv. Mission Board]"; + close; + } + mes "[Mission Board]"; + mes "Mission bulletin board."; + next; + if(select("Check the Missions.:Cancel.") == 2) { + mes "^000077Ok. Let's check the missions next time.^000000."; + close; + } + switch(select("Thara Frog Hunting:Cruiser Hunting:Kukre Hunting:Orc Baby Hunting:Orc Warrior Hunting:Vadon Hunting:Megalodon Hunting:Marse Hunting:Cornutus Hunting:Myst Hunting:Shellfish Hunting:Marine Sphere Hunting")) { + case 1: callsub L_Quest,12072,"Have you seen a red frog? It is called Thara Frog and it's very rare. We are trying to verify where it inhabits. So please hunt 20 Thara Frogs."; + case 2: callsub L_Quest,12073,"I heard of some toys attacking people. It is ridiculous! Let's show them our power! We have to hunt 15 Cruisers!"; + case 3: callsub L_Quest,12074,"Someone got robbed near the beach! The possible suspect is a criminal monster called Kukre. Please hunt 30 Kukre."; + case 4: callsub L_Quest,12075,"Orc Babies are getting more violent these days. Please hunt 15 Orc Babies."; + case 5: callsub L_Quest,12076,"Orc Warriors are increasing their aggression. Please hunt 20 Orc Warriors."; + case 6: callsub L_Quest,12077,"Have you seen crabs with thick shells? They are Vadons. Please hunt 15 Vadons."; + case 7: callsub L_Quest,12078,"Dead fish are all around the beach and it is getting worse. Please hunt 30 Megalodon."; + case 8: callsub L_Quest,12079,"Can you hunt Marse? I need 15 Marse for my study. Please help me."; + case 9: callsub L_Quest,12080,"An idiot Cornutus bit the Mayor's foot. The Mayor is upset so we need to hunt 20 Cornutus to make him happy!"; + case 10: callsub L_Quest,12081,"People are freaking out because of Myst. It looks like a ghost so, it scares people. Please hunt 15 Myst."; + case 11: callsub L_Quest,12082,"Don't ask why, but please hunt 30 Shellfish. It is a secret mission!"; + case 12: callsub L_Quest,12083,"Marine Sphere? Do you know what a Marine Sphere is? I got a mission for you to hunt 15 Marine Sphere, so please do so."; + case 13: callsub L_Quest,12084,"The mayor wants to eat a delicious fish dish. Phen will be the perfect ingredient for it. Please hunt 20 Phen!"; + case 14: callsub L_Quest,12085,"You have accepted the mission. For more details, please press 'alt + u' keys, you can get information from the Quest Window."; + case 15: callsub L_Quest,12086,"Some weird monsters called Zenorc are attacking us. Please hunt 30 Zenorc."; + case 16: callsub L_Quest,12087,"Be prepared! It is a cruel mission! Hunt 15 Mummies!! I tried once, but I couldn't succeed. It is too scary!"; + } + end; + } + setarray .@Exp[0],9600,7200,15750,7875,11100,8550,17100,9000,12300,9900,20250,10350,13800,11025,22500,11250; + for(set .@i,0; .@i<16; set .@i,.@i+1) + if (checkquest(12072+.@i,HUNTING) == 2) { + mes "[Mission Board]"; + mes "You have completed the mission."; + mes "Here is your reward."; + erasequest 12088; + erasequest 12072+.@i; + specialeffect2 EF_STEAL; + getexp .@Exp[.@i],0; + close; + } + if ((checkquest(12072,HUNTING) == 0) && (checkquest(12073,HUNTING) == 0) && (checkquest(12074,HUNTING) == 0) && (checkquest(12075,HUNTING) == 0) && (checkquest(12076,HUNTING) == 0) && (checkquest(12077,HUNTING) == 0) && (checkquest(12078,HUNTING) == 0) && (checkquest(12079,HUNTING) == 0) && (checkquest(12080,HUNTING) == 0) && (checkquest(12081,HUNTING) == 0) && (checkquest(12082,HUNTING) == 0) && (checkquest(12083,HUNTING) == 0) && (checkquest(12084,HUNTING) == 0) && (checkquest(12085,HUNTING) == 0) && (checkquest(12086,HUNTING) == 0) && (checkquest(12087,HUNTING) == 0)) { + mes "You may now view the bulletin board."; + erasequest 12088; + close; + } + mes "There is nothing special to do."; + close; +L_Quest: + mes "[Mission Board Memo]"; + mes getarg(1); + next; + if(select("Accept the mission.:Cancel.") == 1) { + mes "[Mission Board]"; + mes "You have accepted the mission. For more details, please press 'alt + u' keys, you can get information from the Quest Window."; + setquest 12088; + setquest getarg(0); + } + close; +} diff --git a/npc/re/quests/eden/56-70.txt b/npc/re/quests/eden/56-70.txt new file mode 100644 index 000000000..79a6af3ec --- /dev/null +++ b/npc/re/quests/eden/56-70.txt @@ -0,0 +1,1089 @@ +//===== rAthena Script ======================================= +//= Eden Group Quests - Mission [56 - 70] +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Repetable Quests for Players between Baselevel 56 - 70. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Some little optimization here and there. [Masao] +//= 1.2 Added checkquest confirmation for -1. [Euphy] +//= 1.3 Fixed Puppet Master's Agony Quest (12217 -> 3259). [Joseph] +//= 1.4 Fixed invalid check (Magic Wand Quest). [Joseph] +//============================================================ + +moc_para01,42,38,3 script Mission [56 - 70] 857,{ + if (checkquest(12217) > -1) erasequest 12217; + if (countitem(6219)) { + mes "Here is the list of various adventures for level 55~70 adventurers."; + next; + mes "Lots of missions such as a Monster Hunting, Delivery Goods, Finding People."; + next; + switch (select("Mission Numbers 1~5:Mission Numbers 6~10:Mission Numbers 11~15")) { + case 1: + switch (select("What is this Bandage?:Dangerous Alligators.:That wasn't a mermaid...:My country is calling me!")) { + case 1: + if (checkquest(3250) <= 0) { + mes "This mission is assigned by the Rekenber corporation from Lighthalzen. Below are the details."; + next; + mes "Rekenber corporation is about to launch a new project called 'Green Medical Center'. For the first product of the project, we are preparing well-being Bandages."; + next; + mes "Regarding the project, we need to research monster's reactions when they are wrapped with Rotten Bandages."; + next; + mes "If you are interested, please hunt 30 Mummies and bring 30 Rotten Bandages. You can find them in the Pyramid West of Morroc."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "- Rekenber corporation chief director 'Julie E Delph' -"; + next; + mes " "; + next; + mes "Would you like to accept this mission?"; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3250; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + if (checkquest(3250,HUNTING) == 1) { + mes "You have an on-going mission. Would you like to check the details?"; + next; + switch (select("Check the details.:Cancel.")) { + case 1: + mes "This mission is assigned by the Rekenber corporation from Lighthalzen. Below are the details."; + next; + mes "Rekenber corporation is about to launch a new project called 'Green Medical Center'. For the first product of the project, we are preparing well-being Bandages."; + next; + mes "Regarding the project, we need to research monster's reactions when they are wrapped with Rotten Bandages."; + next; + mes "If you are interested, please hunt 30 Mummies and bring 30 Rotten Bandages. You can find them in the Pyramid West of Morroc."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "- Rekenber corporation chief director 'Julie E Delph' -"; + close; + case 2: + close; + } + } + if ((checkquest(3250,HUNTING) == 2) && (countitem(930) > 19)) { + mes "I have done pretty well for the mission. Should I report it now?"; + next; + switch (select("Report the mission.:Do not report it yet.")) { + case 1: + delitem 930,20; //Rotten_Bandage + getexp 15000,5000; + erasequest 3250; + mes "You have completed the mission. Get rewards."; + close; + case 2: + close; + } + } + case 2: + if (checkquest(3251) <= 0) { + mes "This mission is assigned by the Comodo cooperative society. Below are the details."; + next; + mes "Alligators have gone wild these days, they attack women and drunken people who hang out near the beach."; + next; + mes "This is a very shameful situation for us, the most wonderful vacation spot in Rune-Midgard."; + next; + mes "So, it would be very helpful if you hunt 30 Alligators to clean out this situation."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes " "; + next; + mes "Would you like to accept this mission?"; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3251; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + if (checkquest(3251,HUNTING) == 1) { + mes "You have an on-going mission. Would you like to check the details?"; + next; + switch (select("Check the details.:Cancel.")) { + case 1: + mes "This mission is assigned by the Comodo cooperative society. Below are the details."; + next; + mes "Alligators have gone wild these days, they attack women and drunken people who hang out near the beach."; + next; + mes "This is a very shameful situation for us, the most wonderful vacation spot in Rune-Midgard."; + next; + mes "So, it would be very helpful if you hunt 30 Alligators to clean out this situation."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + close; + case 2: + close; + } + } + if (checkquest(3251,HUNTING) == 2) { + mes "I have done pretty well for the mission. Should I report it now?"; + next; + switch (select("Report the mission.:Do not report it yet.")) { + case 1: + getexp 16000,6000; + erasequest 3251; + mes "You have completed the mission. Get rewards."; + close; + case 2: + close; + } + } + case 3: + if (checkquest(3252) <= 0) { + mes "This mission is assigned by an unknown client from Izlude."; + next; + mes "I have admired the beach of Izlude, ever since I was born."; + next; + mes "When I was young, I found a mysterious creature in the Izlude dungeon, I had never seen something like that before..."; + next; + mes "I instantly thought it was a mermaid. I was so supprised, I have studied about mermaids in whole my life."; + next; + mes "But, as I studied harder, I found that the creature was not a mermaid... yes, It wasn't beautiful at all like other mermaids..."; + next; + mes "I finally tracked down the fact that it was a Merman, not a Mermaid!"; + next; + mes "Merman... I have wasted my life studying this monster! So please hunt 30 Mermans to make me feel better."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Izlude 'The Lost dream mermaid' --"; + next; + mes " "; + next; + mes "Would you like to accept this mission?"; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3252; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + if (checkquest(3252,HUNTING) == 1) { + mes "You have an on-going mission. Would you like to check the details?"; + next; + switch (select("Check the details.:Cancel.")) { + case 1: + mes "This mission is assigned by an unknown client from Izlude."; + next; + mes "I have admired the beach of Izlude, ever since I was born."; + next; + mes "When I was young, I found a mysterious creature in the Izlude dungeon, I had never seen something like that before."; + next; + mes "I instantly thought it was a mermaid. I was so supprised, I have studied about mermaids in whole my life."; + next; + mes "But, as I studied harder, I found that the creature was not a mermaid... yes, It wasn't beautiful at all like other mermaids..."; + next; + mes "I finally tracked down the fact that it was a Merman, not a Mermaid!"; + next; + mes " Merman... I have wasted my life studying this monster! So please hunt 30 Mermans to make me feel better."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Izlude 'The Lost dream mermaid' --"; + close; + case 2: + close; + } + } + if (checkquest(3252,HUNTING) == 2) { + mes "I have done pretty well for the mission. Should I report it now?"; + next; + switch (select("Report the mission.:Do not report it yet.")) { + case 1: + getexp 17000,8000; + erasequest 3252; + mes "You have completed the mission. Get rewards."; + close; + case 2: + close; + } + } + case 4: + if (checkquest(3254) <= 0) { + mes "This mission is assigned by the government officer of the Rune-Midgarts Kingdom."; + next; + mes "To prevent a flood in Prontera, we decided to build a huge dam to regulate the water supply."; + next; + mes "But, we are shorthanded on supplies and we need to collect Fine Sand and Grit."; + next; + mes "So, we would like to ask for help. People, please bring us 10 Fine Sand and 30 Grit each so we can build the dam."; + next; + mes "You can get those materials from Sand Man, I wish you good luck!"; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Government officer of the Rune-Midgarts Kingdom, Dufre Kent --"; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3254; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + if ((checkquest(3254) == 1) && (countitem(7043) < 10) && (countitem(1056) < 30)) { + mes "You have an on-going mission. Would you like to check the details?"; + next; + switch (select("Check the details.:Cancel.")) { + case 1: + mes "This mission is assigned by the government officer of the Rune-Midgarts Kingdom."; + next; + mes "To prevent a flood in Prontera, we decided to build a huge dam to regulate the water supply."; + next; + mes "But, we are shorthanded on supplies and we need to collect Fine Sand and Grit."; + next; + mes "So, we would like to ask for help. People, please bring us 10 Fine Sand and 30 Grit each so we can build the dam."; + next; + mes "You can get those materials from Sand Man, I wish you good luck!"; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Government officer of the Rune-Midgarts Kingdom, Dufre Kent --"; + close; + case 2: + close; + } + } + if ((checkquest(3254) == 1) && (countitem(7043) > 9) && (countitem(1056) > 29)) { + mes "I have done pretty well for the mission. Should I report it now?"; + next; + switch (select("Report the mission.:Do not report it yet.")) { + case 1: + delitem 7043,10; //Fine_Sand + delitem 1056,30; //Grit + getexp 18000,8000; + erasequest 3254; + mes "You have completed the mission. Get rewards."; + close; + case 2: + close; + } + } + if (checkquest(3254) == 2) { + mes "This mission is assigned by the government officer of the Rune-Midgarts Kingdom."; + next; + mes "To prevent a flood in Prontera, we decided to build a huge dam to regulate the water supply."; + next; + mes "But, we are shorthanded on supplies and we need to collect Fine Sand and Grit."; + next; + mes "So, we would like to ask for help. People, please bring us 10 Fine Sand and 30 Grit each so we can build the dam."; + next; + mes "You can get those materials from Sand Man, I wish you good luck!"; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Government officer of the Rune-Midgarts Kingdom, Dufre Kent --"; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3254; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + close; + } + case 2: + switch (select("Hunt Wild Boar:Preparing the Summer:A Woman's Grudge:Special ingredients:Puppet Master's Agony")) { + case 1: + if (checkquest(3255) <= 0) { + mes "This mission is assigned by the Payon town hall."; + next; + mes "Wild animals are always annoyances to farmers."; + next; + mes "They attack our farm and ruin whole crops!! We can't stand it anymore!"; + next; + mes "So, we would like to ask for the help from brave adventurers."; + next; + mes "Please, hunt 30 Savages to save our crops!"; + next; + mes "You can easily find those monsters around our town and field."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Payon town hall members --"; + next; + mes " "; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3255; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + if (checkquest(3255,HUNTING) == 1) { + mes "You have an on-going mission. Would you like to check the details?"; + next; + switch (select("Check the details.:Cancel.")) { + case 1: + mes "This mission is assigned by the Payon town hall."; + next; + mes "Wild animals are always an annoyance to farmers."; + next; + mes "They attack our farm and ruin whole crops!! We can't stand it anymore!"; + next; + mes "So, we would like to ask for the help from brave adventurers."; + next; + mes "Please, hunt 30 Savages to save our crops!"; + next; + mes "You can easily find those monsters around our town and field."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Payon town hall members --"; + close; + case 2: + close; + } + } + if (checkquest(3255,HUNTING) == 2) { + mes "I have done pretty well for the mission. Should I report it now?"; + next; + switch (select("Report the mission.:Do not report it yet.")) { + case 1: + getexp 16000,7000; + erasequest 3255; + mes "You have completed the mission. Get rewards."; + close; + case 2: + close; + } + } + case 2: + if (checkquest(3256) <= 0) { + mes "This mission is assigned by the Morroc blacksmith Aragham."; + next; + mes "Hello~~~~, Adventurers! This is Aragham, the hottest blacksmith in Morroc!"; + next; + mes "Anyway, I have a son named Aragam Junior, the cute one. Haha."; + next; + mes "He will be attending summer camp this summer, but he doesn't know how to swim."; + next; + mes "I want to teach him, but as you know I am a blacksmith, a far cry from swimming! Hehe."; + next; + mes "But, I figured that if I make swim fins, it will be great for his confidence~!"; + next; + mes "To make it, I need 30 Sticky Webfoots from a Roda Frog. Can you bring them to me?"; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "PS. Do not compare me with Hollgrehenn or Antonio!!!!"; + next; + mes "-- The hottest blacksmith, Morroc blacksmith Aragham --"; + next; + mes " "; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3256; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + if ((checkquest(3256) == 1) && (countitem(918) < 30)) { + mes "You have an on-going mission. Would you like to check the details?"; + next; + switch (select("Check the details.:Cancel.")) { + case 1: + mes "This mission is assigned by the Morroc blacksmith Aragham."; + next; + mes "Hello~~~~, Adventurers! This is Aragham, the hottest blacksmith in Morroc!"; + next; + mes "Anyway, I have a son named Aragam Junior, the cute one. Haha."; + next; + mes "He will be attending summer camp this summer, but he doesn't know how to swim."; + next; + mes "I want to teach him, but as you know I am a blacksmith, a far cry from swimming! Hehe."; + next; + mes "But, I figured that if I make swim fins, it will be great for his confidence~!"; + next; + mes "To make it, I need 30 Sticky Webfoots from a Roda Frog. Can you bring them to me?"; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "PS. Do not compare me with Hollgrehenn or Antonio!!!!"; + next; + mes "-- The hottest blacksmith, Morroc blacksmith Aragham --"; + close; + case 2: + close; + } + } + if ((checkquest(3256) == 1) && (countitem(918) > 29)) { + mes "I have done pretty well for the mission. Should I report it now?"; + next; + switch (select("Report the mission.:Do not report it yet.")) { + case 1: + delitem 918,30; //Sticky_Webfoot + getexp 15000,5000; + erasequest 3256; + mes "You have completed the mission. Get rewards."; + close; + case 2: + close; + } + } + if (checkquest(3256) == 2) { + mes "This mission is assigned by the Morroc blacksmith Aragham."; + next; + mes "Hello~~~~, Adventurers! This is Aragham, the hottest blacksmith in Morroc!"; + next; + mes "Anyway, I have a son named Aragam Junior, the cute one. Haha."; + next; + mes "He will be attending summer camp this summer, but he doesn't know how to swim."; + next; + mes "I want to teach him, but as you know I am a blacksmith, a far cry from swimming! Hehe."; + next; + mes "But, I figured that if I make swim fins, it will be great for his confidence~!"; + next; + mes "To make it, I need 30 Sticky Webfoots from a Roda Frog. Can you bring them to me?"; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "PS. Do not compare me with Hollgrehenn or Antonio!!!!"; + next; + mes "-- The hottest blacksmith, Morroc blacksmith Aragham --"; + next; + mes " "; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3256; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + close; + case 3: + if (checkquest(3257) <= 0) { + mes "This mission is assigned by an inventor Dorian from Izlude."; + next; + mes "Have you heard the story that if women have a grudge on their mind, it will bring natural disasters."; + next; + mes "Wow, so guys must watch out for those sensitive women! Make sure they don't have any grudges on you."; + next; + mes "Women can bring strange phenomenons with them!"; + next; + mes "I am so intrigued with that story that I'm trying to prove that it can be true."; + next; + mes "So I need to make women upset! Haha, I know what a mean idea, right?"; + next; + mes "But this is seriously just for studying... So please hunt 30 Sohee's who seems to be revived from victimized souls."; + next; + mes "So I can keep observing the case."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Elegance inventor Dorian --"; + next; + mes " "; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3257; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + if (checkquest(3257,HUNTING) == 1) { + mes "You have an on-going mission. Would you like to check the details?"; + next; + switch (select("Check the details.:Cancel.")) { + case 1: + mes "This mission is assigned by an inventor Dorian from Izlude."; + next; + mes "Have you heard the story that if women have a grudge on their mind, it will bring natural disasters."; + next; + mes "Wow, so guys must watch out for those sensitive women! Make sure they don't have any grudges on you."; + next; + mes "Women can bring strange phenomenons with them!"; + next; + mes "I am so intrigued with that story that I'm trying to prove that it can be true."; + next; + mes "So I need to make women upset! Haha, I know what a mean idea, right?"; + next; + mes "But this is seriously just for studying... So please hunt 30 Sohee's who seems to be revived from victimized souls."; + next; + mes "So I can keep observing the case."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Elegance inventor Dorian --"; + close; + case 2: + close; + } + } + if (checkquest(3257,HUNTING) == 2) { + mes "I have done pretty well for the mission. Should I report it now?"; + next; + switch (select("Report the mission.:Do not report it yet.")) { + case 1: + getexp 17000,8000; + erasequest 3257; + mes "You have completed the mission. Get rewards."; + close; + case 2: + close; + } + } + case 4: + if (checkquest(3258) <= 0) { + mes "This mission is assigned by Wallah from Payon."; + next; + mes "Hello, adventurer. How are you? How is your health?"; + next; + mes "I am a pharmacist and I am having a hard time getting special ingredients lately."; + next; + mes "Because I am a little sensitive girl, how can I possibly get those things by myself."; + next; + mes "So, please help me. Just bring 40 Huge Leafs to me, that will be enough to complete my special medicine!"; + next; + mes "Please bring it as soon as possible, people need my medicine."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Wallah --"; + next; + mes " "; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3258; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + if ((checkquest(3258) == 1) && (countitem(7198) < 40)) { + mes "You have an on-going mission. Would you like to check the details?"; + next; + switch (select("Check the details.:Cancel.")) { + case 1: + mes "This mission is assigned by Wallah from Payon."; + next; + mes "Hello, adventurer. How are you? How is your health?"; + next; + mes "I am a pharmacist and I am having a hard time getting special ingredients lately."; + next; + mes "Because I am a little sensitive girl, how can I possibly get those things by myself."; + next; + mes "So, please help me. Just bring 40 Huge Leafs to me, that will be enough to complete my special medicine!"; + next; + mes "Please bring it as soon as possible, people need my medicine."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Wallah --"; + close; + case 2: + close; + } + } + if ((checkquest(3258) == 1) && (countitem(7198) > 39)) { + mes "I have done pretty well for the mission. Should I report it now?"; + next; + switch (select("Report the mission.:Do not report it yet.")) { + case 1: + delitem 7198,40; //Great_Leaf + getexp 16000,7000; + erasequest 3258; + mes "You have completed the mission. Get rewards."; + close; + case 2: + close; + } + } + if (checkquest(3258) == 2) { + mes "This mission is assigned by Wallah from Payon."; + next; + mes "Hello, adventurer. How are you? How is your health?"; + next; + mes "I am a pharmacist and I am having a hard time getting special ingredients lately."; + next; + mes "Because I am a little sensitive girl, how can I possibly get those things by myself."; + next; + mes "So, please help me. Just bring 40 Huge Leafs to me, that will be enough to complete my special medicine!"; + next; + mes "Please bring it as soon as possible, people need my medicine."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Wallah --"; + next; + mes " "; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3258; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + close; + case 5: + if (checkquest(3259) <= 0) { + mes "This mission is assigned by puppet master Woonute from Geffen."; + next; + mes "You know being a puppet master is kind of a hard job to satisfy people."; + next; + mes "People can search and see so many different things on their own thesedays."; + next; + mes "Their expectations are getting high, I can't satisfy them anymore."; + next; + mes "But if I can make new toy concepts, like living toys, it will be ground breaking."; + next; + mes "I heard that there are live dolls called Marionettes. Can you hunt 30 Marionettes for me? And also bring 30 Golden Hair, those will be great materials for the new toys."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Puppet Master Woonute --"; + next; + mes " "; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3259; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + if ((checkquest(3259,HUNTING) == 1) && (countitem(1060) < 30)) { + mes "You have an on-going mission. Would you like to check the details?"; + next; + switch (select("Check the details.:Cancel.")) { + case 1: + mes "This mission is assigned by puppet master Woonute from Geffen."; + next; + mes "You know being a puppet master is kind of a hard job to satisfy people."; + next; + mes "People can search and see so many different things on their own thesedays."; + next; + mes "Their expectations are getting high, I can't satisfy them anymore."; + next; + mes "But if I can make new toy concepts, like living toys, it will be ground breaking."; + next; + mes "I heard that there are live dolls called Marionettes. Can you hunt 30 Marionettes for me? And also bring 30 Golden Hair, those will be great materials for the new toys."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Puppet Master Woonute --"; + close; + case 2: + close; + } + } + if ((checkquest(3259,HUNTING) == 2) && (countitem(1060) > 29)) { + mes "I have done pretty well for the mission. Should I report it now?"; + next; + switch (select("Report the mission.:Do not report it yet.")) { + case 1: + delitem 1060,30; //Golden_Hair + getexp 17000,7000; + erasequest 3259; + mes "You have completed the mission. Get rewards."; + close; + case 2: + close; + } + } + } + case 3: + switch (select("Tiresome Flies:Dangerous Munak:Make the World green:Magic Wand")) { + case 1: + if (checkquest(3260) <= 0) { + mes "This mission is assigned by an exterminator from Prontera."; + next; + mes "As the weather gets warmer, insects multiply more and more. It is already out of control."; + next; + mes "People in Prontera cannot sleep because of all the bugs in their house."; + next; + mes "So, please help us, hunt 30 Hunter Flies. Then the flies can be reduced slowly."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- The Prontera exterminator --"; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3260; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + if (checkquest(3260,HUNTING) == 1) { + mes "You have an on-going mission. Would you like to check the details?"; + next; + switch (select("Check the details.:Cancel.")) { + case 1: + mes "This mission is assigned by an exterminator from Prontera."; + next; + mes "As the weather gets warmer, insects multiply more and more. It is already out of control."; + next; + mes "People in Prontera cannot sleep because of all the bugs in their house."; + next; + mes "So, please help us, hunt 30 Hunter Flies. Then the flies can be reduced slowly."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- The Prontera exterminator --"; + close; + case 2: + close; + } + } + if (checkquest(3260,HUNTING) == 2) { + mes "I have done pretty well for the mission. Should I report it now?"; + next; + switch (select("Report the mission.:Do not report it yet.")) { + case 1: + getexp 16000,6000; + erasequest 3260; + mes "You have completed the mission. Get rewards."; + close; + case 2: + close; + } + } + case 2: + if (checkquest(3261) <= 0) { + mes "This mission is assigned by Cheese Dongja from Payon."; + next; + mes "Have you heard about Munak?"; + next; + mes "The ugly monster Munak is threatening people in Payon."; + next; + mes "So we need brave adventurers like you!"; + next; + mes "Please hunt 30 Munaks then Payon will be in peace."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "- Payon Cheese Dongja -"; + next; + mes " "; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3261; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + if (checkquest(3261,HUNTING) == 1) { + mes "You have an on-going mission. Would you like to check the details?"; + next; + switch (select("Check the details.:Cancel.")) { + case 1: + mes "This mission is assigned by Cheese Dongja from Payon."; + next; + mes "Have you heard about Munak?"; + next; + mes "The ugly monster Munak is threatening people in Payon."; + next; + mes "So we need brave adventurers like you!"; + next; + mes "Please hunt 30 Munaks then Payon will be in peace."; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "- Payon Cheese Dongja -"; + close; + case 2: + close; + } + } + if (checkquest(3261,HUNTING) == 2) { + mes "I have done pretty well for the mission. Should I report it now?"; + next; + switch (select("Report the mission.:Do not report it yet.")) { + case 1: + getexp 16000,7000; + erasequest 3261; + mes "You have completed the mission. Get rewards."; + close; + case 2: + close; + } + } + case 3: + if (checkquest(3262) <= 0) { + mes "This mission is assigned by a gem dealer, Ibraham from Morroc."; + next; + mes "A small beautiful flower in the barren desert... What an incredible scene it would be!"; + next; + mes "Planting flowers can make the world green and it will be so pretty everywhere."; + next; + mes "I plan to plant strong flowers in the Morroc desert so the soil gets better."; + next; + mes "I need 40 Maneater Blossom from Flora, I know Maneater Blossom is an ugly flower, but still it is a plant."; + next; + mes "I hope you can hunt Flora and get me 40 Maneater Blossoms. You are making the world green! Be proud!"; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Morroc Ibraham --"; + next; + mes " "; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3262; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + if ((checkquest(3262) == 1) && (countitem(1032) < 40)) { + mes "You have an on-going mission. Would you like to check the details?"; + next; + switch (select("Check the details.:Cancel.")) { + case 1: + mes "This mission is assigned by a gem dealer, Ibraham from Morroc."; + next; + mes "A small beautiful flower in the barren desert... What an incredible scene it would be!"; + next; + mes "Planting flowers can make the world green and it will be so pretty everywhere."; + next; + mes "I plan to plant strong flowers in the Morroc desert so the soil gets better."; + next; + mes "I need 40 Maneater Blossom from Flora, I know Maneater Blossom is an ugly flower, but still it is a plant."; + next; + mes "I hope you can hunt Flora and get me 40 Maneater Blossoms. You are making the world green! Be proud!"; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Morroc Ibraham --"; + close; + case 2: + close; + } + } + if ((checkquest(3262) == 1) && (countitem(1032) > 39)) { + mes "I have done pretty well for the mission. Should I report it now?"; + next; + switch (select("Report the mission.:Do not report it yet.")) { + case 1: + delitem 1032,40; //Blossom_Of_Maneater + getexp 17000,7000; + erasequest 3262; + mes "You have completed the mission. Get rewards."; + close; + case 2: + close; + } + } + case 4: + if (checkquest(3263) <= 0) { + mes "This mission is assigned by the Payon blacksmith Antonio."; + next; + mes "Magic wand! Have you heard about it? It is an incredible wand!"; + next; + mes "If you say the magic words and swing the wand, it will make your wishes come true."; + next; + mes "So, I decided to make it by myself. Then I will be rich and powerful~! Haha!!"; + next; + mes "To make the wand, I need some special materials."; + next; + mes "Please bring me 30 Dokebi Horns and 30 Bamboo Cut. If you do so, I will lend you my magic wand once. Haha, good deal?"; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Payon blacksmith Antonio --"; + next; + mes " "; + next; + switch (select("Accept the mission.:Do not accept the mission.")) { + case 1: + if ((BaseLevel > 54) && (BaseLevel < 71)) { + setquest 3263; + mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission."; + next; + mes "This mission doesn't have time limits."; + close; + } + mes "These missions are not fit for my level. I should look for other missions."; + close; + case 2: + close; + } + } + if ((checkquest(3263) == 1) && ((countitem(1021) < 30) || (countitem(7150) < 30))) { + mes "You have an on-going mission. Would you like to check the details?"; + next; + switch (select("Check the details.:Cancel.")) { + case 1: + mes "This mission is assigned by the Payon blacksmith Antonio."; + next; + mes "Magic wand! Have you heard about it? It is an incredible wand!"; + next; + mes "If you say the magic words and swing the wand, it will make your wishes come true."; + next; + mes "So, I decided to make it by myself. Then I will be rich and powerful~! Haha!!"; + next; + mes "To make the wand, I need some special materials."; + next; + mes "Please bring me 30 Dokebi Horns and 30 Bamboo Cut. If you do so, I will lend you my magic wand once. Haha, good deal?"; + next; + mes "Please confirm it to us after you complete the mission, then we will give you proper rewards."; + next; + mes "-- Payon blacksmith Antonio --"; + close; + case 2: + close; + } + } + if ((checkquest(3263) == 1) && (countitem(1021) > 29) && (countitem(7150) > 29)) { + mes "I have done pretty well for the mission. Should I report it now?"; + next; + switch (select("Report the mission.:Do not report it yet.")) { + case 1: + delitem 1021,30; //Dokkaebi_Horn + delitem 7150,30; //Bamboo_Cut + getexp 18000,8000; + erasequest 3263; + mes "You have completed the mission. Get rewards."; + close; + case 2: + close; + } + } + } + } + } + mes "To get these missions, I need to Join the Eden Group first. I must find Secretary Lime Evenor and become a member."; + close; +} diff --git a/npc/re/quests/eden/71-85.txt b/npc/re/quests/eden/71-85.txt new file mode 100644 index 000000000..e1f9b17a9 --- /dev/null +++ b/npc/re/quests/eden/71-85.txt @@ -0,0 +1,606 @@ +//===== rAthena Script ======================================= +//= Eden Group Quests - Mission [71 - 85] +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Repetable Quests for Players between Baselevel 71 - 85. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Some little optimization here and there. [Masao] +//= 1.2 Optimized. [Euphy] +//============================================================ + +moc_para01,44,38,3 script Mission [71 - 85] 857,{ + if (countitem(6219) < 1) { + mes "- Only members of the -"; + mes "- Eden Group can read -"; + mes "- this bulletin board. -"; + close; + } + mes "- Many hunting missions -"; + mes "- are on the bulletin board. -"; + next; + if ((BaseLevel > 70) && (BaseLevel < 86)) { + switch (select("Sphinx Dungeon:Glast Heim:Juno Area:Clock Tower:Localized Islands")) { + case 1: + mes "- Sphinx Dungeon -"; + mes "- I am Meidi who lives -"; + mes "- in Morocc. I want to hunt -"; + mes "- monsters in the Sphinx -"; + mes "- Dungeon. I will wait for -"; + mes "- you in front of the -"; + mes "- western gate. -"; + callsub L_Quest,10102,1; + mes "- Good. Now go find Meidi -"; + mes "- at the western gate -"; + mes "- in Morroc. -"; + close; + case 2: + mes "- Glast Heim -"; + mes "- I am Ancellia. -"; + mes "- I need some help -"; + mes "- hunting monsters -"; + mes "- in Glast Heim.-"; + mes "- Please help me. -"; + callsub L_Quest,10103,2; + mes "- Look for Ancellia. -"; + mes "- in Geffen. -"; + close; + case 3: + mes "- Juno Area -"; + mes "- I want to go to Juno, -"; + mes "- but the monsters on -"; + mes "- the way there are too -"; + mes "- strong for me. Come -"; + mes "- visit me in Al De Baran. -"; + mes "- My name is Jeanbai. -"; + callsub L_Quest,10104,3; + mes "- Look for Jeanbai -"; + mes "- in Al De Baran. -"; + close; + case 4: + mes "- Clock Tower -"; + mes "- A Clock is the best thing! -"; + mes "- I'm asking you to hunt -"; + mes "- some monster inside of.-"; + mes "- the Clock Tower, -"; + mes "- Risingeter. -"; + callsub L_Quest,10105,4; + mes "- Look for Risingeter -"; + mes "- in front of the -"; + mes "- Clock Tower. -"; + close; + case 5: + mes "- Localized Islands -"; + mes "- I need someone who -"; + mes "- can hunt monsters -"; + mes "- for Funfi in Alberta. -"; + callsub L_Quest,10106,5; + mes "- Loof for Funfi -"; + mes "- in Alberta. -"; + close; + } + } + mes "- Only members of the -"; + mes "- right level can read -"; + mes "- this bulletin board. -"; + mes "- Try to find a board -"; + mes "- that suits your level. -"; + close; +L_Quest: + next; + if(select("Accept mission.:Decline mission.") == 2) { + mes "- I don't want to do -"; + mes "- a mission right now. -"; + close; + } + if (slv_quest && slv_quest != getarg(1)) { + mes "- You are already on -"; + mes "- another mission. -"; + mes "- You can't do multiple -"; + mes "- missions. Finish your -"; + mes "- current mission first. -"; + close; + } + if (checkquest(getarg(0)) <= 0) { + setquest getarg(0); + set slv_quest,getarg(1); + return; + } + mes "- You are already on -"; + mes "- or have recently -"; + mes "- completed a mission. -"; + mes "- You can't do anymore -"; + mes "- missions right now. -"; + close; +} + +morocc,35,174,5 script Meidi 729,{ + + if ((checkquest(10107) == 2) && (checkquest(10108) == 2) && (checkquest(10109) == 2) && (slv_quest == 6)) { + set slv_quest,0; + mes "[Meidi]"; + mes "You have completed the hunting missions."; + mes "I don't have anymore missions for you."; + mes "Thanks, you did a great job!"; + close; + } + if (checkquest(10107) == 1 || checkquest(10108) == 1 || checkquest(10109) == 1) { + mes "[Meidi]"; + mes "Wow! How did you come back so fast?"; + mes "What monster did you hunt?"; + next; + setarray .@monsters$[0],"Requiem","Marduk","Pasana"; + set .@i, select(implode(.@monsters$,":"))-1; + if (checkquest(10107+.@i,HUNTING) == 2) { + mes "[Meidi]"; + mes "You've hunted all 10 "+.@monsters$[.@i]+"."; + mes "Thank you very much."; + next; + mes "[Meidi]"; + mes "I know it isn't much but here's a small gift."; + mes "I hope that it will be helpful to you."; + next; + completequest 10107+.@i; + getexp 48000,0; + mes "[Meidi]"; + mes "Wooohoo!"; + mes "Good luck."; + close; + } + mes "[Meidi]"; + mes "You didn't hunt 10 "+.@monsters$[.@i]+" yet."; + mes "You should make sure that you hunt all of them."; + mes "Can you check again?"; + close; + } + if (slv_quest == 6) { + mes "[Meidi]"; + mes "Sphinx Dungeon... many adventurers came back with great injuries."; + mes "That place is very dangerous."; + mes "Someone should go inside an make it safer for everyone."; + mes "Hopefully, very soon!"; + close; + } + mes "[Meidi]"; + mes "Sphinx Dungeon... many adventurers came back with great injuries."; + mes "That place is very dangerous."; + mes "Someone should go inside an make it safer for everyone."; + mes "Hopefully, very soon!"; + if (slv_quest == 1) { + next; + mes "[Meidi]"; + mes "Oh! Are you from the Eden Group?"; + mes "Are you here for my mission?"; + mes "You came right on time."; + mes "I was worried that noone would accept the mission that I posted."; + next; + mes "[Meidi]"; + mes "So, I need help hunting 3 monsters"; + mes "inside of the Sphinx Dungeon."; + mes "Got it? Its too dangerous for me so that's why I posted the mission."; + next; + mes "[Meidi]"; + mes "Requiem, Marduk and Pasana..."; + mes "I heard they are very dangerous monsters."; + mes "Can you hunt 10 of those monsters?"; + mes "10 of each sounds good enough, right?"; + next; + mes "[Meidi]"; + mes "If you succeed, I will give you a small reward for your help."; + next; + switch (select("Accept mission.:Decline mission.")) { + case 1: + mes "[Meidi]"; + mes "Oh. Thank you so much."; + mes "How can I pay you backf or your effort?"; + mes "May Freya bless you~"; + next; + completequest 10102; + setquest 10107; + setquest 10108; + setquest 10109; + set slv_quest,6; + mes "[Meidi]"; + mes "Requiem, Marduk and Pasana."; + mes "Don't forget and good luck."; + close; + case 2: + set slv_quest,0; + erasequest 10102; + mes "[Meidi]"; + mes "I see. There is no other way."; + mes "I will send a message to the Eden Group."; + mes "Don't worry and nevermind."; + close; + } + } + close; +} + +geffen,146,132,3 script Ancellia 906,{ + if ((checkquest(10110 == 2)) && (checkquest(10111) == 2) && (checkquest(10112) == 2) && (checkquest(10113) == 2) && (slv_quest == 6)) { + set slv_quest,0; + mes "[Ancellia]"; + mes "Wow. You've finished all"; + mes "of my missions. Great!"; + mes "You are of great help."; + mes "I will inform the Eden Group of your assistance."; + mes "You can go back, don't worry."; + close; + } + if (checkquest(10110) == 1 || checkquest(10111) == 1 || checkquest(10112) == 1 || checkquest(10113) == 1) { + mes "[Ancellia]"; + mes "You seem to have hunted all of the monsters."; + mes "What monster have you hunted?"; + mes "Do you remember its name?"; + next; + setarray .@monsters$[0],"Dark Frame","Evil Druid","Wraith","Raydric Archer"; + set .@i, select(implode(.@monsters$,":"))-1; + if (checkquest(10110+.@i,HUNTING) == 2) { + mes "[Ancellia]"; + mes "Ah, you've hunted 10 "+.@monsters$[.@i]+"s."; + mes "That was pretty difficult!"; + mes "Thank you very much."; + next; + completequest 10110+.@i; + getexp 48000,0; + mes "[Ancellia]"; + mes "Perhaps you can hunt the rest as well."; + mes "I will wait for you here."; + close; + } + mes "[Ancellia]"; + mes "Hmm... maybe you were confused."; + mes "You didn't hunt all 10 "+.@monsters$[.@i]+"."; + mes "Can you check again?"; + close; + } + if (slv_quest == 6) { + mes "[Ancellia]"; + mes "Go to Glast Heim and kill"; + mes "Dark Frames, Evil Druids,"; + mes "Wraith and Raydric Archers."; + mes "10 of each should do just fine."; + close; + } + mes "[Ancellia]"; + mes "Glast Heim is very far away."; + mes "I heared that the castle was cursed by the ancient King of Prontera."; + mes "There is a another story."; + next; + mes "[Ancellia]"; + mes "One day the came out of the castle and attacked a nearby village, it was terrible."; + mes "That's why I can't stop worrying."; + if (slv_quest == 2) { + next; + mes "[Ancellia]"; + mes "Oh, you got my mission"; + mes "from the Eden Group. Great~!"; + mes "Thank you very much."; + next; + mes "[Ancellia]"; + mes "I already explained."; + mes "So I expect you understand."; + mes "You need to hurry hunting"; + mes "Dark Frames, Evil Druids,"; + mes "Wraith and Raydric Archesr."; + next; + mes "[Ancellia]"; + mes "You should hunt them all."; + mes "These are dangerous monsters so please take care of yourself."; + next; + switch (select("Accept mission.:Decline mission.")) { + case 1: + mes "[Ancellia]"; + mes "Thanks a lot."; + mes "Be careful when you hunt these monsters. Good luck."; + next; + completequest 10103; + setquest 10110; + setquest 10111; + setquest 10112; + setquest 10113; + set slv_quest,6; + mes "[Ancellia]"; + mes "Remember, Dark Frames,"; + mes "Evil Druids, Wraiths"; + mes "and Raydric Archers."; + close; + case 2: + set slv_quest,0; + erasequest 10103; + mes "[Ancellia]"; + mes "Was the mission too hard?"; + mes "I guess I'll just have to wait for someone else from the Eden Group to help me."; + close; + } + } + close; +} + +aldebaran,144,230,3 script Jeanbai 900,{ + if ((checkquest(10114) == 2) && (checkquest(10115) == 2) && (checkquest(10116) == 2) && (checkquest(10117) == 2) && (slv_quest == 6)) { + set slv_quest,0; + mes "[Jeanbai]"; + mes "You've hunted all of the monsters."; + mes "I will inform the Eden Group."; + mes "Thank you."; + close; + } + if (checkquest(10114) == 1 || checkquest(10115) == 1 || checkquest(10116) == 1 || checkquest(10117) == 1) { + mes "[Jeanbai]"; + mes "Huh? So... fast..."; + mes "You amaze me!"; + mes "So what monster did you hunt?"; + next; + setarray .@monsters$[0],"Grand Peco","Sleeper","Goat","Harpy"; + set .@i, select(implode(.@monsters$,":"))-1; + if (checkquest(10114+.@i,HUNTING) == 2) { + mes "[Jeanbai]"; + mes "You've hunted 20 "+.@monsters$[.@i]+"s. Perfect!"; + mes "Thanks a lot."; + next; + completequest 10114+.@i; + getexp 48000,0; + mes "[Jeanbai]"; + mes "Please hunt the others as soon as possible."; + mes "I have faith in you!"; + close; + } + mes "[Jeanbai]"; + mes "What? Maybe you were confused."; + mes "You haven't hunted all 20 "+.@monsters$[.@i]+"s."; + mes "Please check again."; + close; + } + if (slv_quest == 6) { + mes "[Jeanbai]"; + mes "Grand Pecos, Sleepers, Goats"; + mes "and Harpies. Hunt 20 of each."; + mes "When you're finished hunting, come back to me."; + mes "I hope you finish as soon as you can."; + close; + } + mes "[Jeanbai]"; + mes "I am traveler Jeanbai."; + mes "As I said I'm a traveler not a adventurer so, I am not good at fighting."; + mes "That's why I can't travel all over the world."; + next; + mes "[Jeanbai]"; + mes "Monsters are increasing in numbers so travelers like me have a hard time getting around."; + mes "I wish I could travel around without having to worry about that."; + if (slv_quest == 3) { + next; + mes "[Jeanbai]"; + mes "Oh, did you get my mission from the Eden Group?"; + mes "Great~! We don't have a lot of time."; + mes "Let me explain."; + next; + mes "[Jeanbai]"; + mes "The monsters around Juno,"; + mes "Grand Pecos, Sleepers, Goats"; + mes "and Harpies. Please hunt 20 of them."; + mes "I've been hesitating to visit Juno because of those monsters around there."; + next; + mes "[Jeanbai]"; + mes "Will you accept this mission?"; + mes "I hope you are the right person for the job."; + mes "So what do you say?"; + next; + switch (select("Accept mission.:Decline mission.")) { + case 1: + mes "[Jeanbai]"; + mes "Great!"; + mes "You won't regret it."; + next; + completequest 10104; + setquest 10114; + setquest 10115; + setquest 10116; + setquest 10117; + set slv_quest,6; + mes "[Jeanbai]"; + mes "When you're finished hunting, come back to me."; + mes "I hope you finish as soon as you can."; + close; + case 2: + set slv_quest,0; + erasequest 10104; + mes "[Jeanbai]"; + mes "Too bad. I'm disappointed."; + mes "I should inform the Eden Group again."; + mes "I see, nevermind."; + close; + } + } + close; +} + +aldebaran,105,116,3 script Risingeter 869,{ + if ((checkquest(10118) == 2) && (checkquest(10119) == 2) && (checkquest(10120 == 2)) && (slv_quest == 6)) { + set slv_quest,0; + mes "[Risingeter]"; + mes "You've completed all of my missions."; + mes "Amazing~! I will inform the Eden Group."; + mes "of your assistance. Thanks again!"; + close; + } + if (checkquest(10118) == 1 || checkquest(10119) == 1 || checkquest(10120) == 1) { + mes "[Risingeter]"; + mes "Wow. Are you done?"; + mes "So fast~?! Unbelievable~"; + mes "You were the right person for this mission."; + mes "Which monster did you hunt?"; + next; + setarray .@monsters$[0],"Clock","Punk","Rideword"; + set .@i, select(implode(.@monsters$,":"))-1; + if (checkquest(10118+.@i,HUNTING) == 2) { + mes "[Risingeter]"; + mes "Good! You've hunted 15 "+.@monsters$[.@i]+"s."; + mes "Ah, now I can hear the clock sound clearly..."; + mes "Tic!! toc!! tic!! toc!!..."; + next; + completequest 10118+.@i; + getexp 48000,0; + mes "[Risingeter]"; + mes "Thanks a lot!"; + mes "I hope you can hunt the rest as well."; + mes "Go as soon as you can!"; + close; + } + mes "[Risingeter]"; + mes "Uh? Something is wrong."; + mes "15 "+.@monsters$[.@i]+"s, right?"; + mes "You better check how many you've hunted."; + close; + } + if (slv_quest == 6) { + mes "[Risingeter]"; + mes "Hunt 15 Clocks, Punks, and Ridewords."; + mes "Please hurry."; + close; + } + mes "[Risingeter]"; + mes "I like clocks so much."; + mes "They move with regular rhythm"; + mes "making tic toc sounds."; + mes "Ahah!! Hail to the clocks!"; + next; + mes "[Risingeter]"; + mes "That's why I like the Clock Tower so much."; + mes "It makes a really nice sound."; + mes "I like it so much!"; + if (slv_quest == 4) { + next; + mes "[Risingeter]"; + mes "Uh? Have you come to help me solve my trouble."; + mes "You already know I like clocks right?"; + mes "That's why I need your help to hunt these monsters."; + next; + mes "[Risingeter]"; + mes "There are too many monsters inside the Clock Tower."; + mes "Their presence is destroying the Clock Tower."; + next; + mes "[Risingeter]"; + mes "Anyway. Can you help me?"; + mes "Please hunt 15 Clocks, Punks and Ridewords before it breaks down."; + next; + switch (select("Accept mission.:Decline mission.")) { + case 1: + completequest 10105; + setquest 10118; + setquest 10119; + setquest 10120; + set slv_quest,6; + mes "[Risingeter]"; + mes "Ok! I expect you will do the right thing."; + mes "Hunt 15 Clocks, Punks and Ridewords."; + close; + case 2: + set slv_quest,0; + erasequest 10105; + mes "[Risingeter]"; + mes "You don't understand my love for clocks"; + mes "I will find another brave adventurer."; + mes "I will inform the Eden Group."; + close; + } + } + close; +} + +alberta,215,111,5 script Funfi 828,{ + if ((checkquest(10121) == 2) && (checkquest(10122) == 2) && (checkquest(10123) == 2) && (slv_quest == 6)) { + set slv_quest,0; + mes "[Funfi]"; + mes "Um! Thank you so much for all your efforts!"; + mes "I will inform, the Eden Group about your assistance, don't worry!"; + mes "Hahahaha..."; + close; + } + if (checkquest(10121) == 1 || checkquest(10122) == 1 || checkquest(10123) == 1) { + mes "[Funfi]"; + mes "Unbelievable~! So fast~!"; + mes "Which monster did you hunt?"; + next; + setarray .@monsters$[0],"Kikimora","Miyabi Doll","Mi Gao"; + set .@i, select(implode(.@monsters$,":"))-1; + if (checkquest(10121+.@i,HUNTING) == 2) { + mes "[Funfi]"; + mes "Ok! You've hunted 15 "+.@monsters$[.@i]+"!"; + mes "You're the best!"; + next; + completequest 10121+.@i; + getexp 48000,0; + mes "[Funfi]"; + mes "Please hunt the others as well."; + mes "I have faith in you!"; + close; + } + mes "[Funfi]"; + mes "Oh~ No no~!!"; + mes "Listen carefully! Hunt 15 "+.@monsters$[.@i]+"."; + close; + } + if (slv_quest == 6) { + mes "[Funfi]"; + mes "Moscovia's Kikimore,"; + mes "Miyabi Dolls from Amatsu"; + mes "and Mi Gaos from Louyang."; + mes "Please hunt 15 of each of those monsters."; + close; + } + mes "[Funfi]"; + mes "I am a man who wants to experience adventures. But for some reason I can't..."; + next; + mes "[Funfi]"; + mes "There are a lot of funny things in the world... Wooo!"; + if (slv_quest == 5) { + next; + mes "[Funfi]"; + mes "Anyway are you from the Eden Group?"; + mes "You are? Cool! I've been waiting for you~!"; + next; + mes "[Funfi]"; + mes "No questions! Just do it now!"; + mes "Hunt Kikimora in Moscovia,"; + mes "Miyabi Dolls in Amatsu"; + mes "and Mi Gaos in Louyang!"; + mes "Hunt 15 each of those monsters!"; + next; + mes "[Funfi]"; + mes "Please~!! haha."; + mes "Hurry up!"; + next; + switch (select("Accept mission.:Decline mission.")) { + case 1: + completequest 10106; + setquest 10121; + setquest 10122; + setquest 10123; + set slv_quest,6; + getitem 7167,10; //Mystery_Iron_Bit + mes "[Funfi]"; + mes "Ok! Good! Hurry up."; + mes "Hunt the monsters on each of those 3 islands."; + next; + mes "[Funfi]"; + mes "I will give you some materials for use in Moscovia."; + mes "Go as soon as you can!"; + close; + case 2: + set slv_quest,0; + erasequest 10106; + mes "[Funfi]"; + mes "What? You don't want to work?! Gosh!"; + mes "I will inform the Eden Group of this!"; + close; + } + } + close; +} diff --git a/npc/re/quests/eden/86-90.txt b/npc/re/quests/eden/86-90.txt new file mode 100644 index 000000000..eea07144c --- /dev/null +++ b/npc/re/quests/eden/86-90.txt @@ -0,0 +1,113 @@ +//===== rAthena Script ======================================= +//= Eden Group Quests - Mission [86 - 90] +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Repetable Quests for Players between Baselevel 86 - 90. +//===== Additional Comments: ================================= +//= 1.0 First Version. [Chilly] +//= 1.1 Some little improvements here and there. [Masao] +//= 1.2 Optimized. [Euphy] +//============================================================ + +moc_para01,48,175,3 script Mission [86 - 90] 857,{ + if (countitem(6219) < 1) { + mes "- Only members of the -"; + mes "- Eden Group can read -"; + mes "- this bulletin board. -"; + close; + } + if (BaseLevel < 86) { + mes "- This missions can only be -"; + mes "- read by those who are -"; + mes "- of the correct level. -"; + mes "- There might be another -"; + mes "- board somewhere for -"; + mes "- my level. -"; + close; + } + if (BaseLevel > 90) { + setarray .@Exp[0],76000,82000,82000,72000,76000,72000,117000,82000,120000,72000,72000,72000,86000,80000; + setarray .@Mob$[0],"Dragon Tail","Spring Rabbit","Pest","Bathory","Alarm","Baba Yaga","Hyegun","Antique Firelock","Zipper Bear","Earth Petite","Rafflesia","Venomous","Pitman","Yellow Novus"; + for(set .@i,0; .@i<14; set .@i,.@i+1) + if (checkquest(4167+.@i,HUNTING) == 2) { + mes "You hunted all 30 "+.@Mob$[.@i]+"."; + mes "Thank you very much."; + next; + mes "I know it isn't much but here's a small gift."; + mes "I hope that it helps you at least a little bit."; + next; + erasequest 4167+.@i; + getexp .@Exp[.@i],0; + mes "Wooohoo!"; + mes "Good luck."; + close; + } + mes "- This missions can only be -"; + mes "- read by those who are -"; + mes "- of the correct level. -"; + mes "- There might be another -"; + mes "- board somewhere for -"; + mes "- my level. -"; + close; + } + mes "- Many hunting missions -"; + mes "- are on the bulletin board. -"; + next; + switch(select("Turtle Dungeon Area:Clock Tower Area:Local Area:Other Area")) { + case 1: + switch(select("Dragon Tail:Spring Rabbit:Pest")) { + case 1: callsub L_Quest,4167,"Dragon Tail",76000; + case 2: callsub L_Quest,4168,"Spring Rabbit",82000; + case 3: callsub L_Quest,4169,"Pest",82000; + } + case 2: + switch(select("Bathory:Alarm")) { + case 1: callsub L_Quest,4170,"Bathory",72000; + case 2: callsub L_Quest,4171,"Alarm",76000; + } + case 3: + switch(select("Baba Yaga:Hyegun:Antique Firelock:Zipper Bear")) { + case 1: callsub L_Quest,4172,"Baba Yaga",72000; + case 2: callsub L_Quest,4173,"Hyegun",117000; + case 3: callsub L_Quest,4174,"Antique Firelock",82000; + case 4: callsub L_Quest,4175,"Zipper Bear",120000; + } + case 4: + switch(select("Earth Petite:Rafflesia:Venomous:Pitman:Yellow Novus")) { + case 1: callsub L_Quest,4176,"Earth Petite",72000; + case 2: callsub L_Quest,4177,"Rafflesia",72000; + case 3: callsub L_Quest,4178,"Venomous",72000; + case 4: callsub L_Quest,4179,"Pitman",86000; + case 5: callsub L_Quest,4180,"Yellow Novus",80000; + } + } + end; +L_Quest: + if (checkquest(getarg(0),HUNTING) == 2) { + mes "You hunted all 30 "+getarg(1)+"."; + mes "Thank you very much."; + next; + mes "I know it isn't much but here's a small gift."; + mes "I hope that it helps you at least a little bit."; + next; + erasequest getarg(0); + getexp getarg(2),0; + mes "Wooohoo!"; + mes "Good luck."; + close; + } + if (checkquest(getarg(0)) == -1) { + setquest getarg(0); + mes "Please hunt 30 "+getarg(1)+" and return here."; + close; + } + mes "Umm? You didn't hunt"; + mes "all 30 "+getarg(1)+" yet..."; + mes "Will you check again?"; + close; +} diff --git a/npc/re/quests/eden/91-99.txt b/npc/re/quests/eden/91-99.txt new file mode 100644 index 000000000..2e7e7dd28 --- /dev/null +++ b/npc/re/quests/eden/91-99.txt @@ -0,0 +1,118 @@ +//===== rAthena Script ======================================= +//= Eden Group Quests - Mission [91 - 99] +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Repetable Quests for Players between Baselevel 91 - 99. +//===== Additional Comments: ================================= +//= 1.0 First Version. [Chilly] +//= 1.1 Some little improvements here and there. [Masao] +//= 1.2 Optimized. [Euphy] +//============================================================ + +moc_para01,48,177,3 script Mission [91 - 99] 857,{ + if (countitem(6219) < 1) { + mes "- Only members of the -"; + mes "- Eden Group can read -"; + mes "- this bulletin board. -"; + close; + } + if (BaseLevel < 91) { + mes "- This missions can only be -"; + mes "- read by those who are -"; + mes "- of the correct level. -"; + mes "- There might be another -"; + mes "- board somewhere for -"; + mes "- my level. -"; + close; + } + if (BaseLevel > 99) { + setarray .@Exp[0],90000,94000,114000,96000,96000,146000,96000,102000,110000,102000,108000,110000,138000,118000,96000,134000; + setarray .@Mob$[0],"Solider","Freezer","Heater","Injustice","Rybio","Dark Priest","Stapo","Roween","Siroma","Shinobi","Evil Nymph","Deviruchi","Mineral","Kaho","Neraid","Disguise"; + for(set .@i,0; .@i<16; set .@i,.@i+1) + if (checkquest(4181+.@i,HUNTING) == 2) { + mes "You hunted all 30 "+.@Mob$[.@i]+"."; + mes "Thank you very much."; + next; + mes "I know it isn't much but here's a small gift."; + mes "I hope that it helps you at least a little bit."; + next; + erasequest 4181+.@i; + getexp .@Exp[.@i],311000; + mes "Wooohoo!"; + mes "Good luck."; + close; + } + mes "- This missions can only be -"; + mes "- read by those who are -"; + mes "- of the correct level. -"; + mes "- There might be another -"; + mes "- board somewhere for -"; + mes "- my level. -"; + close; + } + mes "- Many hunting missions -"; + mes "- are on the bulletin board. -"; + next; + switch(select("Turtle Dungeon Area:Glast Heim Area:Rachel Area:Local Area:Other Area")) { + case 1: + switch(select("Solider:Freezer:Heater")) { + case 1: callsub L_Quest,4181,"Solider",90000; + case 2: callsub L_Quest,4182,"Freezer",94000; + case 3: callsub L_Quest,4183,"Heater",114000; + } + case 2: + switch(select("Injustice:Rybio:Dark Priest")) { + case 1: callsub L_Quest,4184,"Injustice",96000; + case 2: callsub L_Quest,4185,"Rybio",96000; + case 3: callsub L_Quest,4186,"Dark Priest",146000; + } + case 3: + switch(select("Stapo:Roween:Siroma")) { + case 1: callsub L_Quest,4187,"Stapo",96000; + case 2: callsub L_Quest,4188,"Roween",102000; + case 3: callsub L_Quest,4189,"Siroma",110000; + } + case 4: + switch(select("Shinobi:Evil Nymph")) { + case 1: callsub L_Quest,4190,"Shinobi",102000; + case 2: callsub L_Quest,4191,"Evil Nymph",108000; + } + case 5: + switch(select("Deviruchi:Mineral:Kaho:Neraid:Disguise")) { + case 1: callsub L_Quest,4192,"Deviruchi",110000; + case 2: callsub L_Quest,4193,"Mineral",138000; + case 3: callsub L_Quest,4194,"Kaho",118000; + case 4: callsub L_Quest,4195,"Neraid",96000; + case 5: callsub L_Quest,4196,"Disguise",134000; + } + } + end; +L_Quest: + if (checkquest(getarg(0),HUNTING) == 2) { + mes "You hunted all 30 "+getarg(1)+"."; + mes "Thank you very much."; + next; + mes "I know it isn't much but here's a small gift."; + mes "I hope that it helps you at least a little bit."; + next; + erasequest getarg(0); + getexp getarg(2),311000; + mes "Wooohoo!"; + mes "Good luck."; + close; + } + if (checkquest(getarg(0)) == -1) { + setquest getarg(0); + mes "Please hunt 30 "+getarg(1)+" and return here."; + close; + } + mes "Umm? You didn't hunt"; + mes "all 30 "+getarg(1)+" yet..."; + mes "Will you check again?"; + close; +} diff --git a/npc/re/quests/eden/eden_common.txt b/npc/re/quests/eden/eden_common.txt new file mode 100644 index 000000000..1b05030c8 --- /dev/null +++ b/npc/re/quests/eden/eden_common.txt @@ -0,0 +1,387 @@ +//===== rAthena Script ======================================= +//= Eden Group Quests - Common NPCs +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.6 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Eden Group Headquarter NPC's. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Removed showevent use, and use of duplicates. +//= Commented out warps that should not be active. +//= 1.2 Reduced 300+ copy-paste lines to 1 duplicated NPC. [Brian] +//= 1.3 Some little optimization here and there. [Masao] +//= 1.4 Updated to match the new Izlude Map. [Masao] +//= 1.5 Added some missing Eden Group Teleport Officers. [Masao] +//= 1.6 Added Izlude RE coordinates. [Euphy] +//============================================================ + +moc_para01,27,35,5 script Secretary Lime Evenor 952,{ + + if (checkweight(1201,1) == 0 || (MaxWeight - Weight) < 2000) { + mes "- Wait a minute !! -"; + mes "- Currently you're carrying -"; + mes "- too many items with you. -"; + mes "- Please try again -"; + mes "- after you loose some weight. -"; + close; + } + mes "[Lime Evenor]"; + mes "People who follow their dreams and romances listen to me. We are representatives of the paradise called 'The garden of Eden' called the Eden group . There is no place like this anywhere."; + mes "Hello. Can I help you?"; + next; + while (1) { + switch (select("What is Eden group?:Join the Eden Group.:Register new mission.:Search for missions.:Cancel.")) { + case 1: + mes "[Lime Evenor]"; + mes "Eden Group is a group that helps people who are suffering from distresses in Rune-Midgard."; + next; + mes "[Lime Evenor]"; + mes "If people need help, we put up the case on the bulletin board and introduce it to our members who are eager to help those in need."; + next; + mes "[Lime Evenor]"; + mes "Eden members will review the missions and help those who post them up."; + mes "Members do these missions for rewards."; + next; + mes "[Lime Evenor]"; + mes "If you are not too familiar with Rune-Midgard, this is a great way to explore the world."; + mes "Or, if you are mature enough, you can travel the world and make new friends while doing missions. Your honorable name will be spread out among lands."; + next; + break; + case 2: + if (countitem(6219) < 1) { + mes "[Lime Evenor]"; + mes "You can be a Eden's member by simply registering with me."; + mes "Would you like to join Eden Group?"; + next; + switch (select("Yes, I want to join.:No, I don't want to join.")) { + case 1: + mes "[Lime Evenor]"; + mes "Aright. Excellent! Please write down your name here."; + input .@input$; + next; + mes "[Lime Evenor]"; + mes "Are you done?"; + mes "Let me see."; + next; + mes "[Lime Evenor]"; + mes "Your name is ^3131FFBo"+.@input$+"Ba^000000..? Is that right?"; + mes "Huh? Isn't it??"; + next; + emotion e_swt; + mes "[Lime Evenor]"; + mes "Hmm that isn't what you wrote?."; + mes "Ok, hmm, it seems a bit hard to read."; + next; + mes "[Lime Evenor]"; + mes "Would you please write your name again? Please write it ^3131FFClearly^000000."; + input .@input$; + next; + mes "[Lime Evenor]"; + mes "Ah~ ha. You are ^3131FF"+strcharinfo(0)+"^000000."; + mes "I got it right this time."; + next; + emotion e_no1; + mes "[Lime Evenor]"; + mes "We already put your name on the list."; + mes "Welcome to Eden's group new member!"; + next; + mes "[Lime Evenor]"; + mes "Hopefully you can do great work as an Eden's member."; + getitem 6219,1; //Para_Team_Mark + next; + break; + case 2: + mes "[Lime Evenor]"; + mes "Do you still have questions about Eden Group?"; + next; + break; + } + } else { + mes "[Lime Evenor]"; + mes "You are already a member of Eden Group."; + next; + } + break; + case 3: + mes "[Lime Evenor]"; + mes "Do you want to register some missions that you want us to do?"; + next; + if(select("Yes, I want to register.:No, I don't.") == 1) { + mes "[Lime Evenor]"; + mes "Alrigh. Please write down your name on it."; + input .@input$; + next; + mes "[Lime Evenor]"; + mes "^3131FF"+strcharinfo(0)+"^000000.. Is that your name?"; + mes "Hmm, your handwriting is not clear. I can't read. it"; + next; + mes "[Lime Evenor]"; + mes "^3131FF"+strcharinfo(0)+"^000000, tell me what you want to register. for"; + mes "Which map should we go to?"; + input .@input$; + next; + mes "[Lime Evenor]"; + mes "^3131FFMission Map: "+.@inputstr$+"^000000"; + mes "hum, I will note that."; + next; + mes "[Lime Evenor]"; + mes "Please let me know what kind of missions your are lookng for."; + mes "It should be briefly like 'Hunt 10 Porings.'"; + input .@input$; + next; + mes "[Lime Evenor]"; + mes "Are you done?"; + mes "Let me check."; + next; + mes "[Lime Evenor]"; + mes "Huh..........."; + next; + mes "[Lime Evenor]"; + mes "Hum.. huh??.................."; + next; + emotion e_dots; + mes "[Lime Evenor]"; + mes "I think you should complete one of our missions first before you take up a new mission."; + next; + emotion e_pif; + mes "[Lime Evenor]"; + mes "^3131FFClient: Lime Evenor^000000"; + mes "^3131FFMission: Practice your handwriting for one month.^000000"; + mes "You've got really bad penmanship!"; + next; + mes "[Lime Evenor]"; + mes "^3131FFMission:"+.@input$+"^000000"; + mes "Anyway, you are done registering for a new mission."; + next; + mes "[Lime Evenor]"; + mes "Missions are fully booked. You have to wait for an spot to clear up."; + mes "Please kindly wait until your turn."; + next; + } + break; + case 4: + if (countitem(6219) > 0) { + mes "[Lime Evenor]"; + mes "Would like to try some missions as an Eden member?"; + next; + mes "[Lime Evenor]"; + mes "Check the right side of the bulletin board, there are various kinds of missions waiting for you."; + mes "Please carefully read the mission list and the qualifications and choose one of them."; + next; + } + else { + mes "[Lime Evenor]"; + mes "You need to join Eden Group first if you want to do some missions."; + close; + } + break; + case 5: + mes "[Lime Evenor]"; + mes "If you have any questions please come back again."; + close; + } + } + close; +} + +- script Eden Teleport Officer#0::eto -1,{ + mes "[Eden Teleport Officer]"; + mes "Those who are wandering around this strange world with aimless eyes listen up and come to me!"; + mes "Eden group is here to help you and will show you the great future."; + next; + mes "[Eden Teleport Officer]"; + mes "You have nothing to do but waste your time?"; + mes "You are eager to do something good but no one offers you work?"; + mes "Would you like to be a problem solver?"; + mes "Eden group is here to solve your problem."; + next; + switch (select("Move to Eden Group.:Don't want to talk anymore.")) { + case 1: + mes "[Eden Teleport Officer]"; + mes "Let's go to our secret base!"; + set nak_warp,strnpcinfo(2); + close2; + warp "moc_para01",31,14; + end; + case 2: + mes "[Eden Teleport Officer]"; + mes "If you don't know what to do for your future, don't hesitate to tell me. Just drop by and talk to me! Ok?"; + close; + } +} + +prontera,124,76,3 duplicate(eto) Eden Teleport Officer#1 729 +moc_ruins,68,164,3 duplicate(eto) Eden Teleport Officer#2 729 +geffen,132,66,3 duplicate(eto) Eden Teleport Officer#3 729 +alberta,124,67,3 duplicate(eto) Eden Teleport Officer#4 729 +aldebaran,133,119,5 duplicate(eto) Eden Teleport Officer#5 729 +izlude,131,148,4 duplicate(eto) Eden Teleport Officer#6 729 +prt_church,103,78,3 duplicate(eto) Eden Teleport Officer#7 729 +geffen_in,160,104,5 duplicate(eto) Eden Teleport Officer#8 729 +moc_prydb1,53,126,3 duplicate(eto) Eden Teleport Officer#9 729 +alberta_in,75,39,3 duplicate(eto) Eden Teleport Officer#10 729 +payon_in02,58,58,1 duplicate(eto) Eden Teleport Officer#11 729 +payon,177,111,3 duplicate(eto) Eden Teleport Officer#12 729 +que_ng,33,73,3 duplicate(eto) Eden Teleport Officer#13 729 +que_ng,144,161,5 duplicate(eto) Eden Teleport Officer#14 729 +yuno,144,189,5 duplicate(eto) Eden Teleport Officer#15 729 +rachel,125,144,3 duplicate(eto) Eden Teleport Officer#16 729 +morocc,161,97,6 duplicate(eto) Eden Teleport Officer#17 729 +comodo,202,151,4 duplicate(eto) Eden Teleport Officer#18 729 +umbala,104,158,4 duplicate(eto) Eden Teleport Officer#19 729 +veins,220,109,4 duplicate(eto) Eden Teleport Officer#20 729 +lighthalzen,164,86,4 duplicate(eto) Eden Teleport Officer#21 729 +einbroch,250,211,4 duplicate(eto) Eden Teleport Officer#22 729 +hugel,93,153,4 duplicate(eto) Eden Teleport Officer#23 729 + +moc_para01,30,10,0 script #eden_out 45,1,1,{ + +OnTouch: + switch (nak_warp) { + case 1: warp "prontera",116,72; end; + case 2: warp "moc_ruins",64,161; end; + case 3: warp "geffen",120,39; end; + case 4: warp "alberta",117,56; end; + case 5: warp "aldebaran",168,112; end; + case 6: if (checkre(0)) warp "izlude",134,118; else warp "izlude",127,142; end; + case 7: warp "prt_church",99,78; end; + case 8: warp "geffen_in",162,99; end; + case 9: warp "moc_prydb1",51,118; end; + case 10: warp "alberta_in",73,43; end; + case 11: warp "payon_in02",64,60; end; + case 12: warp "payon",161,58; end; + case 13: warp "que_ng",33,63; end; + case 14: warp "que_ng",144,166; end; + case 15: warp "yuno",158,125; end; + case 16: warp "rachel",115,125; end; + case 17: warp "morocc",156,93; end; + case 18: warp "comodo",209,143; end; + case 19: warp "umbala",99,155; end; + case 20: warp "veins",216,123; end; + case 21: warp "lighthalzen",158,92; end; + case 22: warp "einbroch",245,210; end; + case 23: warp "hugel",95,145; end; + default: warp "prontera",116,72; end; + } + end; +} + +moc_para01,47,39,3 script #warp_2_pass 111,{ + if (countitem(6219) > 0) { + mes "[Lime Evenor]"; + mes "Oh, it is an exclusive place only for Eden's members."; + mes "If you are a member, you can come whenever you want!"; + next; + switch (select("Enter.:Don't Enter.")) { + case 1: + mes "This door is beautifully decorated but seems a little bit too heavy."; + close2; + warp "moc_para01",106,14; + end; + case 2: + mes "[Lime Evenor]"; + mes "Well, if you are not interested."; + close; + } + } + mes "[Lime Evenor]"; + mes "Oh, this is an exclusive place for Eden's members only."; + mes "If you want to go inside, you have to join the Eden Group."; + close; +} + +moc_para01,16,22,7 script Old Adventurer#eden 900,{ + mes "[Old Adventurer]"; + mes "Harsh, I am strong enough even if I look old! What is his name? Lime Evenor? He just ignores me like I am a some kind of old senile bastard."; + next; + mes "[Old Adventurer]"; + mes "I came here to join the Eden group! I don't deserve this!"; + mes "Do you also think I look like I'm senile?"; + close; +} + +moc_para01,182,48,3 script Eden's Chief#eden 886,{ + set .@eggf,rand(1,118); + set .@eggf_1,.@eggf + 1; + set .@eggf_2,.@eggf + 2; + set .@eggf_6,.@eggf + 6; + mes "[Eden's Chief]"; + mes ""+.@eggf+".. "+.@eggf_1+"... "+.@eggf_2+".... "+.@eggf_6+"..?"; + next; + emotion e_sob; + mes "[Eden's Chief]"; + mes "Oh, Shoot! How many eggs have I done?"; + mes "Aww!!! I totally forgot! I have to count again!"; + next; + emotion e_sob; + mes "[Eden's Chief]"; + mes "Why have you asked me to do this? What kind of mission is that?"; + next; + emotion e_sob; + mes "[Eden's Chief]"; + mes "What are you going to with all of those fried eggs? I am sure you can't eat all of them. You just want to bother me, right?"; + close; +} + +moc_para01,172,28,5 script Eden's Intern#eden 883,{ + mes "[Eden's Intern]"; + mes "Actually, I realized that."; + next; + mes "[Eden's Intern]"; + mes "We have to work really hard unless you want to fail."; + next; + mes "[Eden's Intern]"; + mes "But, I have never learned about pharmaceuticals yet."; + next; + mes "[Eden's Intern]"; + mes "I'm going to fail. I can't do this."; + close; +} + +moc_para01,20,35,5 script Office Assistant Neede 814,{ + mes "[Neede]"; + mes "I became a Eden's member several years ago, but it feels like it was yesterday."; + mes "I have been doing lots of work, so I didn't even notice how many years I spent here."; + next; + mes "[Neede]"; + mes "It reminds me that it was like a war everyday."; + next; + mes "[Neede]"; + mes "The chief of ^3131FFthe restaurant on the right side^000000"; + mes "uses too much seasoning every time he cooks, the smell is all over the lobby. We have to open the window regularly because we can't stand the smell!"; + next; + mes "[Neede]"; + mes "And, do you see the ^3131FFgymnasium^000000 on the cross of ^3131FFthe north side of the lobby^000000? They always shout when they exercise, I can even hear them from here!"; + next; + emotion e_ag; + mes "[Neede]"; + mes "Besides, the weird girl from ^3131FFthe second floor^000000 is crying all the time. Her cries drive me crazy."; + next; + mes "[Neede]"; + mes "Ah, that weird girl is actually our boss..."; + next; + mes "[Neede]"; + mes "I don't know what she has been up to. But she cries and shouts all the time. Oh, sometimes I hear 'Bang!', loud booming sounds... I don't know where it came from."; + next; + emotion e_omg; + mes "[Neede]"; + mes "Wait!"; + mes "Shh! It is a secret, you can't tell anybody!"; + next; + mes "[Neede]"; + emotion e_sigh; + mes "I don't trust Evenor. She never shows her feelings... she's going to snitch on me to my boss."; + next; + emotion e_pif,0,"Secretary Lime Evenor"; + mes "[Lime Evenor]"; + mes "I am not that kind of guy."; + next; + emotion e_wah; + mes "[Neede]"; + mes "Huh? Did you hear that? Gosh~!"; + close; +} diff --git a/npc/re/quests/eden/eden_quests.txt b/npc/re/quests/eden/eden_quests.txt new file mode 100644 index 000000000..c6776d9b4 --- /dev/null +++ b/npc/re/quests/eden/eden_quests.txt @@ -0,0 +1,5152 @@ +//===== rAthena Script ======================================= +//= Eden Group Quest - Quests NPCs +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.4a +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Eden Group Headquarter NPC's. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Removed unencoded comments (Korean -> Gibberish) +//= Readded the GM helper NPC, commented out. +//= 1.2 Some little optimization here and there. [Masao] +//= 1.3 Added Instructor Ur and the new Quests which come +//= alongside him. Special thanks to Chilly for the base. [Masao] +//= 1.4 Partial cleaning and bug fixing. [Euphy] +//= 1.4a Added 'npcskill' command. [Euphy] +//============================================================ + +moc_para01,25,35,4 script Instructor Boya#para01 469,{ + + if (countitem(6219) > 0) { + if (para_suv01 == 0) { + mes "[Boya]"; + mes "What's up?"; + mes "If you have any normal missions use the bulletin board."; + next; + switch (select("What is your responsiblily?:Don't you have equipment?:Ignore.")) { + case 1: + mes "[Boya]"; + mes "I give training missions to members."; + mes "That's why they participate in it."; + mes "If they don't want to get in trouble, it's essential."; + next; + mes "[Boya]"; + mes "Through battle training they can improve their real experience."; + mes "The members that prove themselves will even get a reward."; + next; + mes "[Boya]"; + mes "We gave them special equipmant that we have made."; + mes "These gifts are for people who are really doing their best."; + next; + mes "[Boya]"; + mes "If you are curious, you can join."; + mes "The training battle course is not very difficult."; + mes "There's nothing to worry about."; + next; + mes "[Boya]"; + mes "If you want to join, don't hesitate."; + next; + switch (select("Participate in the training.:Ignore.")) { + case 1: + mes "[Boya]"; + mes "Really? You already seem ready."; + mes "We have a total of 3 steps for the training."; + mes "Let me see..."; + next; + if (BaseLevel < 12) { + mes "[Boya]"; + mes "Umm. You should raise your level more!"; + mes "You need to be at least level 12!"; + mes "I'm sorry but those are the rules."; + close; + } + if ((BaseLevel > 11) && (BaseLevel < 20)) { + mes "[Boya]"; + mes "Really? You already seem ready."; + mes "We have a total of 3 steps for the training."; + mes "Let me see..."; + next; + mes "[Boya]"; + mes "The first step is course A."; + mes "Course A is called 'Conquer the Desert!'."; + mes "It's the most proper mission for your level."; + next; + mes "[Boya]"; + mes "^4d4dffThere is a desert town called Morroc."; + mes "From there go south and then east. There is small oasis in the center of that field.^000000"; + next; + mes "[Boya]"; + mes "If you go there, you will find a dog around the oasis."; + mes "He is really mysterious and he can speak so don't be suprised."; + next; + mes "[Boya]"; + mes "Tell the dog ^4d4dffBoya is really great.^000000"; + mes "If you have any questions ask that dog."; + next; + mes "[Boya]"; + mes "Why are you staring at me?"; + mes "I had to come up with a password right?"; + mes "What's wrong with that password?"; + next; + mes "[Boya]"; + mes "Anyway, that place is not far from here so, it is a reasonable place for a beginner like you."; + mes "Ok, may Freya bless you~!"; + set para_suv01,1; + setquest 7128; + close; + } + if ((BaseLevel > 19) && (BaseLevel < 26)) { + mes "[Boya]"; + mes "I'll send you to the first step of course B."; + mes "Course B is called 'Conquer the Culvert!'."; + mes "It's the most proper mission for your level."; + next; + mes "[Boya]"; + mes "You need to register to explore the culvert in Prontera at the Knight Guild."; + mes "After registering there go to the western gate of Prontera. The manager of the culvert is near the entrance."; + next; + mes "[Boya]"; + mes "Once you enter the culvert you can find a dispatched cat. Don't be surprised if he talks to you."; + next; + mes "[Boya]"; + mes "Tell the cat ^4d4dffBoya's help is like a giant and beautiful tuna^000000."; + mes "He is really mysterious and he can speak so don't be suprised."; + mes "He will give you a battle target when you tell him that."; + mes "If you have any questions ask the cat."; + next; + mes "[Boya]"; + mes "Why are you staring at me like that?"; + mes "It's just a password that I made up."; + next; + mes "[Boya]"; + mes "Anyway..."; + mes "That place is nor far from here so, it is a reasonable place for a beginner like you."; + mes "Ok, may Freya bless you~!"; + set para_suv01,6; + setquest 7133; + close; + } + if ((BaseLevel > 25) && (BaseLevel < 33)) { + mes "[Boya]"; + mes "Cool."; + mes "Let me choose a proper place for you."; + next; + mes "[Boya]"; + mes "I'll send you to the second step of course A."; + mes "This course is called 'Conquer the Ghost Cave!'."; + mes "It's the most proper mission for your level."; + next; + mes "[Boya]"; + mes "There is a small archer village north of Payon."; + mes "There is a cave on the western hill of the archer village."; + next; + mes "[Boya]"; + mes "We have dispatched someone in front of the cave."; + mes "His name is... um..."; + mes "..."; + next; + mes "[Boya]"; + mes "Anyway he is one of us so he will know me."; + mes "He will give you a mission."; + mes "If you have questions ask him."; + next; + mes "[Boya]"; + mes "Why are you staring at me?"; + mes "We haven't met for a long time that's why I can't remember his name!"; + next; + mes "[Boya]"; + mes "Anyway..."; + mes "That place is not far from here so, come back quickly."; + mes "Ok, may Freya bless you~!"; + set para_suv01,13; + setquest 7138; + close; + } + if ((BaseLevel > 32) && (BaseLevel < 40)) { + mes "[Boya]"; + mes "I'll send you to the 2nd step of course B."; + mes "This course is called 'Conquer Anthell!'."; + mes "It's the most proper mission for your level."; + next; + mes "[Boya]"; + mes "Travel just southwest of Morroc City."; + mes "There you will find a hole in the ground to a cave called Anthell."; + next; + mes "[Boya]"; + mes "There are lots of ants in there. kk?"; + mes "It is also covered in sand so be careful in there ok."; + next; + mes "[Boya]"; + mes "That's why it's called ant hell."; + mes "One of our members will be waiting there."; + mes "His name is... K? M? Hmm? Anyway I can't remember."; + next; + mes "[Boya]"; + mes "He is one of us so he will know me."; + mes "He will give you a mission."; + mes "If you have any questions ask him."; + next; + mes "[Boya]"; + mes "Why are you staring at me?"; + mes "We haven't met for a long time that's why I can't remember his name!"; + next; + mes "[Boya]"; + mes "Anyway..."; + mes "That place is not far from here so, come back quickly."; + mes "Ok, blessing you~!!"; + set para_suv01,17; + setquest 7142; + close; + } + if ((BaseLevel > 39) && (BaseLevel < 50)) { + mes "[Boya]"; + mes "You are on the third step of course A."; + mes "This course is called 'Conquer Orc village!'."; + mes "Let me see..."; + next; + mes "[Boya]"; + mes "Go through the gate of Prontera and keep walking to the west. Orc Village is in that direction."; + mes "Or you can go out through the western gate of Geffen and keep heading southeast.."; + next; + mes "[Boya]"; + mes "Umm. Orc village has a Kafra Employee dispatched there so you could use the Kafra services.."; + mes "It's up to you."; + next; + mes "[Boya]"; + mes "One of our dispatched members is waiting in the building near the Kafra Employee."; + next; + mes "[Boya]"; + mes "She will explain what needs to be done there."; + mes "If you have any questions ask her."; + next; + mes "[Boya]"; + mes "Ok, may Freya bless you!"; + set para_suv01,24; + setquest 7147; + close; + } + if ((BaseLevel > 49) && (BaseLevel < 60)) { + mes "[Boya]"; + mes "You are on the third step of course B."; + mes "This course is called 'Conquer Orc dungeon!'."; + mes "It's the most proper mission for your level."; + next; + mes "[Boya]"; + mes "Go through the gate of Prontera and keep walking to the west. Orc Village is in that direction."; + mes "Or you can go out through the western gate of Geffen and keep heading southeast.."; + next; + mes "[Boya]"; + mes "Umm. Orc village has a Kafra Employee dispatched there so you could use the Kafra services.."; + mes "It's up to you."; + next; + mes "[Boya]"; + mes "One of our dispatched members is waiting in the building near the Kafra Employee."; + next; + mes "[Boya]"; + mes "She will explain what needs to be done there."; + mes "If you have any questions ask her."; + next; + mes "[Boya]"; + mes "Ok, may Freya bless you!"; + set para_suv01,29; + setquest 7152; + close; + } + if (BaseLevel > 59) { + mes "[Boya]"; + mes "You are on the last step."; + mes "This course is called 'Conquer the Ocean City!'."; + mes "I don't know if it is the proper course or not, but anyway it's the last course of our training."; + next; + mes "[Boya]"; + mes "First take a ship to to Byalan Island from Izlude!"; + mes "There is an underground cave. Go in and get to the bottom floor where you will find a historic underwater city.."; + next; + mes "[Boya]"; + mes "Although it's underwater, you can breath so don't worry."; + mes "There is a dispatched trainee around the entrance of the Ocean City."; + next; + mes "[Boya]"; + mes "Tell him that I sent you and follow his directions."; + mes "Ok, may Freya bless you!"; + set para_suv01,33; + setquest 7156; + close; + } + case 2: + mes "[Boya]"; + mes "It's all your decision."; + mes "It's not my business but you should probably reconsider."; + close; + } + case 2: + mes "[Boya]"; + mes "Huh?"; + mes "You are so honest!"; + mes "Gosh. You wanted to know something about equipment?"; + next; + mes "[Boya]"; + mes "I have a uniform set which is free for our group members."; + mes "But, I can't give it for free."; + next; + mes "[Boya]"; + mes "We give it to great participants who do their best in the training."; + next; + mes "-Boya eyes you from top to bottom."; + mes "Hmm... he seems to think something is wrong.-"; + next; + mes "[Boya]"; + mes "Due to emotion."; + next; + select("What?!"); + mes "[Boya]"; + mes "So, will you join the training or not?"; + mes "I look a little bit funny, actually I am really busy I was called shining Rune Knight."; + mes "Make a decision, hurry."; + next; + switch (select("Participate in the training.:Refuse!!")) { + case 1: + mes "[Boya]"; + mes "Really? You already seem ready."; + mes "We have a total of 3 steps for the training."; + mes "Let me see..."; + next; + if (BaseLevel < 12) { + mes "[Boya]"; + mes "Umm. You should raise your level more!"; + mes "You need to be at least level 12!"; + mes "I'm sorry but those are the rules."; + close; + } + if ((BaseLevel > 11) && (BaseLevel < 20)) { + mes "[Boya]"; + mes "Really? You already seem ready."; + mes "We have a total of 3 steps for the training."; + mes "Let me see..."; + next; + mes "[Boya]"; + mes "The first step is course A."; + mes "Course A is called 'Conquer the Desert!'."; + mes "It's the most proper mission for your level."; + next; + mes "[Boya]"; + mes "^4d4dffThere is a desert town called Morroc."; + mes "From there go south and then east. There is small oasis in the center of that field.^000000"; + next; + mes "[Boya]"; + mes "If you go there, you will find a dog around the oasis."; + mes "He is really mysterious and he can speak so don't be suprised."; + next; + mes "[Boya]"; + mes "Tell the dog ^4d4dffBoya is really great.^000000"; + mes "If you have any questions ask that dog."; + next; + mes "[Boya]"; + mes "Why are you staring at me?"; + mes "I had to come up with a password right?"; + mes "What's wrong with that password?"; + next; + mes "[Boya]"; + mes "Anyway, that place is not far from here so, it is a reasonable place for a beginner like you."; + mes "Ok, may Freya bless you~!"; + set para_suv01,1; + setquest 7128; + close; + } + if ((BaseLevel > 19) && (BaseLevel < 26)) { + mes "[Boya]"; + mes "I'll send you to the first step of course B."; + mes "Course B is called 'Conquer the Culvert!'."; + mes "It's the most proper mission for your level."; + next; + mes "[Boya]"; + mes "You need to register to explore the culvert in Prontera at the Knight Guild."; + mes "After registering there go to the western gate of Prontera. The manager of the culvert is near the entrance."; + next; + mes "[Boya]"; + mes "Once you enter the culvert you can find a dispatched cat. Don't be surprised if he talks to you."; + next; + mes "[Boya]"; + mes "Tell the cat ^4d4dffBoya's help is like a giant and beautiful tuna^000000."; + mes "He is really mysterious and he can speak so don't be suprised."; + mes "He will give you a battle target when you tell him that."; + mes "If you have any questions ask the cat."; + next; + mes "[Boya]"; + mes "Why are you staring at me like that?"; + mes "It's just a password that I made up."; + next; + mes "[Boya]"; + mes "Anyway..."; + mes "That place is nor far from here so, it is a reasonable place for a beginner like you."; + mes "Ok, may Freya bless you~!"; + set para_suv01,6; + setquest 7133; + close; + } + if ((BaseLevel > 25) && (BaseLevel < 33)) { + mes "[Boya]"; + mes "Cool."; + mes "Let me choose a proper place for you."; + next; + mes "[Boya]"; + mes "I'll send you to the second step of course A."; + mes "This course is called 'Conquer the Ghost Cave!'."; + mes "It's the most proper mission for your level."; + next; + mes "[Boya]"; + mes "There is a small archer village north of Payon."; + mes "There is a cave on the western hill of the archer village."; + next; + mes "[Boya]"; + mes "We have dispatched someone in front of the cave."; + mes "His name is... um..."; + mes "..."; + next; + mes "[Boya]"; + mes "Anyway he is one of us so he will know me."; + mes "He will give you a mission."; + mes "If you have questions ask him."; + next; + mes "[Boya]"; + mes "Why are you staring at me?"; + mes "We haven't met for a long time that's why I can't remember his name!"; + next; + mes "[Boya]"; + mes "Anyway..."; + mes "That place is not far from here so, come back quickly."; + mes "Ok, may Freya bless you~!"; + set para_suv01,13; + setquest 7138; + close; + } + if ((BaseLevel > 32) && (BaseLevel < 40)) { + mes "[Boya]"; + mes "I'll send you to the 2nd step of course B."; + mes "This course is called 'Conquer Anthell!'."; + mes "It's the most proper mission for your level."; + next; + mes "[Boya]"; + mes "Travel just southwest of Morroc City."; + mes "There you will find a hole in the ground to a cave called Anthell."; + next; + mes "[Boya]"; + mes "There are lots of ants in there. kk?"; + mes "It is also covered in sand so be careful in there ok."; + next; + mes "[Boya]"; + mes "That's why it's called ant hell."; + mes "One of our members will be waiting there."; + mes "His name is... K? M? Hmm? Anyway I can't remember."; + next; + mes "[Boya]"; + mes "He is one of us so he will know me."; + mes "He will give you a mission."; + mes "If you have any questions ask him."; + next; + mes "[Boya]"; + mes "Why are you staring at me?"; + mes "We haven't met for a long time that's why I can't remember his name!"; + next; + mes "[Boya]"; + mes "Anyway..."; + mes "That place is not far from here so, come back quickly."; + mes "Ok, blessing you~!!"; + set para_suv01,17; + setquest 7142; + close; + } + if ((BaseLevel > 39) && (BaseLevel < 50)) { + mes "[Boya]"; + mes "You are on the third step of course A."; + mes "This course is called 'Conquer Orc village!'."; + mes "Let me see..."; + next; + mes "[Boya]"; + mes "Go through the gate of Prontera and keep walking to the west. Orc Village is in that direction."; + mes "Or you can go out through the western gate of Geffen and keep heading southeast.."; + next; + mes "[Boya]"; + mes "Umm. Orc village has a Kafra Employee dispatched there so you could use the Kafra services.."; + mes "It's up to you."; + next; + mes "[Boya]"; + mes "One of our dispatched members is waiting in the building near the Kafra Employee."; + next; + mes "[Boya]"; + mes "She will explain what needs to be done there."; + mes "If you have any questions ask her."; + next; + mes "[Boya]"; + mes "Ok, may Freya bless you!"; + set para_suv01,24; + setquest 7147; + close; + } + if ((BaseLevel > 49) && (BaseLevel < 60)) { + mes "[Boya]"; + mes "You are on the third step of course B."; + mes "This course is called 'Conquer Orc dungeon!'."; + mes "It's the most proper mission for your level."; + next; + mes "[Boya]"; + mes "Go through the gate of Prontera and keep walking to the west. Orc Village is in that direction."; + mes "Or you can go out through the western gate of Geffen and keep heading southeast.."; + next; + mes "[Boya]"; + mes "Umm. Orc village has a Kafra Employee dispatched there so you could use the Kafra services.."; + mes "It's up to you."; + next; + mes "[Boya]"; + mes "One of our dispatched members is waiting in the building near the Kafra Employee."; + next; + mes "[Boya]"; + mes "She will explain what needs to be done there."; + mes "If you have any questions ask her."; + next; + mes "[Boya]"; + mes "Ok, may Freya bless you!"; + set para_suv01,29; + setquest 7152; + close; + } + if (BaseLevel > 59) { + mes "[Boya]"; + mes "You are on the last step."; + mes "This course is called 'Conquer the Ocean City!'."; + mes "I don't know if it is the proper course or not, but anyway it's the last course of our training."; + next; + mes "[Boya]"; + mes "First take a ship to to Byalan Island from Izlude!"; + mes "There is an underground cave. Go in and get to the bottom floor where you will find a historic underwater city.."; + next; + mes "[Boya]"; + mes "Although it's underwater, you can breath so don't worry."; + mes "There is a dispatched trainee around the entrance of the Ocean City."; + next; + mes "[Boya]"; + mes "Tell him that I sent you and follow his directions."; + mes "Ok, may Freya bless you!"; + set para_suv01,33; + setquest 7156; + close; + } + case 2: + mes "[Boya]"; + mes "You are so rude!"; + specialeffect2 EF_HIT1; + percentheal -50,0; + next; + mes "-Beats quickly and this shining Rune Knight turns invisible."; + mes "It hurts too much-"; + close; + } + case 3: + mes "[Boya]"; + mes "Don't bother me."; + close; + } + } + if ((para_suv01 > 0) && (para_suv01 < 5)) { + mes "[Boya]"; + mes "Hey, I already talked all about the training areas."; + mes "I will explain again please concentrate."; + next; + mes "[Boya]"; + mes "An oasis souteast of Morroc."; + mes "There is a big dog in the center."; + mes "The detailed story is written in the log, see?"; + close; + } + if (para_suv01 == 5) { + mes "[Boya]"; + mes "Oh you've come back."; + mes "Good job."; + mes "Now you are adapting."; + next; + mes "[Boya]"; + mes "Completed step 1."; + mes "Congratulations."; + mes "We will give you a uniform and some equipment."; + next; + mes "[Boya]"; + mes "Can you see a large blue gate next to the board?"; + mes "Go inside then keep walking until the end of the right passage. There is an equipment storage there."; + next; + mes "[Boya]"; + mes "Inform the manager that I sent you. He will give you some stuff."; + mes "Go go go!"; + set para_suv01,11; + completequest 7132; + close; + } + if ((para_suv01 > 5) && (para_suv01 < 10)) { + mes "[Boya]"; + mes "The training name was 'Conquer the Culvert!."; + mes "Did you explore the culvert fully?"; + next; + mes "[Boya]"; + mes "Come back when you've completed all the courses from the local trainer."; + close; + } + if (para_suv01 == 10) { + mes "[Boya]"; + mes "Oh you're back."; + mes "Good job."; + mes "Now you are adapting."; + next; + mes "[Boya]"; + mes "Completed step 1."; + mes "Congratulations."; + mes "My team will give you a uniform and some equipment."; + next; + mes "[Boya]"; + mes "Can you see a large blue gate next to the board?"; + mes "Go inside then keep walking until the end of the right passage. There is an equipment storage there."; + next; + mes "[Boya]"; + mes "Inform the manager that I sent you. He will give you some stuff."; + mes "Go go go!"; + set para_suv01,11; + completequest 7137; + close; + } + if (para_suv01 == 11) { + mes "[Boya]"; + mes "What are you doing?"; + mes "Get the equipment from the storage manager."; + mes "Our uniform is pretty awesome haha."; + close; + } + if (para_suv01 == 12) { + mes "[Boya]"; + mes "Um, did you like the supplies?"; + mes "I like the red hat."; + mes "The red ribbon is really cute."; + next; + if (BaseLevel > 25) { + mes "[Boya]"; + mes "And you seem to."; + mes "Able to take upper class, now."; + mes "What about it, do you want?"; + next; + switch (select("No, way.:Absolutely, I will.")) { + case 1: + mes "[Boya]"; + mes "Really?"; + mes "Actually I don't care but the uniform will be changed as upper class."; + close; + case 2: + mes "[Boya]"; + mes "Cool."; + mes "Let me choose a proper place for you."; + next; + if ((BaseLevel > 25) && (BaseLevel < 33)) { + mes "[Boya]"; + mes "Cool."; + mes "Let me choose a proper place for you."; + next; + mes "[Boya]"; + mes "I'll send you to the second step of course A."; + mes "This course is called 'Conquer the Ghost Cave!'."; + mes "It's the most proper mission for your level."; + next; + mes "[Boya]"; + mes "There is a small archer village north of Payon."; + mes "There is a cave on the western hill of the archer village."; + next; + mes "[Boya]"; + mes "We have dispatched someone in front of the cave."; + mes "His name is... um..."; + mes "..."; + next; + mes "[Boya]"; + mes "Anyway he is one of us so he will know me."; + mes "He will give you a mission."; + mes "If you have questions ask him."; + next; + mes "[Boya]"; + mes "Why are you staring at me?"; + mes "We haven't met for a long time that's why I can't remember his name!"; + next; + mes "[Boya]"; + mes "Anyway..."; + mes "That place is not far from here so, come back quickly."; + mes "Ok, may Freya bless you~!"; + set para_suv01,13; + setquest 7138; + close; + } + if ((BaseLevel > 32) && (BaseLevel < 40)) { + mes "[Boya]"; + mes "I'll send you to the 2nd step of course B."; + mes "This course is called 'Conquer Anthell!'."; + mes "It's the most proper mission for your level."; + next; + mes "[Boya]"; + mes "Travel just southwest of Morroc City."; + mes "There you will find a hole in the ground to a cave called Anthell."; + next; + mes "[Boya]"; + mes "There are lots of ants in there. kk?"; + mes "It is also covered in sand so be careful in there ok."; + next; + mes "[Boya]"; + mes "That's why it's called ant hell."; + mes "One of our members will be waiting there."; + mes "His name is... K? M? Hmm? Anyway I can't remember."; + next; + mes "[Boya]"; + mes "He is one of us so he will know me."; + mes "He will give you a mission."; + mes "If you have any questions ask him."; + next; + mes "[Boya]"; + mes "Why are you staring at me?"; + mes "We haven't met for a long time that's why I can't remember his name!"; + next; + mes "[Boya]"; + mes "Anyway..."; + mes "That place is not far from here so, come back quickly."; + mes "Ok, blessing you~!!"; + set para_suv01,17; + setquest 7142; + close; + } + if ((BaseLevel > 39) && (BaseLevel < 50)) { + mes "[Boya]"; + mes "You are on the third step of course A."; + mes "This course is called 'Conquer Orc village!'."; + mes "Let me see..."; + next; + mes "[Boya]"; + mes "Go through the gate of Prontera and keep walking to the west. Orc Village is in that direction."; + mes "Or you can go out through the western gate of Geffen and keep heading southeast.."; + next; + mes "[Boya]"; + mes "Umm. Orc village has a Kafra Employee dispatched there so you could use the Kafra services.."; + mes "It's up to you."; + next; + mes "[Boya]"; + mes "One of our dispatched members is waiting in the building near the Kafra Employee."; + next; + mes "[Boya]"; + mes "She will explain what needs to be done there."; + mes "If you have any questions ask her."; + next; + mes "[Boya]"; + mes "Ok, may Freya bless you!"; + set para_suv01,24; + setquest 7147; + close; + } + if ((BaseLevel > 49) && (BaseLevel < 60)) { + mes "[Boya]"; + mes "You are on the third step of course B."; + mes "This course is called 'Conquer Orc dungeon!'."; + mes "It's the most proper mission for your level."; + next; + mes "[Boya]"; + mes "Go through the gate of Prontera and keep walking to the west. Orc Village is in that direction."; + mes "Or you can go out through the western gate of Geffen and keep heading southeast.."; + next; + mes "[Boya]"; + mes "Umm. Orc village has a Kafra Employee dispatched there so you could use the Kafra services.."; + mes "It's up to you."; + next; + mes "[Boya]"; + mes "One of our dispatched members is waiting in the building near the Kafra Employee."; + next; + mes "[Boya]"; + mes "She will explain what needs to be done there."; + mes "If you have any questions ask her."; + next; + mes "[Boya]"; + mes "Ok, may Freya bless you!"; + set para_suv01,29; + setquest 7152; + close; + } + if (BaseLevel > 59) { + mes "[Boya]"; + mes "You are on the last step."; + mes "This course is called 'Conquer the Ocean City!'."; + mes "I don't know if it is the proper course or not, but anyway it's the last course of our training."; + next; + mes "[Boya]"; + mes "First take a ship to to Byalan Island from Izlude!"; + mes "There is an underground cave. Go in and get to the bottom floor where you will find a historic underwater city.."; + next; + mes "[Boya]"; + mes "Although it's underwater, you can breath so don't worry."; + mes "There is a dispatched trainee around the entrance of the Ocean City."; + next; + mes "[Boya]"; + mes "Tell him that I sent you and follow his directions."; + mes "Ok, may Freya bless you!"; + set para_suv01,33; + setquest 7156; + close; + } + } + } + mes "[Boya]"; + mes "The battle training is organized into steps."; + mes "When you able to join next step come back again after leveling more."; + next; + mes "[Boya]"; + mes "The next training step is available for those over Level 26."; + mes "When you reach that level, come by again. get it?"; + close; + } + if ((para_suv01 > 12) && (para_suv01 < 16)) { + mes "[Boya]"; + mes "The training area is at the north cave of Payon."; + mes "A staff member is already dispatched there."; + mes "Find him and follow his directions."; + close; + } + if (para_suv01 == 16) { + mes "[Boya]"; + mes "You finished the second step of training."; + mes "Now do you understand how this world is organized?"; + next; + mes "[Boya]"; + mes "I will certify that you completed the training."; + mes "The person in charge of equipment storage will supply you with what you need."; + next; + mes "[Boya]"; + mes "Choose an equipment that fits your particular set of skills."; + set para_suv01,22; + completequest 7141; + close; + } + if ((para_suv01 > 16) && (para_suv01 < 21)) { + mes "[Boya]"; + mes "The training area is southwest of Morroc."; + mes "Enter the Saint Darmain Fortress to reach it directly."; + next; + mes "[Boya]"; + mes "There's someone there named... Uh... he is waiting for you to follow his direction."; + close; + } + if (para_suv01 == 21) { + mes "[Boya]"; + mes "You finished the second step of training."; + mes "Now do you understand how this world is organized?"; + next; + mes "[Boya]"; + mes "I will certify that you completed the training."; + mes "The person in charge of equipment storage will supply you with what you need."; + next; + mes "[Boya]"; + mes "The person in charge of equipment storage will supply you with what you need."; + set para_suv01,22; + completequest 7146; + close; + } + if (para_suv01 == 22) { + mes "[Boya]"; + mes "We serve trainees with equipment and armor after passing the second step of training."; + mes "Go to the storage and meet the person in charge there."; + next; + mes "[Boya]"; + mes "To find the storage pass the blue gate next to the mission board then at the end of the hallway to the right side."; + close; + } + if (para_suv01 == 23) { + mes "[Boya]"; + mes "Hey long time no see."; + mes "So what's up?"; + next; + switch (select("I want to join training.:Nothing.")) { + case 1: + mes "[Boya]"; + mes "Hmm... really?"; + mes "Let me see... which step is good for you..."; + next; + if ((BaseLevel > 39) && (BaseLevel < 50)) { + mes "[Boya]"; + mes "You are on the third step of course A."; + mes "This course is called 'Conquer Orc village!'."; + mes "Let me see..."; + next; + mes "[Boya]"; + mes "Go through the gate of Prontera and keep walking to the west. Orc Village is in that direction."; + mes "Or you can go out through the western gate of Geffen and keep heading southeast.."; + next; + mes "[Boya]"; + mes "Umm. Orc village has a Kafra Employee dispatched there so you could use the Kafra services.."; + mes "It's up to you."; + next; + mes "[Boya]"; + mes "One of our dispatched members is waiting in the building near the Kafra Employee."; + next; + mes "[Boya]"; + mes "She will explain what needs to be done there."; + mes "If you have any questions ask her."; + next; + mes "[Boya]"; + mes "Ok, may Freya bless you!"; + set para_suv01,24; + setquest 7147; + close; + } + if ((BaseLevel > 49) && (BaseLevel < 60)) { + mes "[Boya]"; + mes "You are on the third step of course B."; + mes "This course is called 'Conquer Orc dungeon!'."; + mes "It's the most proper mission for your level."; + next; + mes "[Boya]"; + mes "Go through the gate of Prontera and keep walking to the west. Orc Village is in that direction."; + mes "Or you can go out through the western gate of Geffen and keep heading southeast.."; + next; + mes "[Boya]"; + mes "Umm. Orc village has a Kafra Employee dispatched there so you could use the Kafra services.."; + mes "It's up to you."; + next; + mes "[Boya]"; + mes "One of our dispatched members is waiting in the building near the Kafra Employee."; + next; + mes "[Boya]"; + mes "She will explain what needs to be done there."; + mes "If you have any questions ask her."; + next; + mes "[Boya]"; + mes "Ok, may Freya bless you!"; + set para_suv01,29; + setquest 7152; + close; + } + if (BaseLevel > 59) { + mes "[Boya]"; + mes "You are on the last step."; + mes "This course is called 'Conquer the Ocean City!'."; + mes "I don't know if it is the proper course or not, but anyway it's the last course of our training."; + next; + mes "[Boya]"; + mes "First take a ship to to Byalan Island from Izlude!"; + mes "There is an underground cave. Go in and get to the bottom floor where you will find a historic underwater city.."; + next; + mes "[Boya]"; + mes "Although it's underwater, you can breath so don't worry."; + mes "There is a dispatched trainee around the entrance of the Ocean City."; + next; + mes "[Boya]"; + mes "Tell him that I sent you and follow his directions."; + mes "Ok, may Freya bless you!"; + set para_suv01,33; + setquest 7156; + close; + } + mes "[Boya]"; + mes "Sooo sorry but to join this training You need to be at least level 40."; + mes "Concentrate to become higher level then come back."; + close; + case 2: + mes "[Boya]"; + mes "Did you come to see me?"; + mes "Just that? Without anything?"; + mes "At could have least brought some chocolate..."; + next; + mes "[Boya]"; + mes "Banana roll or stripe straw... anything."; + mes "Oh, I don't eat snacks with cinnamon..."; + close; + } + } + if ((para_suv01 > 23) && (para_suv01 < 28)) { + mes "[Boya]"; + mes "Umm. Orc village has a Kafra Employee there so you can use the Kafra services."; + next; + mes "[Boya]"; + mes "One of our dispatched members is waiting in the building near the Kafra Employee."; + close; + } + if (para_suv01 == 28) { + mes "[Boya]"; + mes "Cool! You passed the third step of training."; + mes "I will certify that you completed the training."; + mes "The person in charge of equipment storage will supply you with some equipment."; + next; + mes "[Boya]"; + mes "We serve trainees with equipment and armor after passing the second step of training."; + mes "Go to the storage and meet the person in charge there."; + next; + mes "[Boya]"; + mes "To find the storage pass the blue gate next to the mission board then at the end of the hallway to the right side."; + set para_suv01,37; + completequest 7151; + close; + } + if ((para_suv01 > 28) && (para_suv01 < 32)) { + mes "[Boya]"; + mes "Umm. Orc village has a Kafra Employee there so you can use the Kafra services there."; + next; + mes "[Boya]"; + mes "One of our dispatched members is waiting in the building near the Kafra Employee."; + close; + } + if (para_suv01 == 32) { + mes "[Boya]"; + mes "Cool! You passed the third step of training."; + mes "I will certify that you completed the training."; + mes "The person in charge of equipment storage will supply you with some equipment."; + next; + mes "[Boya]"; + mes "We serve trainees with equipment and armor after passing the second step of training."; + mes "Go to the storage and meet the person in charge there."; + next; + mes "[Boya]"; + mes "To find the storage pass the blue gate next to the mission board then at the end of the hallway to the right side."; + set para_suv01,37; + completequest 7155; + close; + } + if ((para_suv01 > 32) && (para_suv01 < 36)) { + mes "[Boya]"; + mes "First take a ship toward to Bayalan from Izlude!"; + mes "There is an underground cave. Go in and get to the bottom floor where you will find a historic underwater city.."; + next; + mes "[Boya]"; + mes "There is a dispatched trainee around the entrance of the Ocean City."; + close; + } + if (para_suv01 == 36) { + mes "[Boya]"; + mes "Cool! You passed the third step of training."; + mes "I will certify that you completed the training."; + mes "The person in charge of equipment storage will supply you with some equipment."; + next; + mes "[Boya]"; + mes "We serve trainees with equipment and armor after passing the second step of training."; + mes "Go to the storage and meet the person in charge there."; + next; + mes "[Boya]"; + mes "To find the storage pass the blue gate next to the mission board then at the end of the hallway to the right side."; + set para_suv01,37; + completequest 7159; + close; + } + if (para_suv01 == 37) { + mes "[Boya]"; + mes "If you finish all of the steps go and get your supplies."; + mes "We offer equipment to those who complete the training."; + next; + mes "[Boya]"; + mes "We might serve you other things."; + mes "If you have any questions, ask the person in charge of the arsenal."; + next; + mes "[Boya]"; + mes "The arsenal is past the blue gate and at the end of the right side of the passage."; + close; + } + if (para_suv01 >= 38) { + mes "[Boya]"; + mes "My boss created all the courses for the training."; + mes "After he manufactured the uniform and supplies he changed his mind and said that he can't give them for free."; + next; + mes "[Boya]"; + mes "People who show their effort for my team and the world can get some supplies."; + mes "That's why these courses were made."; + next; + mes "[Boya]"; + mes "Basically we are supposed to offer these supplies for beginners"; + mes "but if experts want to participate this training, we accept them."; + next; + mes "[Boya]"; + mes "Although the uniform and equipment might be useless."; + mes "participating in this training means they want to become a member of our group."; + next; + mes "[Boya]"; + mes "Yes that's all."; + mes "That's why when we decided a hat design it was really difficult."; + next; + mes "[Boya]"; + mes "Remember this when you use the equipment."; + mes "But if you decide to sell or trade them off, it is none of our concern."; + close; + } + mes "[Boya]"; + mes "What do you want?"; + mes "I doubt that you need more training."; + next; + mes "[Boya]"; + mes "There is nothing more I can teach a battle master such as yourself."; + close; + } + mes "[Boya]"; + mes "You are not in my group are you?"; + mes "I don't have anything to say to outsiders."; + mes "If you want something register with my group."; + next; + mes "[Boya]"; + mes "To register with the Eden Group ask Laime Evenor next to me."; + close; +} + +moc_fild11,180,253,5 script Talking Dog#para03 972,{ + + if (para_suv01 == 1) { + mes "[Talking Dog]"; + mes "kkkkuuuuahhh."; + mes "rrrrrruuuuhh."; + mes "bowwow.."; + next; + mes "[Talking Dog]"; + mes "What's up?"; + mes "You are!"; + mes "A member of the Eden Group."; + mes "Have you come to give me a meal? I don't like drinks."; + next; + switch (select("Boya is really perfect.:Boya is really great.:Boya is really soft.")) { + case 1: + mes "[Talking Dog]"; + mes "Uhh..."; + mes "What are you saying."; + close; + case 2: + mes "[Talking Dog]"; + mes "Ahh... um..."; + mes "Gosh, did you come here to participate in the training?"; + mes "If Boya sent you then you know that it's battle training."; + mes "Bow wow..."; + next; + mes "[Talking Dog]"; + mes "If so, should I start securing this oasis more clearly?"; + mes "Can you see a Condor flying?"; + next; + mes "[Talking Dog]"; + mes "Can you scare them away for me?"; + mes "So people can use this oasis safer and more comfortably."; + next; + mes "[Talking Dog]"; + mes "We should hunt at least 10 Condors, ok?"; + mes "I will sleep for a while."; + mes "Krrrr woo bow..."; + set para_suv01,2; + changequest 7128,7129; + close; + case 3: + mes "[Talking Dog]"; + mes "Are you ok?"; + mes "Haven't you seen a talking dog before?"; + mes "What are you talking about?"; + close; + } + } + if (para_suv01 == 2) { + if (checkquest(7129,HUNTING) == 2) { + mes "[Talking Dog]"; + mes "Woooohh..."; + mes "Great!"; + mes "I can feel my youth from you."; + next; + mes "[Talking Dog]"; + mes "Nevermind."; + mes "Let's find the next target kk!"; + mes "Ok. Let's drive the Desert Wolves out of here."; + next; + mes "[Talking Dog]"; + mes "If they grow up they will become dangerous."; + mes "......"; + next; + mes "[Talking Dog]"; + mes "Why, why are you looking at me like that?"; + mes "They are wolves and I am a nice dog."; + mes "But I haven't always been a dog my entire life."; + next; + mes "[Talking Dog]"; + mes "I will show you that don't have to pity me at all."; + next; + mes "[Talking Dog]"; + mes "They pee wherever and have no shame."; + mes "Just waving their tails when they grow up and biting people without any care!"; + next; + mes "[Talking Dog]"; + mes "You must hunt at least 10!"; + mes "Exactly 10!"; + mes "Go go go!"; + set para_suv01,3; + changequest 7129,7130; + close; + } + mes "[Talking Dog]"; + mes "First lets follow the bald and noisy bird."; + mes "Yes Condors."; + mes "Kill 10 Condors. It seems to easy, right?"; + mes "Oh, if you are tired I will help you."; + next; + mes "-When the dog barked, your HP and SP recovered.-"; + npcskill "AL_HEAL",10,99,60; + percentheal 100,100; + close; + } + if (para_suv01 == 3) { + if (checkquest(7130,HUNTING) == 2) { + mes "[Talking Dog]"; + mes "You are so perfect."; + next; + mes "[Talking Dog]"; + mes "Or not. Hehe, anyway thanks for your help."; + mes "The oasis has almost been secured now."; + mes "Ok, it's the last step!"; + next; + mes "[Talking Dog]"; + mes "There's an annoying monster that hides in the sand and poisons people out of nowhere."; + next; + mes "[Talking Dog]"; + mes "All beautiful things have some poison inside but these actually kill."; + mes "Kill Scorpions which are called the poison of the desert!"; + next; + mes "[Talking Dog]"; + mes "It's the last step so let's make it simple"; + mes "Just hunt 5!"; + mes "Bow wow!"; + set para_suv01,4; + changequest 7130,7131; + close; + } + mes "[Talking Dog]"; + mes "I don't want you to show any pity."; + mes "I am dog with a golden heart."; + next; + mes "[Talking Dog]"; + mes "After hunting the 10 Desert Wolves come back again."; + mes "Oh, if you are tired I will help you."; + next; + mes "-When the dog barked, your HP and SP recovered.-"; + npcskill "AL_HEAL",10,99,60; + percentheal 100,100; + close; + } + if (para_suv01 == 4) { + if (checkquest(7131,HUNTING) == 2) { + mes "[Talking Dog]"; + mes "Um. Excellent."; + mes "You are awesome!"; + next; + mes "[Talking Dog]"; + mes "Thanks to your effort the oasis is secure."; + mes "Don't look around!"; + mes "If I say it's secure!"; + mes "Uhuhuhuh aaaang!"; + next; + mes "[Talking Dog]"; + mes "Here here here."; + mes "If I dig more and more, I can find Scorpions but"; + mes "this oasis will be safer for sure."; + next; + mes "[Talking Dog]"; + mes "You can be proud and confident by yourself and do your best."; + mes "You've helped a lot to make my rest comfortable."; + next; + mes "[Talking Dog]"; + mes "You've helped to conquer the desert,"; + mes "and passed the beginner training steps so I will stamp my feet."; + mes "krrrrreuung. hup."; + next; + mes "[Talking Dog]"; + mes "Go back to the Eden Group headquarters and show it to the flashy Rune Knight."; + mes "Let me say again that you are great!"; + mes "Hooooohooo~"; + set para_suv01,5; + changequest 7131,7132; + close; + } + mes "[Talking Dog]"; + mes "Let's hunt only 5 Scorpions."; + mes "So we can make peace in this oasis."; + next; + mes "[Talking Dog]"; + mes "When I take a nap they won't chew my tail any more."; + mes "Due to his mistake my feet won't be hurt at all."; + next; + mes "[Talking Dog]"; + mes "You can fight."; + mes "I can rest more comfortably."; + mes "Other people are going to be safer too."; + next; + mes "[Talking Dog]"; + mes "Everyone will think fondly of the Eden Group."; + mes "Oh, if you are tired I will help you."; + next; + mes "-When the dog barked, your HP and SP recovered.-"; + npcskill "AL_HEAL",10,99,60; + percentheal 100,100; + close; + } + if (para_suv01 == 5) { + mes "[Talking Dog]"; + mes "kkkkkaaaaauuuunnng."; + mes "oopssss kup."; + next; + mes "[Talking Dog]"; + mes "Why are you still here?"; + mes "You are done here."; + mes "Hooooo bow wow."; + close; + } + if (para_suv01 > 5) { + mes "[Talking Dog]"; + mes "Hey man~ What's going on?"; + mes "What about the Rune Knight?"; + mes "Krrrrr..."; + mes "Hyuk huk..."; + next; + mes "[Talking Dog]"; + mes "The Eden Group is cool."; + mes "They're a really good group."; + mes "They accepted a wandering talking dog."; + mes "Take care and good luck."; + close; + } + mes "Hey look."; + mes "I'm a talking dog."; + mes "Not a wolf."; + mes "I wasn't a dog originally..."; + next; + if (countitem(6219) > 0) { + mes "[Talking Dog]"; + mes "Anyway are you a Eden Group member?"; + mes "Oh good to see you."; + mes "I am also a member of Eden Group."; + mes "Take care and good luck."; + close; + } + mes "[Talking Dog]"; + mes "Why are you looking at me like that?"; + mes "......"; + close; +} + +prt_sewb1,131,262,3 script Timid Cat#para04 422,{ + if (para_suv01 < 6) { + mes "[Timid Cat]"; + mes "Meow..."; + mes "Who are you meow?"; + mes "Why are you here meow?"; + close; + } + if (para_suv01 == 6) { + mes "[Timid Cat]"; + mes "Come on meow..."; + mes "I may be standing here and talking to you like this meow but I am a still a cat meow..."; + next; + mes "[Timid Cat]"; + mes "Dear human you are"; + mes "a member of my group?"; + mes "Re... really...!"; + mes "Dear Boya's help is like a giant and..."; + next; + switch (select("Beautiful Saury:Fresh Mackerel:Beautiful Tuna")) { + case 1: + mes "[Timid Cat]"; + mes "Big and beautiful Saury..."; + mes "I am shy."; + close; + case 2: + mes "[Timid Cat]"; + mes "I want to eat mackerel."; + mes "Where are the big and fresh mackerel meow?"; + close; + case 3: + mes "[Timid Cat]"; + mes "Do you know the big and beautiful tuna?"; + mes "Dear Boya sent you here for sure."; + mes "How do I explain this...?"; + next; + mes "[Timid Cat]"; + mes "Did something pass under my feet just now meow?"; + mes "Do you want to kill a cat."; + mes "The environment here is terrible."; + next; + mes "[Timid Cat]"; + mes "Anyway I'm doing what I was assigned to do."; + mes "So hi, hello and welcome."; + next; + mes "[Timid Cat]"; + mes "Did you come here to have a battle?"; + mes "Hunt those Thief Bugs, hurry up!"; + mes "Hunt at least 10!"; + mes "Meooow!"; + next; + mes "[Timid Cat]"; + mes "I really don't like those nasty crawlers..."; + mes "Meow~!"; + next; + mes "^4d4dffThe cat was suprised by"; + mes "a thief bug and froze in"; + mes "place. Hunt those"; + mes "Thief Bugs around here.^000000"; + set para_suv01,7; + changequest 7133,7134; + close; + } + } + if (para_suv01 == 7) { + if (checkquest(7134,HUNTING) == 2) { + mes "[Timid Cat]"; + mes "Now do you understand the dirty and humid underground sewers?"; + mes "Eeeh look what's next meow."; + next; + mes "[Timid Cat]"; + mes "It's a symbol of dirt next to those Thief Bugs."; + mes "Hunt some Tarou to make the sewers cleaner."; + next; + mes "[Timid Cat]"; + mes "For our members joining this mission."; + mes "Hunt 10 Tarou."; + mes "Easy, ain't it?"; + next; + mes "[Timid Cat]"; + mes "Why didn't I ask you at once? kkk..??"; + mes "Umm........"; + mes "Because it's just a training mission."; + next; + mes "[Timid Cat]"; + mes "Training missions are hard and anoying."; + mes "So go hurry and hunt 10 Tarou."; + set para_suv01,8; + changequest 7134,7135; + close; + } + mes "[Timid Cat]"; + mes "Clean the sewers. Now the first step is hunting Thief Bugs."; + mes "Isn't that simple, meow?"; + next; + mes "[Timid Cat]"; + mes "Take care to check your map so you don't get lost."; + mes "It's a service meeow."; + npcskill "AL_HEAL",10,99,60; + percentheal 0,100; + close; + } + if (para_suv01 == 8) { + if (checkquest(7135,HUNTING) == 2) { + mes "[Timid Cat]"; + mes "Great job~!"; + mes "How'd you get rid of those dirty bugs and Tarou. You are brave."; + next; + mes "[Timid Cat]"; + mes "Now have courage because I'm sending you to a stronger opponent."; + mes "But first in order to test your courage, hunt Familiars."; + next; + mes "[Timid Cat]"; + mes "Familiars will bite you so be careful."; + mes "They are mean."; + mes "They scare me so just hunt 5 and that should be enough."; + next; + mes "[Timid Cat]"; + mes "That will show me that you are brave."; + mes "Meow~!"; + next; + mes "[Timid Cat]"; + mes "I don't have anything..."; + mes "......"; + mes "What do you want meow? Familiars are waiting to fight with you, hurry up, move~!"; + set para_suv01,9; + changequest 7135,7136; + close; + } + mes "[Timid Cat]"; + mes "If you can't kill the Tarou you might get all kinds of dirty diseases."; + mes "So be proud of yourself and do your best to kill them."; + next; + mes "[Timid Cat]"; + mes "I will help you a little."; + mes "Here, I have recovered your strengh meow.."; + npcskill "AL_HEAL",10,99,60; + percentheal 100,100; + close; + } + if (para_suv01 == 9) { + if (checkquest(7136,HUNTING) == 2) { + mes "[Timid Cat]"; + mes "You are great meow~"; + mes "You killed them so quickly!"; + mes "Meow..."; + next; + mes "[Timid Cat]"; + mes "Now you are not scared of bugs and tarou at all."; + mes "Thanks for participating in the Conquer the Culvert training mission."; + next; + mes "[Timid Cat]"; + mes "Now go back to the headquarters and ask Instructor Boya to make sure he has the beautiful tuna..."; + mes "I will be waiting here."; + next; + mes "[Timid Cat]"; + mes "Do you know how to get to the Eden Group Headquarters?"; + mes "Prontera is the closest city from here."; + mes "Go to Prontera and find an Eden Group Teleporter."; + set para_suv01,10; + changequest 7136,7137; + close; + } + mes "[Timid Cat]"; + mes "Familiars are really scary."; + mes "They're always flying."; + next; + mes "[Timid Cat]"; + mes "It's the last course so cheer up."; + mes "I will help you a little."; + mes "Here, I have recovered your strengh meow.."; + npcskill "AL_HEAL",10,99,60; + percentheal 0,100; + close; + } + if (para_suv01 >= 10) { + mes "[Timid Cat]"; + mes "You've completed 'Conquer the Culvert'."; + mes "Go back to the Eden Group headquarters to report to Boya."; + next; + mes "[Timid Cat]"; + mes "Boya might eat my tuna while he is waiting for you."; + close; + } + mes "[Timid Cat]"; + mes "How are you meeow?"; + mes "Did you volunteer to conquer the Culvert?"; + mes "You are a member of the Edgen Group for sure."; + mes "You are helping to make the world a better place."; + close; +} + +pay_arche,41,136,3 script Eden Member Karl#para05 904,{ + if (para_suv01 < 13) { + if (countitem(6219) > 0) { + mes "[Karl]"; + mes "Hey, how are you?"; + mes "Good to see you~"; + mes "Are you going inside?"; + close; + } + mes "[Karl]"; + mes "Umm...?"; + mes "You are not the one I am waiting for."; + close; + } + if (para_suv01 == 13) { + mes "[Karl]"; + mes "Hello?"; + mes "Since I got a report, I was waiting for you."; + mes "You came here to join the training mission, right?"; + next; + mes "[Karl]"; + mes "Have you ever entered this cave before?"; + mes "I don't know if you already heard some stories in this village."; + next; + mes "[Karl]"; + mes "There are many of dead souls that change their appearance as if they are real people and make threatening remarks."; + mes "It's too bad, isn't it?"; + next; + mes "[Karl]"; + mes "That's why we chose this place as step 2 of the battle training mission."; + mes "This step is called 'Conquer Ghost Cave~'."; + mes "Help people to enjoy their nights comfortably."; + next; + mes "[Karl]"; + mes "There are many dangerous things there. Hmm..."; + mes "To you the 1st floor is enough."; + next; + mes "[Karl]"; + mes "Lets conquer the dangerous ghost cave..."; + mes "Kill the bone Skeletons in there."; + next; + mes "[Karl]"; + mes "The bones are from Skeletons."; + mes "Actually Skeletons or just normal bones are all the same but..."; + next; + mes "[Karl]"; + mes "Skeletons are one of the basic undead classes."; + mes "Undead never ever. Hunt 15 undead Skeletons."; + next; + mes "[Karl]"; + mes "If you feel like you're in danger don't hesitate to just leave."; + mes "You're not worried about getting hurt are you?"; + set para_suv01,14; + changequest 7138,7139; + close; + } + if (para_suv01 == 14) { + if (checkquest(7139,HUNTING) == 2) { + mes "[Karl]"; + mes "Did you get how the undead work?"; + mes "As you know undead never die so, blessing of live person it's same as curse to them."; + next; + mes "[Karl]"; + mes "So... skills which can save people like Heal and Resurrection."; + mes "Those things are really strong attacks to undead class."; + next; + mes "[Karl]"; + mes "Anyway... that's it.."; + mes "Next... I guess you already see while you were killing Skeletons."; + mes "Some green things are picking up all of the stuff dropped by the dead monsters."; + next; + mes "[Karl]"; + mes "Do you know Porings? Maybe they are related to them."; + mes "They look really bad, maybe they have been eating poison or something."; + next; + mes "[Karl]"; + mes "Ok if you're ready go and kill those Poporings."; + mes "You should hunt 10 of them."; + next; + set para_suv01,15; + changequest 7139,7140; + close; + } + mes "[Karl]"; + mes "Skeletons are basic undead."; + mes "Use the Heal or Resurrection skill."; + mes "If you can."; + next; + mes "[Karl]"; + mes "Just in case I will recover all your energy."; + mes "It's the last step so be careful."; + npcskill "AL_HEAL",10,99,60; + percentheal 100,100; + close; + } + if (para_suv01 == 15) { + if (checkquest(7140,HUNTING) == 2) { + mes "[Karl]"; + mes "Did you get back what the Poporing stole?"; + mes "This cave is really deep and there are lots of precious things that they could have picked up."; + next; + mes "[Karl]"; + mes "You did really great job. Excellent."; + mes "The 1st floor is safer now. Thanks for helping."; + next; + mes "[Karl]"; + mes "You've completed all of the training missions so go back to the headquarters and get approval from the flashy Rune Knight."; + next; + mes "[Karl]"; + mes "You might get a new uniform."; + mes "Haha. I will keep tabs on your progression."; + set para_suv01,16; + changequest 7140,7141; + close; + } + mes "[Karl]"; + mes "Poporings are stronger than you expect."; + mes "If you treat them the same as a normal Poring it will get you in trouble."; + next; + mes "[Karl]"; + mes "Just in case I will recover all your energy."; + mes "It's the last step so be careful."; + npcskill "AL_HEAL",10,99,60; + percentheal 0,100; + close; + } + if (para_suv01 >= 16) { + mes "[Karl]"; + mes "I already informed Boya at the Eden Group headquarters."; + mes "If you go there he will give you a big welcome."; + next; + mes "[Karl]"; + mes "You will get a new uniform, aren't you excited?"; + mes "Hahaha.."; + close; + } + mes "[Karl]"; + mes "Killing undead?"; + mes "Do your best to make the world safer."; + mes "It's one of the goals of the Eden Group."; + close; +} + +anthell01,29,264,5 script Eden Member Cloud#para06 899,{ + + if (para_suv01 < 17) { + if (countitem(6219) > 0) { + mes "[Cloud]"; + mes "Oops."; + mes "You are a member of my group."; + mes "Why did you come here, are you looking for danger?"; + next; + mes "[Cloud]"; + mes "One of the strongest boss monsters is in here."; + mes "Be careful when exploring here."; + close; + } + mes "[Cloud ]"; + mes "What are you looking at?"; + mes "We are not related to each other, are we..."; + close; + } + if (para_suv01 == 17) { + mes "[Cloud]"; + mes "Hello?"; + mes "Why did you come here, looking for danger?"; + next; + switch (select("Conquer Ant Hell:Just wanted to meet you:Where am I?")) { + case 1: + mes "[Cloud]"; + mes "Uh. Conquer Ant Hell? Did you say that?"; + mes "You are a trainee."; + mes "You have come to the right place."; + next; + mes "[Cloud]"; + mes "At first I will explain about Ant Hell."; + mes "Ants dug a cave in the sand and it is linked to the surface. That's Ant Hell."; + next; + mes "[Cloud]"; + mes "Sand flowed into the hole gradually."; + mes "If anyone steps on the hole they will fall into the cave through the hole in the sand.."; + next; + mes "[Cloud]"; + mes "It's hard to survive from there."; + mes "To us it seems like a normal happening so it isn't a matter of survival like to normal people."; + next; + mes "[Cloud]"; + mes "Many kinds of ants have come to live here."; + mes "There is a boss monster named Maya so you should be more cautious."; + next; + mes "[Cloud]"; + mes "Ok let's try to hunt the weakest ant first."; + mes "Pierre is the name of the weakest ant."; + mes "They are just down here."; + next; + mes "[Cloud]"; + mes "In the case of ants, they assist eachother when attacked."; + mes "Be careful and kill 15 Pierre ants."; + set para_suv01,18; + changequest 7142,7143; + close; + case 2: + mes "[Cloud]"; + mes "......"; + mes "Haha... are you joking?"; + mes "You are exhausted from the extremely hot weather in the desert."; + next; + mes "[Cloud]"; + mes "I am a busy man."; + mes "One of the trainees was planning to visit me but that person still hasn't showed yet. I am getting nervous."; + close; + case 3: + mes "[Cloud]"; + mes "Where you are?"; + mes "You are in Anth Hell southwest of Morroc."; + mes "Morroc is the closest city, northeast of here."; + close; + } + } + if (para_suv01 == 18) { + if (checkquest(7143,HUNTING) == 2) { + mes "[Cloud]"; + mes "Hey, what was it?"; + mes "Maybe you saw an Andre when you were hunting Pierre."; + next; + mes "[Cloud]"; + mes "Well, now let's hunt Andre aswel."; + mes "Ahah the way you're looking at me, ''why didn't I ask you to do this all at once'' right?"; + next; + mes "[Cloud]"; + mes "Ain't it more fun this way?"; + mes "Hey, now your next target is 15 Andre!"; + mes "You are strong so it will be fine!"; + next; + mes "[Cloud]"; + mes "If you can't find Andre go deeper into the cave."; + mes "Ah, and be careful of Maya."; + set para_suv01,19; + changequest 7143,7144; + close; + } + mes "[Cloud]"; + mes "What do you think of Ant Hell?"; + mes "Can you stay longer?"; + mes "Ok, I will recover your strengh so, keep going."; + npcskill "AL_HEAL",10,99,60; + percentheal 100,100; + close; + } + if (para_suv01 == 19) { + if (checkquest(7144,HUNTING) == 2) { + mes "[Cloud]"; + mes "Great. You seem to have killed all of the Andre."; + mes "How do you think about fighting ants?"; + mes "Was it good?"; + next; + mes "[Cloud]"; + mes "Hey, cheer up."; + mes "To conquer Ant Hell you have one step left."; + mes "You might have guessed your next target already."; + next; + mes "[Cloud]"; + mes "Vitata!"; + mes "How can I say... He seems like honey."; + mes "Pierre is a worker. Andre is a guardian and so... Vitata is like a mother."; + next; + mes "[Cloud]"; + mes "They are really kind to kids and women but don't show any pity to ants."; + mes "Hunt the Vitata who takes care of the ant eggs."; + next; + mes "[Cloud]"; + mes "If somebody falls into Ant Hell it might be a bit safer than before."; + mes "Now it's the last step so cheer up and let's kill 10 Vitata."; + next; + mes "[Cloud]"; + mes "If you feel you're in too much danger. Just come back."; + mes "I will heal you."; + set para_suv01,20; + changequest 7144,7145; + close; + } + mes "[Cloud]"; + mes "See, to cheer you up I will heal you until you finish the training."; + mes "Chin up and cheer up."; + npcskill "AL_HEAL",10,99,60; + percentheal 100,100; + close; + } + if (para_suv01 == 20) { + if (checkquest(7145,HUNTING) == 2) { + mes "[Cloud]"; + mes "Oh... it might have been an anoying fight."; + mes "You finished so fast."; + next; + mes "[Cloud]"; + mes "Good job. Go back to the headquarters and report."; + mes "You've completed the training quickly."; + next; + mes "[Cloud]"; + mes "You will get good news."; + mes "You did a really good job even under the hot weather."; + set para_suv01,21; + changequest 7145,7146; + close; + } + mes "[Cloud]"; + mes "See, to cheer up I will heal you until you finish the training."; + mes "Chin up and cheer up."; + next; + mes "[Cloud]"; + mes "Just Vitata, isn't that an easy opponent?"; + mes "If you see Maya just run away."; + npcskill "AL_HEAL",10,99,60; + percentheal 100,100; + close; + } + if (para_suv01 >= 21) { + mes "[Cloud]"; + mes "It's enough to say that you've conquered Ant Hell."; + mes "Aren't you getting used to it here?"; + next; + mes "[Cloud]"; + mes "Go back to the headquarters and report that you completed the mission, hurry up"; + mes "you will receive good news."; + mes "You will receive the Eden Group uniform aswel."; + close; + } + mes "[Cloud]"; + mes "I am really proud of the Eden Group."; + mes "Does the uniform look good on me?"; + mes "Haha..."; + close; +} + +in_orcs01,38,175,3 script Eden Member Hooksha 803,{ + if (para_suv01 < 24) { + if (countitem(6219) > 0) { + mes "[Hooksha]"; + mes "Unbelievable why did you come here?"; + mes "Um... You are not on the third step of the training?"; + mes "Yeeee~ I'm excited~"; + next; + mes "[Hooksha]"; + mes "I am a little bored waiting for trainees. Where are they?"; + close; + } + mes "[Hooksha]"; + mes "Hello."; + mes "Why did you come here?"; + mes "Umm... Aaaaa..."; + next; + mes "[Hooksha]"; + mes "Why don't you join my group?"; + mes "If you have interest in joining us,"; + mes "you won't regret your decision."; + close; + } + if (para_suv01 == 24) { + mes "[Hooksha]"; + mes "Hello."; + mes "Are you a trainee?"; + mes "Yeah I can tell."; + mes "So shall we begin?"; + next; + mes "[Hooksha]"; + mes "Actually I don't like this training mission much but anyway let me explain it to you."; + next; + mes "[Hooksha]"; + mes "As you know this is Orc Village."; + mes "Orcs don't like humans."; + mes "They don't try to communicate with us. When they see humans they immediately attack us."; + next; + mes "[Hooksha]"; + mes "Sadly humans don't want to communicate with them either."; + mes "So we decided to take a strong approach towards them."; + mes "Actually we'd like to get rid of them all."; + next; + mes "[Hooksha]"; + mes "We're trying to conquer Orc Village."; + mes "It's the proper place to finish the beginners training mission for an adventurer like you."; + next; + mes "[Hooksha]"; + mes "That's why we've chosen this place for this mission."; + mes "Ok, we don't have a lot of time so let's begin."; + mes "First let's eliminate the weakest one."; + next; + mes "[Hooksha]"; + mes "It's better to kill them before they grow up."; + mes "Hunt 10 Orc Babies."; + mes "Don't pity them because when they grow up they become aggressive Orc Warriors."; + next; + mes "[Hooksha]"; + mes "Good or bad this is how it is going to be."; + mes "Even if they are babies don't hesitate."; + set para_suv01,25; + changequest 7147,7148; + close; + } + if (para_suv01 == 25) { + if (checkquest(7148,HUNTING) == 2) { + mes "[Hooksha]"; + mes "Great. Awesome."; + mes "It's not very pleasant so let's move on."; + next; + mes "[Hooksha]"; + mes "On the next step we will fight with Orc Warriors."; + mes "When Orc Babies grow up they become strong Orc Warriors."; + next; + mes "[Hooksha]"; + mes "They all are powerful warriors."; + mes "When you were fighting Orc Babies, you probably have been attacked by them."; + next; + mes "[Hooksha]"; + mes "Now it's time to hunt 10 Orc Warriors."; + mes "If you are in trouble just come back here to safety."; + mes "Do you understand?"; + set para_suv01,26; + changequest 7148,7149; + close; + } + mes "[Hooksha]"; + mes "There are Orc Warriors, Orc Ladies and Orc Babies in Orc Village."; + mes "They are really aggressive."; + next; + mes "[Hooksha]"; + mes "You look tired I will recover your health."; + mes "If you are in trouble just come back here to safety."; + npcskill "AL_HEAL",10,99,60; + percentheal 100,100; + close; + } + if (para_suv01 == 26) { + if (checkquest(7149,HUNTING) == 2) { + mes "[Hooksha]"; + mes "Now you can move on to the next step."; + next; + mes "[Hooksha]"; + mes "Exactly... now it's time to hunt Orc Ladies."; + mes "If you want to conquer Orc Village completely, you should kill them before they have more Orc Babies."; + next; + mes "[Hooksha]"; + mes "But you don't need to kill all of them."; + mes "Go and hunt 10 Orc Ladies."; + next; + mes "[Hooksha]"; + mes "You can already feel the strong power from outside..."; + mes "Don't hesitate to attack them."; + set para_suv01,27; + changequest 7149,7150; + close; + } + mes "[Hooksha]"; + mes "You should be exhausted by now."; + mes "But you still have more targets, understand."; + next; + mes "[Hooksha]"; + mes "You look tired, I will recover your health."; + mes "If you are in trouble just come back here to safety."; + npcskill "AL_HEAL",10,99,60; + percentheal 100,100; + close; + } + if (para_suv01 == 27) { + if (checkquest(7150,HUNTING) == 2) { + mes "[Hooksha]"; + mes "Great job."; + mes "Now you should understand how the orc tribe works here in Orc Village."; + mes "You've followed the training mission well under hot and humid circumstances."; + mes "You have now completed the 'Conquer Orc Village!' training mission. Congratulations."; + next; + mes "[Hooksha]"; + mes "Go back and report to the Eden Group headquarters."; + mes "I'm sure they will have good news for you."; + set para_suv01,28; + changequest 7150,7151; + close; + } + mes "[Hooksha]"; + mes "Orc Lady is the last target."; + mes "Cheer up~!"; + next; + mes "[Hooksha]"; + mes "You look tired, I will recover your health."; + mes "If you are in trouble just come back here to safety."; + npcskill "AL_HEAL",10,99,60; + percentheal 100,100; + close; + } + if (para_suv01 == 28) { + mes "[Hooksha]"; + mes "You have completed the training mission."; + mes "Go back to the Eden Group headquarters and report there."; + close; + } + if (para_suv01 == 29) { + mes "[Hooksha]"; + mes "Have you come here to join in the training?"; + mes "You look like an expert."; + next; + mes "[Hooksha]"; + mes "This isn't a good place to talk so let's hurry."; + mes "This place is linked with the dungeon of Orc Village."; + next; + mes "[Hooksha]"; + mes "Can you see that way."; + mes "There is a cave under the ground, normal orcs don't come here."; + next; + mes "[Hooksha]"; + mes "The safest place is in here."; + mes "There are many undead monsters down there."; + next; + mes "[Hooksha]"; + mes "The undead monsters are dangerous and threatening."; + mes "Don't hesitate when fighting them."; + next; + mes "[Hooksha]"; + mes "Now hunt those undead monsters down there."; + next; + mes "[Hooksha]"; + mes "Try to hunt 20 Orc zombies in the dungeon."; + mes "They are really well organized."; + next; + mes "[Hooksha]"; + mes "They will attack you anywhere without hesitating."; + mes "May Freya bless you."; + set para_suv01,30; + changequest 7152,7153; + close; + } + if (para_suv01 == 30) { + if (checkquest(7153,HUNTING) == 2) { + mes "[Hooksha]"; + mes "It's different from what you saw in Payon, right?"; + mes "Although you managed to kill the Orc Zombies, you can't be sure you are much stronger.."; + next; + mes "[Hooksha]"; + mes "So don't go deeper into that cave or you will die for sure."; + next; + mes "[Hooksha]"; + mes "The next target is the Orc Skeleton who was walking next to the Orc Zombies."; + mes "Hunt 20 Orc Skeletons."; + next; + mes "[Hooksha]"; + mes "It's the last step of the training mission in the Orc Dungeon."; + mes "It's all up to you."; + next; + mes "[Hooksha]"; + mes "Ok, cheer up and see you again."; + mes "Hunt 20 Orc Skeletons."; + set para_suv01,31; + changequest 7153,7154; + close; + } + mes "[Hooksha]"; + mes "Can you stay longer?"; + mes "You look tired, I will recover your health."; + mes "If you are in trouble just come back here to safety."; + npcskill "AL_HEAL",10,99,60; + percentheal 100,100; + close; + } + if (para_suv01 == 31) { + if (checkquest(7154,HUNTING) == 2) { + mes "[Hooksha]"; + mes "Your training mission has been completed."; + mes "Go back to the Eden Group headquarters and report."; + mes "I would like to say more in detail but I'm getting so tired."; + next; + mes "[Hooksha]"; + mes "Recently trainees have come here more and more so, I can't sleep at all."; + mes "I mean not due to you."; + mes "Anyway I will inform the group so go there and report."; + next; + set para_suv01,32; + changequest 7154,7155; + close; + } + mes "[Hooksha]"; + mes "Can you stay longer?"; + mes "You look tired I will recover your health."; + mes "If you are in trouble just come back here to safety."; + npcskill "AL_HEAL",10,99,60; + percentheal 100,100; + close; + } + if (para_suv01 == 32) { + mes "[Hooksha]"; + mes "Don't you have to report back to the Eden Group headquarters?"; + mes "I am so tired leave me alone."; + close; + } + if (para_suv01 > 32) { + mes "[Hooksha]"; + mes "Uh? What Orc? Explore the dungeon?"; + mes "You are having such a hard time."; + next; + mes "[Hooksha]"; + mes "This place is really good to take a rest because Orcs don't come here."; + mes "Ho hum..."; + close; + } +} + +iz_dun04,43,46,3 script Eden Member Callandiva 745,{ + + if (para_suv01 < 33) { + if (countitem(6219) > 0) { + mes "[Callandiva]"; + mes "How did you get so deep in this ocean city?"; + mes "Ah, that symbol is of our group."; + mes "You're a trainee for sure."; + next; + mes "[Callandiva]"; + mes "What? You aren't?"; + mes "I... see... I see..."; + mes "Ok... keep going."; + close; + } + mes "[Callandiva]"; + mes "Mysteriously although we're under the sea you can still breathe here."; + mes "Do you know why?"; + next; + mes "[Callandiva]"; + mes "Let's see due to the moisture my skin is so soft."; + mes "My fingers and toes are not attached to each other amazing."; + next; + mes "[Callandiva]"; + mes "I was really shocked and scared when the Eden Group dispatched me here."; + mes "Now I love this environment so much."; + mes "It's really calm..."; + close; + } + if (para_suv01 == 33) { + mes "[Callandiva]"; + mes "How did you get so deep in this ocean city?"; + mes "Ah, that symbol is of our group."; + mes "You're a trainee for sure."; + next; + mes "[Callandiva]"; + mes "Good to see you!"; + mes "Alright, look down."; + mes "Ancient buildings are sleeping under the water. They were actually built under the sea."; + next; + mes "[Callandiva]"; + mes "As you know we don't have any trouble living here."; + mes "But if you see over there... yes right there."; + next; + mes "[Callandiva]"; + mes "Can you see a humanoid fish with a very threatening spear?"; + mes "He is called a Merman and is a really professional warrior."; + next; + mes "[Callandiva]"; + mes "Okay, go and hunt 15 Merman."; + mes "That will be your 1st training mission here."; + set para_suv01,34; + changequest 7156,7157; + close; + } + if (para_suv01 == 34) { + if (checkquest(7157,HUNTING) == 2) { + mes "[Callandiva]"; + mes "Oh, you came back~!"; + mes "What did you think of those threatening Mermans?"; + mes "Actually, I thought that you would chicken out~"; + next; + mes "[Callandiva]"; + mes "Good your next opponent will be...~"; + mes "Yes, this one..."; + mes "The monster that is holding a trident."; + next; + mes "[Callandiva]"; + mes "His main abilities are magical."; + mes "The monster is called Strouf!"; + mes "Now, it's time to fight with a real magician!"; + next; + mes "[Callandiva]"; + mes "Try avoiding the Mermans and hunt 10 Strouf, kill them."; + set para_suv01,35; + changequest 7157,7158; + close; + } + mes "[Callandiva]"; + mes "Oh are you tired?"; + mes "Mermans are not easy opponents."; + mes "I will help you recover so cheer up."; + npcskill "AL_HEAL",10,99,60; + percentheal 0,100; + close; + } + if (para_suv01 == 35) { + if (checkquest(7158,HUNTING) == 2) { + mes "[Callandiva]"; + mes "Did you kill all the Strouf already?"; + mes "I wasn't counting that you'd make it."; + mes "I have eyes on the top of my head haha."; + next; + mes "[Callandiva]"; + mes "Of course I'm just kidding."; + mes "Don't look at me like that~ it was a joke~!"; + mes "Now you're feeling more at ease about this."; + next; + mes "[Callandiva]"; + mes "Go back to the headquarters and report it.~"; + mes "You will receive the last uniform from the Eden Group headquarters."; + next; + mes "[Callandiva]"; + mes "This training mission is made for beginners."; + mes "So it might be useless to you or not."; + next; + mes "[Callandiva]"; + mes "Anyway you did great job!"; + set para_suv01,36; + changequest 7158,7159; + close; + } + mes "[Callandiva]"; + mes "Oh are you tired?"; + mes "Strouf are not easy opponents."; + mes "I can help you recover so cheer up."; + npcskill "AL_HEAL",10,99,60; + percentheal 100,100; + close; + } + if (para_suv01 >= 36) { + mes "[Callandiva]"; + mes "I won't give help to you anymore."; + mes "Go back to our headquarters and report about this training mission."; + close; + } + mes "[Callandiva]"; + mes "Mysteriously although we're under the sea you can still breathe here."; + mes "Do you know why?"; + next; + mes "[Callandiva]"; + mes "Let's see due to the moisture my skin is so soft."; + mes "My fingers and toes are not attached to each other amazing."; + next; + mes "[Callandiva]"; + mes "I was really shocked and scared when the Eden Group dispatched me here."; + mes "Now I love this environment so much."; + mes "It's really calm..."; + close; +} + +moc_para01,112,96,5 script Administrator Michael 967,{ + + mes "[Michael]"; + mes "Why did you come here?"; + next; + switch (select("To get supplies:Where is here?:Upgrade equipment")) { + case 1: + if (para_suv01 == 11) { + mes "[Michael]"; + mes "If you've completed step 1"; + mes "we can supply you with a Eden Group Hat, Uniform, Manteau and Boots."; + mes "^4d4dffCheck your inventory first.^000000"; + next; + switch (select("Let me check my inventory:I have enough room.")) { + case 1: + mes "[Michael]"; + mes "Make sure you have enough room for the supplies."; + close; + case 2: + mes "[Michael]"; + mes "Two of the supplies, the ^4d4dffHat and Manteau^000000,"; + mes "will only be given out once."; + mes "So treat them with caution and care."; + next; + mes "[Michael]"; + mes "As for the Boots and the Uniforms, you will receive better quality ones based on your course grades."; + next; + mes "[Michael]"; + mes "One Eden Group Hat."; + mes "One Eden Group Uniform I."; + mes "One pair of Eden Group Boots I."; + mes "One Eden Group Manteau."; + mes "A total of 4 supplies, that's all."; + set para_suv01,12; + set para_suv02,1; + getitem 5583,1; //Para_Team_Hat1 + getitem 2560,1; //Para_Team_Manteau1 + getitem 2456,1; //Para_Team_Boots1 + getitem 15009,1; //Para_Team_Uniform1 + next; + mes "[Michael]"; + mes "Is that correct?"; + mes "It is manufactured for beginners so they don't have the best effect but they're still cheaper than equipment in the shops."; + next; + mes "[Michael]"; + mes "We made them especially for the Eden Group."; + close; + } + } + if (para_suv01 == 22) { + mes "[Michael]"; + mes "If you've completed step 2, we offer extra weapons including the basic equipment."; + next; + mes "[Michael]"; + mes "We have chosen the proper weapon for each class."; + mes "But we can't support some classes that can't join us."; + next; + mes "[Michael]"; + mes "We can't manufacture all of the weapons in the world, don't you agree?"; + next; + mes "[Michael]"; + mes "We will supply 1 Weapon, Shoes and Uniform so a total of three things."; + mes "Also we supply extra things to consider some members who can't use some of the supplies."; + next; + mes "[Michael]"; + mes "^4d4dffPlease check your inventory to get those items.^000000"; + next; + switch (select("I will make more space.:I have got enough space.")) { + case 1: + mes "[Michael]"; + mes "Make enough space."; + close; + case 2: + if (Class == Job_Swordman || Class == Job_Swordman_High || Class == Job_Knight || Class == Job_Crusader){ + mes "[Michael]"; + mes "What kind of weapon do you want?"; + mes "We have one and Two-handed swords."; + mes "Here are the options."; + next; + mes "[Michael]"; + mes "Eden Slayer I: Two-handed sword. attack 162."; + mes "Eden Saber I: One-handed sword. attack 147."; + mes "Both are Lv. 2 and the required level is 26."; + next; + mes "[Michael]"; + mes "They also can't be traded with other players or be refined."; + next; + switch (select("Eden Slayer I:Eden Sabre I")) { + case 1: + mes "[Michael]"; + mes "You've chosen the Eden Slayer I."; + mes "Additionally you'll receive the Eden Group Boots II and Uniform II."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,23; + set para_suv02,2; + getitem 1192,1; //P_Slayer1 + getitem 18514,1; //Para_Team_Hat2 + getitem 2571,1; //Para_Team_Manteau2 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Two-handed sword, Uniform and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,23; + set para_suv02,2; + getitem 1192,1; //P_Slayer1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + case 2: + mes "[Michael]"; + mes "You've chosen the Eden Sabre I."; + mes "Additionally you'll receive the Eden Group Boots II and Uniform II."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01, 23; + set para_suv02, 2; + getitem 13423,1; //P_Sabre1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A One-handed sword, Uniform and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,23; + set para_suv02,2; + getitem 13423,1; //P_Sabre1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + mes "This is what we strive for."; + close; + } + } if (Class == Job_Thief || Class == Job_Thief_High || Class == Job_Assassin || Class == Job_Rogue || Class == Job_Ninja || Class == Job_Novice || Class == Job_Novice_High) { + mes "[Michael]"; + mes "We only have 1 weapon for you."; + next; + mes "[Michael]"; + mes "Eden Dagger I: Dagger. MATK+60, attack 124."; + mes "It is Lv. 2 and the required level is 26."; + next; + mes "[Michael]"; + mes "It also can't be traded with other players or be refined."; + next; + mes "[Michael]"; + mes "You'll receive the Eden Dagger I."; + next; + mes "[Michael]"; + mes "Additionally you'll receive the Eden Group Boots II and Uniform II."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,23; + set para_suv02,2; + getitem 13050,1; //P_Dagger1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Dagger, Uniform and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,23; + set para_suv02,2; + getitem 13050,1; //P_Dagger1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + mes "This is what we strive for."; + close; + } + if (Class == Job_Merchant || Class == Job_Merchant_High || Class == Job_Blacksmith || Class == Job_Alchemist) { + mes "[Michael]"; + mes "What kind of weapon do you want?"; + mes "We have a mace and a One-handed sword."; + mes "Here are the options."; + next; + mes "[Michael]"; + mes "Eden Saber I: One-handed sword. attack 147."; + mes "Eden Mace I: Mace. attack 142."; + mes "Both are level 2 and the required level is 26."; + next; + mes "[Michael]"; + mes "They also can't be traded with other players or be refined."; + next; + switch (select("Eden Sabre I:Eden Mace I")) { + case 1: + mes "[Michael]"; + mes "You've chosen the Eden Sabre I."; + mes "Additionally you'll receive the Eden Group Boots II and Uniform II."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,23; + set para_suv02,2; + getitem 13423,1; //P_Sabre1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A One-handed Sword, Uniform and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,23; + set para_suv02,2; + getitem 13423,1; //P_Sabre1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + mes "This is what we strive for."; + close; + case 2: + mes "[Michael]"; + mes "You've chosen the Eden Mace I."; + mes "Additionally you'll receive the Eden Group Boots II and Uniform II."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,23; + set para_suv02,2; + getitem 16004,1; //P_Mace1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Mace, Uniform and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,23; + set para_suv02,2; + getitem 16004,1; //P_Mace1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + } + } + if (Class == Job_Archer || Class == Job_Archer_High || Class == Job_Hunter || Class == Job_Dancer || Class == Job_Bard) { + mes "[Michael]"; + mes "We only have 1 weapon for you."; + next; + mes "[Michael]"; + mes "Eden Bow I: Bow. attack 82."; + mes "It is Lv. 2 and the required level is 26."; + next; + mes "[Michael]"; + mes "It also can't be traded with other players or be refined."; + next; + mes "[Michael]"; + mes "You'll receive the Eden Bow I."; + next; + mes "[Michael]"; + mes "Additionally you'll receive the Eden Group Boots II and Uniform II."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01, 23; + set para_suv02, 2; + getitem 1747,1; //P_Bow1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Bow, Uniform and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,23; + set para_suv02,2; + getitem 1747,1; //P_Bow1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + } + if (Class == Job_Acolyte || Class == Job_Acolyte_High || Class == Job_Priest || Class == Job_Monk) { + mes "[Michael]"; + mes "What kind of weapon do you want?"; + mes "We have a mace and a staff."; + mes "Here are the options."; + next; + mes "[Michael]"; + mes "Eden Mace I: Mace. attack 142."; + mes "Eden Staff I: Staff. INT+2, MATK+125, attack 60."; + mes "Both are Lv. 2 and the required level is 26."; + next; + mes "[Michael]"; + mes "They also can't be traded with other players or be refined."; + next; + switch (select("Eden Staff I:Eden Mace I")) { + case 1: + mes "[Michael]"; + mes "You've chosen the Eden Staff I."; + mes "Additionally you'll receive the Eden Group Boots II and Uniform II."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,23; + set para_suv02,2; + getitem 1650,1; //P_Staff1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Staff, Uniform and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,23; + set para_suv02,2; + getitem 1650,1; //P_Staff1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + case 2: + mes "[Michael]"; + mes "You've chosen the Eden Mace I."; + mes "Additionally you'll receive the Eden Group Boots II and Uniform II."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,23; + set para_suv02,2; + getitem 16004,1; //P_Mace1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Mace, Uniform and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,23; + set para_suv02,2; + getitem 16004,1; //P_Mace1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + } + } + if (Class == Job_Mage || Class == Job_Mage_High || Class == Job_Wizard || Class == Job_Sage) { + mes "[Michael]"; + mes "We only have 1 weapon for you."; + next; + mes "[Michael]"; + mes "Eden Staff I: Staff. INT+2, MATK+125, attack 60."; + mes "It is Lv. 2 and the required level is 26."; + next; + mes "[Michael]"; + mes "It also can't be traded with other players or be refined."; + next; + mes "[Michael]"; + mes "You'll receive the Eden Staff I."; + next; + mes "[Michael]"; + mes "Additionally you'll receive the Eden Group Boots II and Uniform II."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01, 23; + set para_suv02, 2; + getitem 1650,1; //P_Staff1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Staff, Uniform and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,23; + set para_suv02,2; + getitem 1650,1; //P_Staff1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + } + if (Class == Job_Gunslinger) { + mes "[Michael]"; + mes "We only have 1 weapon for you."; + next; + mes "[Michael]"; + mes "Eden Revolver I: Revolver. HIT-5, attack 44."; + mes "It is Lv. 2 and the required level is 26."; + next; + mes "[Michael]"; + mes "It also can't be traded with other players or be refined."; + next; + mes "[Michael]"; + mes "You'll receive the Eden Revolver I."; + next; + mes "[Michael]"; + mes "Additionally you'll receive the Eden Group Boots II and Uniform II."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01, 23; + set para_suv02, 2; + getitem 13112,1; //P_Revolver1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Revolver, Uniform and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,23; + set para_suv02,2; + getitem 13112,1; //P_Revolver1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + } + mes "[Michael]"; + mes "Let me see... you will receive.."; + mes "the Eden Group Boots II and Uniform II."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "I don't know what weapon will suit you so, you'll get a Dagger."; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,23; + set para_suv02,2; + getitem 13050,1; //P_Dagger1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Weapon, Uniform and Boots all 3 supplies."; + mes "I don't know what weapon will suit you so, you'll get a Dagger."; + mes "Please check it again."; + set para_suv01,23; + set para_suv02,2; + getitem 13050,1; //P_Dagger1 + getitem 2457,1; //Para_Team_Boots2 + getitem 15010,1; //Para_Team_Uniform2 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + } + } + if (para_suv01 == 37) { + mes "[Michael]"; + mes "You've completed the last training course."; + mes "It's time for you to receive a new weapon."; + next; + mes "[Michael]"; + mes "We have more upgraded weapons, uniforms and boots."; + mes "Ah, in case of the weapon that was made only for 1st jobs."; + mes "So, I can't offer them to higher jobs."; + next; + mes "[Michael]"; + mes "^4d4dffPlease check you inventory to get those supplies.^000000"; + next; + switch (select("I'll come back.:I have enough room.")) { + case 1: + mes "[Michael]"; + mes "Make sure you have enough room."; + close; + case 2: + if (Class == Job_Swordman || Class == Job_Swordman_High || Class == Job_Knight || Class == Job_Crusader) { + mes "[Michael]"; + mes "What kind of weapon do you want?"; + mes "We have one and Two-handed swords."; + mes "Here are the options."; + next; + mes "[Michael]"; + mes "Eden Saber II: One-handed sword. attack 170."; + mes "Eden Slayer II: Two-handed sword. attack 185."; + mes "Both of them are Lv. 2 weapons and the required level is 40."; + next; + mes "[Michael]"; + mes "They also can't be traded with other players or be refined."; + next; + switch (select("Eden Saber II:Eden Slayer II")) { + case 1: + mes "[Michael]"; + mes "You've chosen the Eden Sabre II."; + mes "Additionally you'll receive the Eden Group Boots III and Uniform III."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01, 38; + set para_suv02, 3; + getitem 13424,1; //P_Sabre2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A One-handed sword, Uniform, and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,38; + set para_suv02,3; + getitem 13424,1; //P_Sabre2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + case 2: + mes "[Michael]"; + mes "You've chosen the Eden Slayer II."; + mes "Additionally you'll receive the Eden Group Boots III and Uniform III."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,38; + set para_suv02,3; + getitem 1193,1; //P_Slayer2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Two-handed sword, Uniform, and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,38; + set para_suv02,3; + getitem 1193,1; //P_Slayer2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + } + } + if (Class == Job_Thief || Class == Job_Thief_High || Class == Job_Assassin || Class == Job_Rogue) { + mes "[Michael]"; + mes "We only have 1 weapon for you."; + next; + mes "[Michael]"; + mes "Eden Dagger II: Dagger. MATK+70, attack 158."; + mes "It is Lv. 2 and the required level is 40."; + next; + mes "[Michael]"; + mes "It also can't be traded with other players or be refined."; + next; + mes "[Michael]"; + mes "You'll receive the Eden Dagger II."; + next; + mes "[Michael]"; + mes "Additionally you'll receive the Eden Group Boots III and Uniform III."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv02, 3; + getitem 13051,1; //P_Dagger2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Dagger, Uniform, and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,38; + set para_suv02,3; + getitem 13051,1; //P_Dagger2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + } + if (Class == Job_Acolyte || Class == Job_Acolyte_High || Class == Job_Priest || Class == Job_Monk) { + mes "[Michael]"; + mes "What kind of weapon do you want?"; + mes "We have a mace and a staff."; + mes "Here are the options."; + next; + mes "[Michael]"; + mes "Eden Mace II: Mace. attack 163."; + mes "Eden Staff II: Staff. INT+3, MATK+150, attack 60."; + mes "Both of them are Lv. 2 weapons and the required level is 40."; + next; + mes "[Michael]"; + mes "They also can't be traded with other players or be refined."; + next; + switch (select("Eden Staff II:Eden Mace II")) { + case 1: + mes "[Michael]"; + mes "You've chosen the Eden Staff II."; + mes "Additionally you'll receive the Eden Group Boots III and Uniform III."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,38; + set para_suv02,3; + getitem 1651,1; //P_Staff2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Staff, Uniform, and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,38; + set para_suv02,3; + getitem 1651,1; //P_Staff2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + case 2: + mes "[Michael]"; + mes "You've chosen the Eden Mace II."; + mes "Additionally you'll receive the Eden Group Boots III and Uniform III."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,38; + set para_suv02,3; + getitem 16005,1; //P_Mace2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Mace, Uniform, and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,38; + set para_suv02,3; + getitem 16005,1; //P_Mace2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + } + } + if (Class == Job_Archer || Class == Job_Archer_High || Class == Job_Hunter || Class == Job_Dancer || Class == Job_Bard) { + mes "[Michael]"; + mes "We only have 1 weapon for you."; + next; + mes "[Michael]"; + mes "Eden Bow II: Bow. attack 82."; + mes "It is Lv. 2 and the required level is 40."; + next; + mes "[Michael]"; + mes "It also can't be traded with other players or be refined."; + next; + mes "[Michael]"; + mes "You'll receive the Eden Bow II."; + next; + mes "[Michael]"; + mes "Additionally you'll receive the Eden Group Boots III and Uniform III."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,38; + set para_suv02,3; + getitem 1748,1; //P_Bow2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Bow, Uniform, and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,38; + set para_suv02,3; + getitem 1748,1; //P_Bow2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + } + if (Class == Job_Novice || Class == Job_Novice_High || Class == Job_SuperNovice || Class == Job_Soul_Linker || Class == Job_Ninja) { + mes "[Michael]"; + mes "We only have 1 weapon for you."; + next; + mes "[Michael]"; + mes "Eden Dagger II: Dagger. MATK+70, attack 158."; + mes "It is Lv. 2 and the required level is 40."; + next; + mes "[Michael]"; + mes "It also can't be traded with other players or be refined."; + next; + mes "[Michael]"; + mes "You'll receive the Eden Dagger II."; + next; + mes "[Michael]"; + mes "Additionally you'll receive the Eden Group Boots III and Uniform III."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,38; + set para_suv02,3; + getitem 13051,1; //P_Dagger2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Dagger, Uniform, and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01, 38; + set para_suv02, 3; + getitem 13051,1; //P_Dagger2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + } + if (Class == Job_Mage || Class == Job_Mage_High || Class == Job_Wizard || Class == Job_Sage) { + mes "[Michael]"; + mes "We only have 1 weapon for you."; + next; + mes "[Michael]"; + mes "Eden Staff II: Staff. INT+3, MATK+155, attack 60."; + mes "It is Lv. 2 and the required level is 40."; + next; + mes "[Michael]"; + mes "It also can't be traded with other players or be refined."; + next; + mes "[Michael]"; + mes "You'll receive the Eden Staff II."; + next; + mes "[Michael]"; + mes "Additionally you'll receive the Eden Group Boots III and Uniform III."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,38; + set para_suv02,3; + getitem 1651,1; //P_Staff2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Staff, Uniform, and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,38; + set para_suv02,3; + getitem 1651,1; //P_Staff2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + } + if (Class == Job_Merchant || Class == Job_Merchant_High || Class == Job_Blacksmith || Class == Job_Alchemist) { + mes "[Michael]"; + mes "What kind of weapon do you want?"; + mes "We have a mace and a one-handed sword."; + mes "Here are the options."; + next; + mes "[Michael]"; + mes "Eden Saber II: One-handed sword. attack 170."; + mes "Eden Mace II: Mace. attack 163."; + mes "Both of them are Lv. 2 weapons and the required level is 40."; + next; + mes "[Michael]"; + mes "They also can't be traded with other players or be refined."; + next; + switch (select("Eden Saber II:Eden Mace II")) { + case 1: + mes "[Michael]"; + mes "You've chosen the Eden Sabre II."; + mes "Additionally you'll receive the Eden Group Boots III and Uniform III."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,38; + set para_suv02,3; + getitem 13424,1; //P_Sabre2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A One-handed sword, Uniform and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,38; + set para_suv02,3; + getitem 13424,1; //P_Sabre2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + case 2: + mes "[Michael]"; + mes "You've chosen the Eden Mace II."; + mes "Additionally you'll receive the Eden Group Boots III and Uniform III."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01, 38; + set para_suv02, 3; + getitem 16005,1; //P_Mace2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Mace, Uniform and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,38; + set para_suv02,3; + getitem 16005,1; //P_Mace2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + } + } + if (Class == Job_Gunslinger) { + mes "[Michael]"; + mes "We only have 1 weapon for you."; + next; + mes "[Michael]"; + mes "Eden Revolver II: Revolver. HIT-5, attack 60."; + mes "It is Lv. 2 and the required level is 40."; + next; + mes "[Michael]"; + mes "It also can't be traded with other players or be refined."; + next; + mes "[Michael]"; + mes "You'll receive the Eden Revolver II."; + next; + mes "[Michael]"; + mes "Additionally you'll receive the Eden Group Boots III and Uniform III."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,38; + set para_suv02,3; + getitem 13113,1; //P_Revolver2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Revolver, Uniform and Boots all 3 supplies."; + mes "Please check it again."; + set para_suv01,38; + set para_suv02,3; + getitem 13113,1; //P_Revolver2 + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + } + mes "[Michael]"; + mes "Let me see... you will receive.."; + mes "the Eden Group Boots III and Uniform III."; + next; + if (para_suv02 == 0) { + mes "[Michael]"; + mes "You don't have a record of receiving any supplies"; + mes "so, you'll receive the Eden Group Hat and Manteau aswell."; + set para_suv01,38; + set para_suv02,3; + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + getitem 5583,1; //Para_Team_Hat + getitem 2560,1; //Para_Team_Manteau + next; + mes "[Michael]"; + mes "Check your supplies again and look after it."; + close; + } + mes "[Michael]"; + mes "A Uniform and Boots all 2 supplies."; + mes "Please check it again."; + set para_suv01,38; + set para_suv02,3; + getitem 2458,1; //Para_Team_Boots3 + getitem 15011,1; //Para_Team_Uniform3 + next; + mes "[Michael]"; + mes "I hope they're useful to you."; + close; + } + mes "[Michael]"; + mes "Wait...I will check the record..."; + mes "..."; + mes "...hummmm."; + next; + mes "[Michael]"; + mes "Sorry, but I can't find any record that you can obtain supplies."; + mes "Are you sure?"; + close; + } + case 2: + mes "[Michael]"; + mes "We store weapons, armor and other goods which were created by the Eden Group here."; + mes "We also have a lot of special stuff."; + next; + mes "[Michael]"; + mes "To prepare for emergencies, we hav enough equipment and supplies for an entire army."; + mes "Frankly... we don't have a use for it now but in case soemthing happens like in Morroc."; + next; + mes "[Michael]"; + mes "Just take a look around and don't touch anything."; + next; + mes "[Michael]"; + mes "If I make a mistake, Reke will punish me."; + close; + case 3: + mes "[Michael]"; + mes "You mean upgrading equipment, right?"; + mes "We can only upgrade the Eden Group Hat."; + if (para_suv02 == 3) { + if (countitem(5583) > 0) { + mes "[Michael]"; + mes "What status bonus do you want to upgrade?"; + next; + switch (select("Upgrade STR:Upgrade AGI:Upgrade VIT:Upgrade INT:Upgrade DEX:Upgrade LUK:Nevermind.")) { + case 1: + mes "[Michael]"; + mes "I see."; + mes "I will ^4d4dffUpgrade STR^000000."; + mes "Are you sure?"; + next; + switch (select("Yes I am.:No wait.")) { + case 1: + mes "[Michael]"; + mes "I will start to upgrade."; + next; + mes "[Michael]"; + mes "Here you are."; + set para_suv02,4; + delitem 5583,1; + getitem2 5583, 1, 1, 0, 0, 0, 0, 0, 4701; + close; + case 2: + mes "[Michael]"; + mes "Don't you want to upgrade?"; + close; + } + case 2: + mes "[Michael]"; + mes "I see."; + mes "I will ^4d4dffUpgrade AGI^000000."; + mes "Are you sure?"; + next; + switch (select("Yes I am.:No wait.")) { + case 1: + mes "[Michael]"; + mes "I will start to upgrade."; + next; + mes "[Michael]"; + mes "Here you are."; + set para_suv02,4; + delitem 5583,1; + getitem2 5583, 1, 1, 0, 0, 0, 0, 0, 4731; + close; + case 2: + mes "[Michael]"; + mes "Don't you want to upgrade?"; + close; + } + case 3: + mes "[Michael]"; + mes "I see."; + mes "I will ^4d4dffUpgrade VIT^000000."; + mes "Are you sure?"; + next; + switch (select("Yes I am.:No wait.")) { + case 1: + mes "[Michael]"; + mes "I will start to upgrade."; + next; + mes "[Michael]"; + mes "Here you are."; + set para_suv02,4; + delitem 5583,1; + getitem2 5583, 1, 1, 0, 0, 0, 0, 0, 4741; + close; + case 2: + mes "[Michael]"; + mes "Don't you want to upgrade?"; + close; + } + case 4: + mes "[Michael]"; + mes "I see."; + mes "I will ^4d4dffUpgrade INT^000000."; + mes "Are you sure?"; + next; + switch (select("Yes I am.:No wait.")) { + case 1: + mes "[Michael]"; + mes "I will start to upgrade."; + next; + mes "[Michael]"; + mes "Here you are."; + set para_suv02,4; + delitem 5583,1; + getitem2 5583, 1, 1, 0, 0, 0, 0, 0, 4711; + close; + case 2: + mes "[Michael]"; + mes "Don't you want to upgrade?"; + close; + } + case 5: + mes "[Michael]"; + mes "I see."; + mes "I will ^4d4dffUpgrade DEX^000000."; + mes "Are you sure?"; + next; + switch (select("Yes I am.:No wait.")) { + case 1: + mes "[Michael]"; + mes "I will start to upgrade."; + next; + mes "[Michael]"; + mes "Here you are."; + set para_suv02, 4; + delitem 5583,1; + getitem2 5583, 1, 1, 0, 0, 0, 0, 0, 4721; + close; + case 2: + mes "[Michael]"; + mes "Don't you want to upgrade?"; + close; + } + case 6: + mes "[Michael]"; + mes "I see."; + mes "I will ^4d4dffUpgrade LUK^000000."; + mes "Are you sure?"; + next; + switch (select("Yes I am.:No wait.")) { + case 1: + mes "[Michael]"; + mes "I will start to upgrade."; + next; + mes "[Michael]"; + mes "Here you are."; + set para_suv02, 4; + delitem 5583,1; + getitem2 5583, 1, 1, 0, 0, 0, 0, 0, 4751; + close; + case 2: + mes "[Michael]"; + mes "Don't you want to upgrade?"; + close; + } + case 7: + mes "[Michael]"; + mes "Why? It'll be beter than it is."; + mes "Anyway, we can only offer you one Hat."; + next; + mes "[Michael]"; + mes "What you do with it is up to you."; + close; + } + } + mes "[Michael]"; + mes "First come with a Hat that you want me to upgrade."; + mes "Make sure that it's in your inventory, got it?"; + close; + } + if (para_suv02 == 4) { + mes "[Michael]"; + mes "Umm, didn't you upgrade this already?"; + mes "According to the records"; + mes ""+strcharinfo(0)+": Has already upgraded their Hat."; + next; + mes "[Michael]"; + mes "We can only offer 1 upgrade."; + mes "Sorry but I can't do it twice."; + close; + } + mes "[Michael]"; + mes "You haven't received all the supplies up to step 3."; + mes "Upgrading your Hat is a special service."; + next; + mes "[Michael]"; + mes "Sorry but I can't help you."; + close; + } +} + +moc_para01,179,44,3 script Chef 820,{ + + mes "[Chef]"; + mes "What's up?"; + mes "Do you want a Meal? Or do you have other business?"; + next; + switch (select("Order a meal.:Talk.")) { + case 1: + mes "[Chef]"; + mes "Choose one of the three course meals A, B or C."; + mes "Do you want a explanation?"; + next; + switch (select("I want a explanation.:Order course meal A:Order course meal B:Order course meal C:End Conversation.")) { + case 1: + mes "[Chef]"; + mes "Uh? what do you want to know?"; + next; + switch (select("About course meal A.:About course meal B.:About course meal C.:End Conversation.")) { + case 1: + mes "[Chef]"; + mes "Course meal A is for nomal people."; + mes "It has three kinds of dishes and the main is...."; + mes " "; + mes "-Chef is trying to point to a dish in the picture. There is a black roll.-"; + next; + mes "[Chef]"; + mes "It's made of sea grass so, it's dry like paper."; + mes "It's a roll with steamed rice, vegetables and meat inside."; + mes "It seems simple but it is really good and healthy."; + next; + mes "[Chef]"; + mes "The ingredients mix well with the spicy sauce."; + mes "It is also mixed with chopped meat like sausages."; + next; + mes "[Chef]"; + mes "It's simple and cheap so it is really popular with everyone."; + mes "Just 3,000 Zeny."; + mes "You will feel satisfied after eating it."; + close; + case 2: + mes "[Chef]"; + mes "Um course meal B is."; + mes "I make a sauce with aromatic vegetables and meat in a soup."; + next; + mes "[Chef]"; + mes "The meat is boiled so it is fork tender in the soup."; + mes "When the soup is almost done I add noodles for the finishing touch."; + next; + mes "[Chef]"; + mes "It's a good dish to share with your friends."; + mes "It's 4,000 Zeny."; + mes "It's a very fun dish to enjoy."; + close; + case 3: + mes "[Chef]"; + mes "Now for course meal C..."; + mes "It's a masterpiece of meat... Legend of the meat class!"; + next; + mes "[Chef]"; + mes "Beef, bacon,"; + mes "strip loin,"; + mes "rib eye roll"; + mes "..."; + next; + mes "[Chef]"; + mes "Do you need more information?"; + mes "Don't worry."; + mes "I use the besk oak to smoke it."; + mes "Ah, it's 5,000 Zeny. Cheap isn't it? I only use the best meat so don't worry."; + close; + case 4: + mes "[Chef]"; + mes "I don't have enough time to chat with you..."; + close; + } + case 2: + mes "[Chef]"; + mes "Course meal A?"; + mes "Ah, Kim-dduck-soon."; + mes "It's the representative meal for normal citizens."; + next; + if (countitem(6219) > 0) { + if (Zeny > 2699) { + mes "[Chef]"; + mes "Hey, here you are."; + mes "Enjoy your meal."; + next; + mes "- After eating the meal, You feel a little bit full."; + mes "You've recovered some HP and SP. -"; + set Zeny, Zeny - 2700; + percentheal 50,0; + percentheal 0,50; + close; + } + mes "[Chef]"; + mes "This meal costs 3,000 zeny but I will serve it for 2,700."; + mes "Since you are a eden member you get a 10% discount so, it's 2,700 zeny."; + close; + } + if (Zeny > 2999) { + mes "[Chef]"; + mes "Hey, here you are."; + mes "Enjoy your meal."; + next; + mes "- After eating the meal, You feel a little bit full."; + mes "You've recovered some HP and SP. -"; + set Zeny, Zeny - 3000; + percentheal 50,0; + percentheal 0,50; + close; + } + mes "[Chef]"; + mes "This meal costs 3,000 zeny."; + mes "How many times do I have to tell you?"; + close; + case 3: + mes "[Chef]"; + mes "Course meal B?"; + mes "This food with meat and vegetables in hot soup has it's origins from nomadic life under the cold and dry nature."; + next; + if (countitem(6219) > 0) { + if (Zeny > 3599) { + mes "[Chef]"; + mes "Hey, here you are."; + mes "Enjoy your meal."; + next; + mes "- After eating the meal, You feel a little bit full."; + mes "You've recovered some HP and SP. -"; + set Zeny, Zeny - 3600; + percentheal 75,0; + percentheal 0,75; + close; + } + mes "[Chef]"; + mes "This meal costs 4,000 zeny but I will serve it for 3,600."; + mes "Since you are a eden member you get a 10% discount so, it's 3,600 zeny."; + close; + } + if (Zeny > 3999) { + mes "[Chef]"; + mes "Hey, here you are."; + mes "Enjoy your meal."; + next; + mes "- After eating the meal, You feel a little bit full."; + mes "You've recovered some HP and SP. -"; + set Zeny, Zeny - 4000; + percentheal 75,0; + percentheal 0,75; + close; + } + mes "[Chef]"; + mes "This meal costs 4,000 zeny."; + mes "How many times do I have to tell you?"; + close; + case 4: + if (countitem(6219) > 0) { + if (Zeny > 4499) { + mes "[Chef]"; + mes "Hey, here you are."; + mes "Enjoy your meal."; + next; + mes "- The Rib Eye Roll is grilled on the oak."; + mes "- After eating the meal, You feel a little bit full."; + mes "You've recovered your HP and SP. -"; + set Zeny, Zeny - 4500; + percentheal 100,0; + percentheal 0,100; + close; + } + mes "[Chef]"; + mes "This meal costs 5,000 zeny but I will serve it for 4,500."; + mes "Since you are a eden member you get a 10% discount so, it's 4,500 zeny."; + close; + } + if (Zeny > 4999) { + mes "[Chef]"; + mes "Hey, here you are."; + mes "Enjoy your meal."; + next; + mes "Hey, here you are."; + mes "- The Rib Eye Roll is grilled on the oak."; + mes "- After eating the meal, You feel a little bit full."; + mes "You've recovered your HP and SP. -"; + set Zeny, Zeny - 5000; + percentheal 100,0; + percentheal 0,100; + close; + } + mes "[Chef]"; + mes "This meal costs 5,000 zeny."; + mes "How many times do I have to tell you?"; + close; + case 5: + mes "[Chef]"; + mes "It's up to you."; + close; + } + case 2: + if (countitem(6219) > 0) { + mes "[Chef]"; + mes "Most jobs should be managed by yourself. So it might be difficult, right?"; + mes "Actually it's harmful so they have requested continuously."; + next; + mes "[Chef]"; + mes "Can't we all work together by helping each other out?"; + mes "Anyway, you..."; + next; + if (para_suv01 == 0) { + if (BaseLevel < 41) { + mes "[Chef]"; + mes "How are you?"; + mes "Ah... now you don't look like a beginner."; + mes "Do you want to know some good information?"; + next; + mes "[Chef]"; + mes "The Eden Group... sometimes receives jobs."; + mes "But they also manufacture armor and weapons by themselves."; + next; + mes "[Chef]"; + mes "If you want, you can get a uniform from the Eden Group."; + next; + mes "[Chef]"; + mes "To get it you need to complete their missions."; + mes "If you have any interest, meet Instructor Boya at the desk."; + close; + } + mes "[Chef]"; + mes "You look like an expert..."; + mes "umm emm.. "; + mes "umm emm.. ummm.."; + next; + mes "[Chef]"; + mes "Yes! I found a thing that you are missing!"; + mes "You didn't get eden group uniform?"; + next; + mes "[Chef]"; + mes "Hmm, it's not neccessary but if you remain with the eden group, it would be a good symbol."; + next; + mes "[Chef]"; + mes "You can't get it easily but.."; + mes "If you have an interest, ask Instructor Boya at the desk."; + close; + } + mes "[Chef]"; + mes "Sure, the uniform goes well with you."; + mes "Oh, sure."; + mes "The leader makes the designs these days."; + next; + mes "[Chef]"; + mes "Ahah..especially the hat."; + mes "To.. me.. the hat... um."; + mes "It goes well with Laime but with Luke... I don't know.."; + next; + switch (select("What about the hat?:Luke?")) { + case 1: + mes "[Chef]"; + mes "Nothing. It's so cute."; + mes "I am concerned about the ribbon."; + mes "But, it is essential that I wear this hat.."; + next; + mes "[Chef]"; + mes "Hahahah I don't care."; + mes "I don't care at all!"; + mes "Hahaha.. aaaahahahaha... "; + close; + case 2: + mes "[Chef]"; + mes "He is a knife expert."; + mes "One of our guard leaders."; + mes "Who is also in charge of the security in this office."; + next; + mes "[Chef]"; + mes "Almost everyone just hired wonders about him."; + mes "But Laime and Luke are totally different."; + next; + mes "[Chef]"; + mes "The leaders have worked together for a long time."; + mes "But the leader wants to hide his past..."; + next; + mes "[Chef]"; + mes "What I guess is... he might be a son of a rich family."; + mes "Rumor is that Luke was the family guard."; + mes "Laime was a servant? Wasn't she?"; + mes "What do you think about my story?"; + next; + select("....."); + mes "[Chef]"; + mes "............"; + mes "Ahah..hey~ even if I talked useless things don't look at me like that"; + mes "but it's really true that three people established this Eden Group."; + close; + } + } + mes "[Chef]"; + mes "Uh? Missions. Did you find the right place?"; + mes "Also let me se... you are not one of our members. How can I give you work?"; + next; + mes "[Chef]"; + mes "Just eat in the restaurant."; + mes "We serve meals to everyone."; + mes "I am pretty sure they taste great!"; + close; + } +} + +moc_para01,23,35,4 script Instructor Ur 468,{ + mes "[Instructor Ur]"; + if (countitem(6219) > 0) { + if (BaseLevel < 60) { + mes "Umm. You should raise your level more!"; + mes "You need to be at least level 60!"; + mes "I'm sorry but those are the rules."; + close; + } + if ((BaseLevel >= 60) && (BaseLevel < 70) && (para_suv01 < 39)) { + callsub L_GiveQuest; + mes "Great! I want you to go find ^0000FFRomeo in Comodo^000000."; + next; + set para_suv01,39; + setquest 7214; + mes "[Instructor Ur]"; + mes "You should see him near the entrance to the ^0000FFNorth Cave in Comodo^000000."; + close; + } + if ((para_suv01 == 39) && (romeo < 4)) { + mes "What are you waiting for? Go find ^0000FFRomeo in Comodo^000000."; + next; + mes "[Instructor Ur]"; + mes "You should see him near the entrance to the ^0000FFNorth Cave in Comodo^000000."; + close; + } + if ((para_suv01 == 40) && (romeo == 4)) callsub L_CompleteQuest,7218,41,5; + if (para_suv01 == 41) callsub L_Toren; + if ((para_suv01 == 42) && (BaseLevel < 70)) callsub L_Level,70; + if ((BaseLevel >= 70) && (BaseLevel < 80) && (para_suv01 < 39 || para_suv01 == 42)) { + callsub L_GiveQuest; + mes "Great! I want you to go find ^0000FFJohan in Glast Heim^000000."; + next; + set para_suv01,43; + setquest 7219; + mes "[Instructor Ur]"; + mes "You should see him near the entrance of the ^0000FFGlast Heim Church^000000."; + close; + } + if ((para_suv01 == 43) && (johan < 3)) { + mes "What are you waiting for? Go find ^0000FFJohan in Glast Heim^000000."; + next; + mes "[Instructor Ur]"; + mes "You should see him near the entrance of the ^0000FFGlast Heim Church^000000."; + close; + } + if ((para_suv01 == 43) && (johan == 3)) callsub L_CompleteQuest,7222,44,7; + if (para_suv01 == 44) callsub L_Toren; + if ((para_suv01 == 45) && (BaseLevel < 80)) callsub L_Level,80; + if ((BaseLevel >= 80) && (BaseLevel < 90) && (para_suv01 < 39 || para_suv01 == 42 || para_suv01 == 45)) { + callsub L_GiveQuest; + mes "Great! I want you to go find ^0000FFKiren in Einbroch^000000."; + next; + set para_suv01,46; + setquest 7223; + mes "[Instructor Ur]"; + mes "You should see her near the ^0000FFSouth Enterance^000000 outside of town."; + close; + } + if ((para_suv01 == 46) && (kiren < 3)) { + mes "What are you waiting for? Go find ^0000FFKiren in Einbroch^000000."; + next; + mes "[Instructor Ur]"; + mes "You should see her near the ^0000FFSouth Enterance^000000 outside of town."; + close; + } + if ((para_suv01 == 46) && (kiren == 3)) callsub L_CompleteQuest,7228,47,9; + if (para_suv01 == 47) callsub L_Toren; + if ((para_suv01 == 48) && (BaseLevel < 90)) callsub L_Level,90; + if ((BaseLevel >= 90) && (BaseLevel < 100) && (para_suv01 < 39 || para_suv01 == 42 || para_suv01 == 45 || para_suv01 == 48)) { + callsub L_GiveQuest; + mes "Great! I want you to go find ^0000FFNaomi in Ice Dungeon^000000."; + next; + set para_suv01,49; + setquest 7229; + mes "[Instructor Ur]"; + mes "You should see her near the ^0000FFEntrance^000000 when you enter the dungeon."; + close; + } + if ((para_suv01 == 49) && (naomi < 3)) { + mes "What are you waiting for? Go find ^0000FFNaomi in Ice Dungeon^000000."; + next; + mes "[Instructor Ur]"; + mes "You should see her near the ^0000FFEntrance^000000 when you enter the dungeon."; + close; + } + if ((para_suv01 == 49) && (naomi == 3)) callsub L_CompleteQuest,7232,50,11; + if (para_suv01 == 50) callsub L_Toren; + if ((para_suv01 == 51) && (BaseLevel < 100)) callsub L_Level,100; + if ((BaseLevel >= 100) && (para_suv01 < 39 || para_suv01 == 42 || para_suv01 == 45 || para_suv01 == 48 || para_suv01 == 51)) { + callsub L_GiveQuest; + mes "Great! I want you to go find ^0000FFMargaret in the Expedition Camp^000000."; + next; + set para_suv01,52; + setquest 7233; + mes "[Instructor Ur]"; + mes "You should see her near the ^0000FFBuilding in the Center^000000 of the Expedition Camp."; + close; + } + if ((para_suv01 == 52) && (margaret < 7)) { + mes "What are you waiting for? Go find ^0000FFMargaret in the Expedition Camp^000000."; + next; + mes "[Instructor Ur]"; + mes "You should see her near the ^0000FFBuilding in the Center^000000 of the Expedition Camp."; + close; + } + if ((para_suv01 == 52) && (margaret == 7)) callsub L_CompleteQuest,7237,53,13; + if (para_suv01 == 53) callsub L_Toren; + if (para_suv01 > 53) { + mes "[Instructor Ur]"; + mes "I'm out of rewards to give to you. But don't worry, there are much better gears out there for you to obtain."; + close; + } + } + mes "You are not in my group are you?"; + mes "I don't have anything to say to outsiders."; + mes "If you want something register with my group."; + next; + mes "[Instructor Ur]"; + mes "To register with the Eden Group ask Laime Evenor next to me."; + close; + +L_GiveQuest: + mes "You are just in time! I have a new quest for you, would you like to start it now?"; + next; + if(select("Yes!:No, thanks.") == 2) { + mes "[Instructor Ur]"; + mes "Thats too bad. I had some nice rewards I could have given to you for helping me."; + close; + } + mes "[Instructor Ur]"; + return; +L_CompleteQuest: + mes "Done already? Great work!"; + next; + set para_suv01, getarg(1); + completequest getarg(0); + if (para_suv02 < getarg(2)) set para_suv02, getarg(2); + mes "[Instructor Ur]"; +L_Toren: + mes "Go to the back room and talk to ^0000FFToren and the Weapons Expert^000000 for your rewards!"; + close; +L_Level: + mes "I'm sorry, I have no new quests available for you at this time. Come back when you are at least ^FF0000Base Level "+getarg(0)+"^000000."; + close; +} + +comodo,173,354,6 script Romeo#01 55,{ + if ((para_suv01 == 39) && (romeo < 1)) { + mes "[Romeo]"; + mes "Ah, there you are."; + next; + mes "[Romeo]"; + mes "Before we begin, I want to test you."; + next; + set romeo,1; + changequest 7214,7215; + mes "[Romeo]"; + mes "Enter the cave and kill ^0000FF3 Stalactic Golems^000000, then return to me."; + close; + } + if (romeo == 1) { + if (checkquest(7215,HUNTING) == 2) { + mes "[Romeo]"; + mes "You did it? Thats all the proof I needed."; + next; + mes "[Romeo]"; + mes "You should then have no trouble killing ^0000FF10 more Stalactic Golems^000000, right?"; + next; + getexp 10000,10000; + set romeo,2; + changequest 7215,7216; + mes "[Romeo]"; + mes "^0000FFMeet me at the north-east exit of the cave^000000 when you are done, I will be waiting for you outside."; + close; + } + mes "[Romeo]"; + mes "Don't give up, I'm only asking you to kill ^0000FF3 Stalactic Golems^000000."; + close; + } + if (romeo == 2) { + mes "[Romeo]"; + mes "You should then have no trouble killing ^0000FF10 more Stalactic Golems^000000, right?"; + next; + mes "[Romeo]"; + mes "After you have killed all ^0000FF10 Stalactic Golems^000000, ^0000FFmeet me at the north-east exit of the cave^000000. I will be waiting for you outside."; + close; + } + mes "[Romeo]"; + mes "The person I'm waiting for is late..."; + close; +} + +um_fild01,34,280,6 script Romeo#02 55,{ + if (romeo == 2) { + if (checkquest(7216,HUNTING) == 2) { + mes "[Romeo]"; + mes "Wow, you have arrived sooner than I expected."; + next; + mes "[Romeo]"; + mes "There is only one more thing I need you to do for me."; + next; + getexp 10000,10000; + set romeo,3; + changequest 7216,7217; + mes "[Romeo]"; + mes "Bring me ^0000FF5 Shoulder Pads and 7 Sharp Leafs^000000."; + close; + } + mes "[Romeo]"; + mes "You are early, but you didn't kill ^0000FF10 Stalactic Golems^000000 like I asked you to do."; + close; + } + if (romeo == 3) { + if ((countitem(7196) >= 5) && (countitem(7100) >= 7)) { + mes "[Romeo]"; + mes "Your work here is done my friend."; + next; + delitem 7196,5; // Shoulder Pad + delitem 7100,7; // Sharp Leaf + getexp 10000,10000; + set romeo,4; + set para_suv01,40; + changequest 7217,7218; + mes "[Romeo]"; + mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward."; + close; + } + mes "[Romeo]"; + mes "Bring me ^0000FF5 Shoulder Pads and 7 Sharp Leafs^000000."; + close; + } + if (romeo == 4) { + mes "[Romeo]"; + mes "Thank you again for all your help."; + next; + mes "[Romeo]"; + mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward."; + close; + } + mes "[Romeo]"; + mes "What is taking so long..."; + close; +} + +glast_01,195,131,6 script Johan 95,{ + if ((para_suv01 == 43) && (johan < 1)) { + mes "[Johan]"; + mes "..."; + next; + mes "[Johan]"; + mes "I don't need to explain anything to you."; + next; + set johan,1; + changequest 7219,7220; + mes "[Johan]"; + mes "Go kill ^0000FF20 Wraiths^000000."; + close; + } + if (johan == 1) { + if (checkquest(7220,HUNTING) == 2) { + mes "[Johan]"; + mes "Good."; + next; + mes "[Johan]"; + mes "Next I want you to kill ^0000FF10 Evil Druids^000000."; + next; + getexp 20000,20000; + set johan,2; + changequest 7220,7221; + mes "[Johan]"; + mes "This time kill them quickly, I don't like to wait."; + close; + } + mes "[Johan]"; + mes "... ^0000FF20 Wraiths^000000 shouldn't take this long."; + close; + } + if (johan == 2) { + if (checkquest(7221,HUNTING) == 2) { + mes "[Johan]"; + mes "Hmmmm, better."; + next; + mes "[Johan]"; + mes "Ok, I'm done with you."; + next; + getexp 20000,20000; + set johan,3; + changequest 7221,7222; + mes "[Johan]"; + mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward."; + close; + } + mes "[Johan]"; + mes "Hurry up, it is only ^0000FF10 Evil Druids^000000."; + close; + } + if (johan == 3) { + mes "[Johan]"; + mes "Why are you still here?"; + next; + mes "[Johan]"; + mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward."; + close; + } + mes "[Johan]"; + mes "Go away... I'm busy."; + close; +} + +ein_fild08,172,359,4 script Kiren 989,{ + if ((para_suv01 == 46) && (kiren < 1)) { + mes "[Kiren]"; + mes "Hey there."; + next; + mes "[Kiren]"; + mes "You must be a member of the Paradise Group, come help me for a second."; + next; + set kiren,1; + changequest 7223,7224; + mes "[kiren]"; + mes "Can you kill ^0000FF30 Porcellios^000000 for me and then return to me?"; + close; + } + if (kiren == 1) { + if (checkquest(7224,HUNTING) == 2) { + mes "[Kiren]"; + mes "Wow, most people spend twice as long as you did to kill those Porcellios!"; + next; + mes "[Kiren]"; + mes "I think you need a challenge."; + next; + getexp 30000,30000; + set kiren,2; + changequest 7224,7226; + setquest 7227; + mes "[Kiren]"; + mes "How about this: Kill ^0000FF30 Venomous and 5 Teddy Bears^000000."; + close; + } + mes "[Kiren]"; + mes "Come back to me when you have killed the ^0000FF30 Porcellios^000000."; + close; + } + if (kiren == 2) { + if ((checkquest(7226,HUNTING) == 2) && (checkquest(7227,HUNTING) == 2)) { + mes "[Kiren]"; + mes "Incredible, you set a new record!"; + next; + mes "[Kiren]"; + mes "I have never seen anyone kill them all so fast, you are good at this."; + next; + getexp 30000,30000; + set kiren,3; + changequest 7226,7228; + completequest 7227; + mes "[Kiren]"; + mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward."; + close; + } + mes "[Kiren]"; + mes "Remember, you need to kill ^0000FF30 Venomous and 5 Teddy Bears^000000."; + close; + } + if (kiren == 3) { + mes "[Kiren]"; + mes "Don't worry, nobody else has beaten your record yet."; + next; + mes "[Kiren]"; + mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward."; + close; + } + mes "[Kiren]"; + mes "Be careful, there are some fast monsters around here."; + close; +} + +ice_dun01,154,13,6 script Naomi 726,{ + if ((para_suv01 == 49) && (naomi < 1)) { + mes "[Naomi]"; + mes "It is so cold in here."; + next; + mes "[Naomi]"; + mes "I blame those annoying Siromas."; + next; + set naomi,1; + changequest 7229,7230; + mes "[Naomi]"; + mes "Can you kill ^0000FF30 Siromas^000000 for me, please?"; + close; + } + if (naomi == 1) { + if (checkquest(7230,HUNTING) == 2) { + mes "[Naomi]"; + mes "Thank you, but there are still so many Siromas here!"; + next; + mes "[Naomi]"; + mes "I need to make a special drink to stay warm, please help me make it."; + next; + getexp 40000,40000; + set naomi,2; + changequest 7230,7231; + mes "[Naomi]"; + mes "Can you kill another ^0000FF30 Siromas^000000 and bring me ^0000FF30 Ice Cubics, 1 Milk and 1 Sweet Sauce^000000?"; + close; + } + mes "[Naomi]"; + mes "Please kill ^0000FF30 Siromas^000000, I just hate them."; + close; + } + if (naomi == 2) { + if ((checkquest(7231,HUNTING) == 2) && (countitem(7066) >= 30) && (countitem(519) >= 1) && (countitem(7453) >= 1)) { + mes "[Naomi]"; + mes "Yay, you did it!"; + next; + mes "[Naomi]"; + mes "I will be fine now, don't worry about me."; + next; + delitem 7066,30; // Ice Cubic + delitem 519,1; // Milk + delitem 7453,1; // Sweet Sauce + getexp 40000,40000; + set naomi,3; + changequest 7231,7232; + mes "[Naomi]"; + mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward."; + close; + } + mes "[Naomi]"; + mes "Can you kill another ^0000FF30 Siromas^000000 and bring me ^0000FF30 Ice Cubics, 1 Milk and 1 Sweet Sauce^000000?"; + close; + } + if (naomi == 3) { + mes "[Naomi]"; + mes "I will be fine now, don't worry about me."; + next; + mes "[Naomi]"; + mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward."; + close; + } + mes "[Naomi]"; + mes "So... cold..."; + close; +} + +mid_camp,212,229,4 script Margaret 893,{ + if ((para_suv01 == 52) && (margaret < 1)) { + mes "[Margaret]"; + mes "Oh, hello there."; + next; + mes "[Margaret]"; + mes "I have two friends here in the New World which need your help."; + next; + set margaret,1; + changequest 7233,7234; + mes "[Margaret]"; + mes "Please start by helping the ^0000FFParadise Dispatch in Manuk Field^000000."; + close; + } + if (margaret == 1 || margaret == 2) { + mes "[Margaret]"; + mes "Please start by helping the ^0000FFParadise Dispatch in Manuk Field^000000."; + close; + } + if (margaret == 3) { + mes "[Margaret]"; + mes "Ah good, you were able to help him."; + next; + set margaret,4; + mes "[Margaret]"; + mes "Next can you help the ^0000FFParadise Dispatch in Splendide Field^000000, please?"; + close; + } + if (margaret == 4 || margaret == 5) { + mes "[Margaret]"; + mes "Next can you help the ^0000FFParadise Dispatch in Splendide Field^000000, please?"; + close; + } + if (margaret == 6) { + mes "[Margaret]"; + mes "Haha, so he still wants a zoom out hack..."; + next; + mes "[Margaret]"; + mes "Thanks for helping them, I knew you could do it."; + next; + set margaret,7; + changequest 7234,7237; + mes "[Margaret]"; + mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward."; + close; + } + mes "[Margaret]"; + mes "The New World... What a beautiful place!"; + close; +} + +man_fild01,43,234,2 script Paradise Dispatch#01 939,{ + if (margaret == 1) { + mes "[Paradise Dispatch]"; + mes "Hey you, can you help me here?"; + next; + mes "[Paradise Dispatch]"; + mes "The plant monsters in this area have a long ranged attack."; + next; + set margaret,2; + changequest 7234,7235; + mes "[Paradise Dispatch]"; + mes "Can you please kill ^0000FF1 Nepenthes^000000 so I can go back to the camp?"; + close; + } + if (margaret == 2) { + if (checkquest(7235,HUNTING) == 2) { + mes "[Paradise Dispatch]"; + mes "Thanks!"; + next; + mes "[Paradise Dispatch]"; + mes "Ok, I'm out of here."; + next; + getexp 50000,50000; + set margaret,3; + changequest 7235,7234; + mes "[Paradise Dispatch]"; + mes "Head back to ^0000FFMargaret^000000 and tell her thanks for me too!"; + close; + } + mes "[Paradise Dispatch]"; + mes "Can you kill ^0000FF1 Nepenthes^000000 so I can go back to the camp?"; + close; + } + if (margaret == 3) { + mes "[Paradise Dispatch]"; + mes "..."; + next; + mes "[Paradise Dispatch]"; + mes "Don't rush me, just head back to ^0000FFMargaret^000000."; + close; + } + mes "[Paradise Dispatch]"; + mes "Those Nepenthes are so scary!"; + close; +} + +spl_fild02,377,149,4 script Paradise Dispatch#02 946,{ + if (margaret == 4) { + mes "[Paradise Dispatch]"; + mes "So Margaret sent you to help me?"; + next; + mes "[Paradise Dispatch]"; + mes "Ok, lets get started!"; + next; + set margaret,5; + changequest 7234,7236; + mes "[Paradise Dispatch]"; + mes "Kill ^0000FF5 Pinguicula^000000 and then return to me."; + close; + } + if (margaret == 5) { + if (checkquest(7236,HUNTING) == 2) { + mes "[Paradise Dispatch]"; + mes "You make it look so easy, but I couldn't even kill 1..."; + next; + mes "[Paradise Dispatch]"; + mes "Now is my chance to run to Splendide!"; + next; + getexp 50000,50000; + set margaret,6; + changequest 7236,7234; + mes "[Paradise Dispatch]"; + mes "Head back to ^0000FFMargaret^000000, I will be ok now."; + close; + } + mes "[Paradise Dispatch]"; + mes "Kill ^0000FF5 Pinguicula^000000 and return to me."; + close; + } + if (margaret == 6) { + mes "[Paradise Dispatch]"; + mes "Now, if only I had a hack for zooming out more..."; + next; + mes "[Paradise Dispatch]"; + mes "Head back to ^0000FFMargaret^000000, I will be ok now."; + close; + } + mes "[Paradise Dispatch]"; + mes "I need a hack to zoom out more so I can see if it is safe..."; + close; +} + +moc_para01,111,83,3 script Toren 813,{ + if (checkweight(1101,5) == 0) { + mes "^3355FFWait a second!"; + mes "Right now, you're carrying"; + mes "to many things with you."; + mes "Please come back after"; + mes "using the Kafra Service"; + mes "to store some of your items.^000000"; + close; + } + mes "[Toren]"; + mes "Hello adventurer, what can I do for you?"; + next; + switch(select("Where is my reward?:I want an enchantment!")) { + case 1: + if (para_suv02 == 5 || para_suv02 == 7 || para_suv02 == 9 || para_suv02 == 11 || para_suv02 == 13) { + mes "[Toren]"; + mes "You must be ^0000FF" + strcharinfo(0) + "^000000, right? Instructor Ur told me about you."; + next; + mes "[Toren]"; + mes "Here is a set of our advanced gears for you to use, wear them proudly as a member of the ^33CC33Paradise Group^000000 and don't think about selling them to anyone else."; + next; + mes "[Toren]"; + if (BaseClass == Job_Swordman) { + mes "Swordman Class gets a choice of weapons, would you like to have a sword or a spear?"; + callsub L_Select, + 1197,"Slayer","Two-handed Sword, 200 Atk", //P.Slayer III + 13434,"Saber","One-handed Sword, 185 Atk", //P.Saber III + 1434,"Spear","One-handed, 165 Atk"; //P.Spear I + } + else if (BaseClass == Job_Merchant) { + mes "Merchant Class gets a choice of weapons, would you like to have an axe, dagger or a sword?"; + callsub L_Select, + 1391,"Axe","Two-handed, 195 Atk", //P.Two-Handed Axe I + 13066,"Dagger","One-handed, 165 Atk, 80 Matk", //P.Dagger III + 13434,"Sword","One-handed, 185 Atk"; //P.Saber III + } + else if (BaseJob == Job_Assassin) { + mes "Assassin Class gets a choice of weapons, would you like to have a katar, dagger or a sword?"; + callsub L_Select, + 1289,"Katar","Two-handed, 155 Atk", //P.Katar I + 13066,"Dagger","One-handed, 165 Atk, 80 Matk", //P.Dagger III + 13434,"Sword","One-handed, 185 Atk"; //P.Saber III + } + else if (BaseJob == Job_Rogue) { + mes "Rogue Class gets a choice of weapons, would you like to have a dagger, bow or a sword?"; + callsub L_Select, + 13066,"Dagger","One-handed, 165 Atk, 80 Matk", //P.Dagger III + 18106,"Bow","Two-handed, 140 Atk", //P.Bow III + 13434,"Sword","One-handed, 185 Atk"; //P.Saber III + } + else if (BaseJob == Job_Thief) { + mes "Thief Class gets a choice of weapons, would you like to have a dagger or a sword?"; + callsub L_Select, + 13066,"Dagger","One-handed, 165 Atk, 80 Matk", //P.Dagger III + 13434,"Sword","One-handed, 185 Atk"; //P.Saber III + } + else if (BaseJob == Job_Bard) { + mes "Bard Class gets a choice of weapons, would you like to have a guitar, bow or a dagger?"; + callsub L_Select, + 1931,"Guitar","One-handed, 125 Atk", //P.Guitar I + 18106,"Bow","Two-handed, 140 Atk", //P.Bow III + 13066,"Dagger","One-handed, 165 Atk, 80 Matk"; //P.Dagger III + } + else if (BaseJob == Job_Dancer) { + mes "Dancer Class gets a choice of weapons, would you like to have a whip, bow or a dagger?"; + callsub L_Select, + 1986,"Whip","One-handed, 125 Atk", //P.Tail I + 18106,"Bow","Two-handed, 140 Atk", //P.Bow III + 13066,"Dagger","One-handed, 165 Atk, 80 Matk"; //P.Dagger III + } + else if (BaseClass == Job_Archer) { + mes "Archer Class gets a choice of weapons, would you like to have a bow or a dagger?"; + callsub L_Select, + 18106,"Bow","Two-handed, 140 Atk", //P.Bow III + 13066,"Dagger","One-handed, 165 Atk, 80 Matk"; //P.Dagger III + } + else if (BaseJob == Job_Priest) { + mes "Priest Class gets a choice of weapons, would you like to have a staff, mace or a book?"; + callsub L_Select, + 1658,"Staff","One-handed, 60 Atk, 170 Matk, 4 Int", //P.Staff III + 16014,"Mace","One-handed, 172 Atk", //P.Mace III + 1583,"Book","One-handed, 135 Atk, 110 Matk"; //P.Book I + } + else if (BaseJob == Job_Monk) { + mes "Monk Class gets a choice of weapons, would you like to have a knuckle, mace or a staff?"; + callsub L_Select, + 1831,"Knuckle","One-handed, 120 Atk", //P.Knuckle I + 16014,"Mace","One-handed, 172 Atk", //P.Mace III + 1658,"Staff","One-handed, 60 Atk, 170 Matk, 4 Int"; //P.Staff III + } + else if (BaseJob == Job_Acolyte) { + mes "Acolyte Class gets a choice of weapons, would you like to have a staff or a mace?"; + callsub L_Select, + 1658,"Staff","One-handed, 60 Atk, 170 Matk, 4 Int", //P.Staff III + 16014,"Mace","One-handed, 172 Atk"; //P.Mace III + } + else if (BaseJob == Job_Sage) { + mes "Sage Class gets a choice of weapons, would you like to have a staff, book or a dagger?"; + callsub L_Select, + 1658,"Staff","One-handed, 60 Atk, 170 Matk, 4 Int", //P.Staff III + 1583,"Book","One-handed, 135 Atk, 110 Matk", //P.Book I + 13066,"Dagger","One-handed, 165 Atk, 80 Matk"; //P.Dagger III + } + else if (BaseClass == Job_Mage || Class == Job_Soul_Linker) { + mes "Mage and Soul Linker Class gets a choice of weapons, would you like to have a staff or a dagger?"; + callsub L_Select, + 1658,"Staff","One-handed, 60 Atk, 170 Matk, 4 Int", //P.Staff III + 13066,"Dagger","One-handed, 165 Atk, 80 Matk"; //P.Dagger III + } + else if (Class == Job_Ninja) { + mes "Ninja Class gets a choice of weapons, would you like to have a huuma suriken or a dagger?"; + callsub L_Select, + 13310,"Huuma Suriken","Two-handed, 170 Atk, 50 Matk", //P.Huuma Suriken I + 13066,"Dagger","One-handed, 165 Atk, 80 Matk"; //P.Dagger III + } + else if (Class == Job_Star_Gladiator) getitem 1583,1; //P.Book I + else if (Class == Job_Gunslinger) getitem 13114,1; //P.Revolver III + else if (BaseClass == Job_Novice) getitem 13066,1; //P.Dagger III + getitem 18514,1; //Paradise Hat II + getitem 2571,1; //Paradise Mantle II + getitem 2473,1; //Paradise Boots IV + getitem 15031,1; //Paradise Uniform IV + set para_suv02,14; + if (para_suv01 > 40) + set para_suv01, para_suv01+1; + if (Class == Job_Taekwon) { + mes "I'm sorry, but Teakwon Class can't wear any of our weapons..."; + next; + } + mes "See you later, and good luck on your adventures!"; + close; + } + if (para_suv02 == 14) { + setarray .@Check[0],18514,2571,2473,15031; + setarray .@Item$[0],"Hat","Mantle","Boots","Uniform"; + for(set .@i,0; .@i<4; set .@i,.@i+1) + if (countitem(.@Check[.@i]) < 1) { + mes "[Toren]"; + mes "Where is the Paradise "+.@Item$[.@i]+" I gave you?"; + next; + mes "[Toren]"; + mes "...Fine, I will sell you another one for ^FF0000250,000 Zeny^000000. Don't lose it this time."; + next; + if(select("Ok.:No, thanks.") == 2) { + mes "[Toren]"; + mes "Come back if you change your mind."; + close; + } + if (Zeny < 250000) { + mes "[Toren]"; + mes "You dont have enough zeny."; + close; + } + set Zeny, Zeny - 250000; + getitem .@Check[.@i],1; + mes "[Toren]"; + mes "These advanced gears are not easy to make, please take better care of this one."; + close; + } + mes "[Toren]"; + mes "I already gave you the most advanced gears we have to offer."; + close; + } + mes "[Toren]"; + mes "You need to complete quests given to you by ^0000FFInstructor Ur^000000 if you want a reward."; + close; + case 2: + if (para_suv02 < 14) { + mes "[Toren]"; + mes "First you need the ^0000FFAdvanced Paradise Gears^000000."; + close; + } + if (paragearenchant < 1) { + mes "[Toren]"; + mes "Alright, but I'll need a few items for the enchantment process."; + next; + if (BaseLevel >= 90) { + set paragearenchant,1; + setquest 7239; + mes "[Toren]"; + mes "Just bring me ^0000FF20 Used Iron Plates^000000."; + close; + } + set paragearenchant,2; + setquest 7238; + mes "[Toren]"; + mes "Just bring me ^0000FF20 Iron Ores and 10 Irons^000000."; + close; + } + if (paragearenchant == 1) { + if (countitem(7319) >= 20) { + mes "[Toren]"; + mes "Thanks, that's what I needed!"; + next; + delitem 7319,20; // Used Iron Plate + set paragearenchant,3; + changequest 7239,7240; + mes "[Toren]"; + mes "Give me a second to prepare before I enchant your gears."; + close; + } + mes "[Toren]"; + mes "Just bring me ^0000FF20 Used Iron Plates^000000."; + close; + } + if (paragearenchant == 2) { + if ((countitem(1002) >= 20) && (countitem(998) >= 10)) { + mes "[Toren]"; + mes "Thanks, that's what I needed!"; + next; + delitem 1002,20; // Iron Ore + delitem 998,10; // Iron + set paragearenchant,3; + changequest 7238,7240; + mes "[Toren]"; + mes "Give me a second to prepare before I enchant your gears."; + close; + } + mes "[Toren]"; + mes "Just bring me ^0000FF20 Iron Ores and 10 Irons^000000."; + close; + } + if (paragearenchant == 3) { + mes "[Toren]"; + mes "Before we begin I would like to mention that this enchantment proccess ^FF0000can not fail^000000."; + next; + mes "[Toren]"; + mes "I am able to add 2 enchantments at once, and if something is already enchanted I will ^FF0000re-do the current enchantments^000000 for you."; + next; + mes "[Toren]"; + mes "Now pick which gear you would like me to enchant."; + next; + setarray .@Item[0],2571,2473,15031; + set .@i, select("Paradise Mantle II.:Paradise Boots IV.:Paradise Uniform IV.")-1; + if (countitem(.@Item[.@i]) < 1) { + mes "[Toren]"; + mes "Bring one and I'll enchant it."; + close; + } + set .@paragearcount, .@Item[.@i]; + mes "[Toren]"; + mes "Here we go!"; + close2; + specialeffect2 EF_MAPPILLAR; + progressbar "ffff00",4; + set .@enc_paragear,rand(1,42); + if (.@enc_paragear == 1) set .@addpart,4763; + else if (.@enc_paragear == 2) set .@addpart,4765; + else if (.@enc_paragear == 3) set .@addpart,4790; + else if (.@enc_paragear == 4) set .@addpart,4794; + else if (.@enc_paragear < 7) set .@addpart,4762; + else if (.@enc_paragear < 9) set .@addpart,4764; + else if (.@enc_paragear < 11) set .@addpart,4789; + else if (.@enc_paragear < 13) set .@addpart,4793; + else if (.@enc_paragear < 15) set .@addpart,4701; + else if (.@enc_paragear < 17) set .@addpart,4711; + else if (.@enc_paragear < 19) set .@addpart,4721; + else if (.@enc_paragear < 21) set .@addpart,4731; + else if (.@enc_paragear < 23) set .@addpart,4741; + else if (.@enc_paragear < 25) set .@addpart,4751; + else if (.@enc_paragear < 28) set .@addpart,4788; + else if (.@enc_paragear < 31) set .@addpart,4792; + else if (.@enc_paragear < 35) set .@addpart,4787; + else if (.@enc_paragear < 39) set .@addpart,4791; + else if (.@enc_paragear < 43) set .@addpart,4786; + set .@enc_paragear2,4701+(10*rand(6)); + delitem .@paragearcount,1; + getitem2 .@paragearcount, 1, 1, 0, 0, 0, 0, .@addpart2, .@addpart; + set paragearenchant,4; + changequest 7240,7241; + mes "[Toren]"; + mes "It is finished! Come back tomorrow if you want to enchant more."; + close; + } + if ((paragearenchant == 4) && (checkquest(7241,PLAYTIME) != 2)) { + mes "[Toren]"; + mes "Please come back tomorrow if you want to enchant more."; + close; + } + if ((paragearenchant == 4) && (checkquest(7241,PLAYTIME) == 2)) { + set paragearenchant,0; + erasequest 7241; + mes "[Toren]"; + mes "Another day, another piece of equipment to enchant!"; + close; + } + } + end; +L_Select: + next; + mes "[Toren]"; + set .@menu$,""; + for(set .@i,0; .@i<getargcount(); set .@i,.@i+3) { + set .@menu$, .@menu$+getarg(.@i+1)+".:"; + mes getarg(.@i+1)+": "+getarg(.@i+2)+"."; + mes " "; + } + next; + set .@i, select(.@menu$)-1; + getitem getarg(.@i*3),1; + mes "[Toren]"; + return; +} + +moc_para01,112,79,3 script Weapons Expert 851,{ + if (checkweight(1101,5) == 0) { + mes "^3355FFWait a second!"; + mes "Right now, you are carrying"; + mes "to many things with you."; + mes "Please come back after"; + mes "using the Kafra Service"; + mes "to store some of your items.^000000"; + close; + } + mes "[Weapons Expert]"; + mes "Hello adventurer, what can I do for you today?"; + next; + switch(select("Where is my reward?","I want an enchantment!")) { + case 1: + if ((para_suv02 == 14) && (countitem(1197) < 1) && (countitem(1289) < 1) && (countitem(1391) < 1) && (countitem(1434) < 1) && (countitem(1583) < 1) && (countitem(1658) < 1) && (countitem(1831) < 1) && (countitem(1931) < 1) && (countitem(1986) < 1) && (countitem(13066) < 1) && (countitem(13114) < 1) && (countitem(13310) < 1) && (countitem(13434) < 1) && (countitem(16014) < 1) && (countitem(18106) < 1)) { + mes "[Weapons Expert]"; + mes "Where is the Paradise Weapon I gave you?"; + next; + mes "[Weapons Expert]"; + mes "...Fine, I will sell you another one for ^FF0000250,000 Zeny^000000. Don't lose it this time."; + next; + switch(select("Ok.","No, thanks.")) { + case 1: + mes "[Weapons Expert]"; + if (Zeny < 250000) { + mes "You dont have enough zeny."; + close; + } + if (Class == Job_Taekwon) { + mes "Wait... Your Class doesn't have a weapon."; + close; + } + set Zeny, Zeny - 250000; + if (BaseClass == Job_Swordman) { + mes "Swordman Class gets a choice of weapons, would you like to have a sword or a spear?"; + callsub L_Select, + 1197,"Slayer","Two-handed Sword, 200 Atk", //P.Slayer III + 13434,"Saber","One-handed Sword, 185 Atk", //P.Saber III + 1434,"Spear","One-handed, 165 Atk"; //P.Spear I + } + else if (BaseClass == Job_Merchant) { + mes "Merchant Class gets a choice of weapons, would you like to have an axe, dagger or a sword?"; + callsub L_Select, + 1391,"Axe","Two-handed, 195 Atk", //P.Two-Handed Axe I + 13066,"Dagger","One-handed, 165 Atk, 80 Matk", //P.Dagger III + 13434,"Sword","One-handed, 185 Atk"; //P.Saber III + } + else if (BaseJob == Job_Assassin) { + mes "Assassin Class gets a choice of weapons, would you like to have a katar, dagger or a sword?"; + callsub L_Select, + 1289,"Katar","Two-handed, 155 Atk", //P.Katar I + 13066,"Dagger","One-handed, 165 Atk, 80 Matk", //P.Dagger III + 13434,"Sword","One-handed, 185 Atk"; //P.Saber III + } + else if (BaseJob == Job_Rogue) { + mes "Rogue Class gets a choice of weapons, would you like to have a dagger, bow or a sword?"; + callsub L_Select, + 13066,"Dagger","One-handed, 165 Atk, 80 Matk", //P.Dagger III + 18106,"Bow","Two-handed, 140 Atk", //P.Bow III + 13434,"Sword","One-handed, 185 Atk"; //P.Saber III + } + else if (BaseJob == Job_Thief) { + mes "Thief Class gets a choice of weapons, would you like to have a dagger or a sword?"; + callsub L_Select, + 13066,"Dagger","One-handed, 165 Atk, 80 Matk", //P.Dagger III + 13434,"Sword","One-handed, 185 Atk"; //P.Saber III + } + else if (BaseJob == Job_Bard) { + mes "Bard Class gets a choice of weapons, would you like to have a guitar, bow or a dagger?"; + callsub L_Select, + 1931,"Guitar","One-handed, 125 Atk", //P.Guitar I + 18106,"Bow","Two-handed, 140 Atk", //P.Bow III + 13066,"Dagger","One-handed, 165 Atk, 80 Matk"; //P.Dagger III + } + else if (BaseJob == Job_Dancer) { + mes "Dancer Class gets a choice of weapons, would you like to have a whip, bow or a dagger?"; + callsub L_Select, + 1986,"Whip","One-handed, 125 Atk", //P.Tail I + 18106,"Bow","Two-handed, 140 Atk", //P.Bow III + 13066,"Dagger","One-handed, 165 Atk, 80 Matk"; //P.Dagger III + } + else if (BaseClass == Job_Archer) { + mes "Archer Class gets a choice of weapons, would you like to have a bow or a dagger?"; + callsub L_Select, + 18106,"Bow","Two-handed, 140 Atk", //P.Bow III + 13066,"Dagger","One-handed, 165 Atk, 80 Matk"; //P.Dagger III + } + else if (BaseJob == Job_Priest) { + mes "Priest Class gets a choice of weapons, would you like to have a staff, mace or a book?"; + callsub L_Select, + 1658,"Staff","One-handed, 60 Atk, 170 Matk, 4 Int", //P.Staff III + 16014,"Mace","One-handed, 172 Atk", //P.Mace III + 1583,"Book","One-handed, 135 Atk, 110 Matk"; //P.Book I + } + else if (BaseJob == Job_Monk) { + mes "Monk Class gets a choice of weapons, would you like to have a knuckle, mace or a staff?"; + callsub L_Select, + 1831,"Knuckle","One-handed, 120 Atk", //P.Knuckle I + 16014,"Mace","One-handed, 172 Atk", //P.Mace III + 1658,"Staff","One-handed, 60 Atk, 170 Matk, 4 Int"; //P.Staff III + } + else if (BaseJob == Job_Acolyte) { + mes "Acolyte Class gets a choice of weapons, would you like to have a staff or a mace?"; + callsub L_Select, + 1658,"Staff","One-handed, 60 Atk, 170 Matk, 4 Int", //P.Staff III + 16014,"Mace","One-handed, 172 Atk"; //P.Mace III + } + else if (BaseJob == Job_Sage) { + mes "Sage Class gets a choice of weapons, would you like to have a staff, book or a dagger?"; + callsub L_Select, + 1658,"Staff","One-handed, 60 Atk, 170 Matk, 4 Int", //P.Staff III + 1583,"Book","One-handed, 135 Atk, 110 Matk", //P.Book I + 13066,"Dagger","One-handed, 165 Atk, 80 Matk"; //P.Dagger III + } + else if (BaseClass == Job_Mage || Class == Job_Soul_Linker) { + mes "Mage and Soul Linker Class gets a choice of weapons, would you like to have a staff or a dagger?"; + callsub L_Select, + 1658,"Staff","One-handed, 60 Atk, 170 Matk, 4 Int", //P.Staff III + 13066,"Dagger","One-handed, 165 Atk, 80 Matk"; //P.Dagger III + } + else if (Class == Job_Ninja) { + mes "Ninja Class gets a choice of weapons, would you like to have a huuma suriken or a dagger?"; + callsub L_Select, + 13310,"Huuma Suriken","Two-handed, 170 Atk, 50 Matk", //P.Huuma Suriken I + 13066,"Dagger","One-handed, 165 Atk, 80 Matk"; //P.Dagger III + } + else if (Class == Job_Star_Gladiator) getitem 1583,1; //P.Book I + else if (Class == Job_Gunslinger) getitem 13114,1; //P.Revolver III + else if (BaseClass == Job_Novice) getitem 13066,1; //P.Dagger III + mes "These weapons aren't easy to make, please take better care of this one."; + close; + case 2: + mes "[Weapons Expert]"; + mes "Come back if you change your mind."; + close; + } + } + mes "[Weapons Expert]"; + mes "My reward for you is enchantments on your ^0000FFParadise Weapon^000000."; + next; + mes "[Weapons Expert]"; + mes "The number of enchantments I can give you depends on which level of ^0000FFAdvanced Paradise Quests^000000 you have completed."; + close; + case 2: + if (para_suv02 < 14) { + mes "[Weapons Expert]"; + mes "First you need the ^0000FFAdvanced Paradise Gears^000000."; + close; + } + if ((countitem(1197) < 1) && (countitem(1289) < 1) && (countitem(1391) < 1) && (countitem(1434) < 1) && (countitem(1583) < 1) && (countitem(1658) < 1) && (countitem(1831) < 1) && (countitem(1931) < 1) && (countitem(1986) < 1) && (countitem(13066) < 1) && (countitem(13114) < 1) && (countitem(13310) < 1) && (countitem(13434) < 1) && (countitem(16014) < 1) && (countitem(18106) < 1)) { + mes "[Weapons Expert]"; + mes "Did you sell your new Paradise Weapon? No enchantments for you."; + close; + } + if (para_suv01 < 44) { + mes "[Weapons Expert]"; + mes "You haven't completed enough quests for an enchantment yet."; + next; + mes "[Weapons Expert]"; + mes "Make sure to pick a weapon from Toren too."; + close; + } + if (para_suv01 == 44) { + mes "[Weapons Expert]"; + mes "It seems you have earned your first weapon enchantment."; + next; + mes "[Weapons Expert]"; + mes "There are only 2 to choose from, which one would you like?"; + next; + if(select("Atk + 3%:Matk + 3%") == 1) set paraweaponenchant,4767; + else set paraweaponenchant,4806; + callsub L_GetWeapon; + mes "[Weapons Expert]"; + mes "OK, gimmy a sec."; + close2; + specialeffect2 EF_MAPPILLAR; + progressbar "ffff00",4; + delitem paraweaponcount,1; + getitem2 paraweaponcount, 1, 1, 0, 0, 0, 0, 0, paraweaponenchant; + set para_suv01,45; + mes "[Weapons Expert]"; + mes "All done."; + close; + } + if (para_suv01 == 47) { + mes "[Weapons Expert]"; + mes "It seems you have earned your second weapon enchantment."; + next; + if (paraweaponenchant < 1) { + mes "[Weapons Expert]"; + mes "Before I do the second enchantment, you need to pick the first one."; + next; + mes "[Weapons Expert]"; + mes "There are only 2 to choose from, which one would you like?"; + next; + if(select("Atk + 3%:Matk + 3%") == 1) set paraweaponenchant,4767; + else set paraweaponenchant,4806; + callsub L_GetWeapon; + mes "[Weapons Expert]"; + mes "Gotcha, now for the second enchantment."; + next; + } + mes "[Weapons Expert]"; + mes "This one is a little different, you are given the choice of which ^0000FFRace of monsters^000000 you would like to have increased damage with."; + next; + mes "[Weapons Expert]"; + mes "You could also choose to increase your ^0000FFHealing Power^000000 too, which one would you like?"; + next; + switch(select("Animal Type","Plant Type","Insect Type","Fish Type","Dragon Type","Healing Power")) { + case 1: + if (paraweaponenchant == 4767) set paraweaponenchant2,4060; + if (paraweaponenchant == 4806) set paraweaponenchant2,4472; + break; + case 2: + if (paraweaponenchant == 4767) set paraweaponenchant2,4068; + if (paraweaponenchant == 4806) set paraweaponenchant2,4470; + break; + case 3: + if (paraweaponenchant == 4767) set paraweaponenchant2,4063; + if (paraweaponenchant == 4806) set paraweaponenchant2,4476; + break; + case 4: + if (paraweaponenchant == 4767) set paraweaponenchant2,4080; + if (paraweaponenchant == 4806) set paraweaponenchant2,4469; + break; + case 5: + if (paraweaponenchant == 4767) set paraweaponenchant2,4118; + if (paraweaponenchant == 4806) set paraweaponenchant2,4471; + break; + case 6: + set paraweaponenchant2,4805; + break; + } + mes "[Weapons Expert]"; + mes "OK, gimmy a sec."; + close2; + specialeffect2 EF_MAPPILLAR; + progressbar "ffff00",4; + delitem paraweaponcount,1; + getitem2 paraweaponcount, 1, 1, 0, 0, 0, 0, paraweaponenchant2, paraweaponenchant; + set para_suv01,48; + mes "[Weapons Expert]"; + mes "All done."; + close; + } + if (para_suv01 == 50 || para_suv01 == 53) { + mes "[Weapons Expert]"; + mes "It seems you have earned your third weapon enchantment."; + next; + if (paraweaponenchant < 1) { + mes "[Weapons Expert]"; + mes "Before I do the other enchantments, you need to pick the first one."; + next; + mes "[Weapons Expert]"; + mes "There are only 2 to choose from, which one would you like?"; + next; + if(select("Atk + 3%:Matk + 3%") == 1) set paraweaponenchant,4767; + else set paraweaponenchant,4806; + callsub L_GetWeapon; + mes "[Weapons Expert]"; + mes "Gotcha, on to the next one."; + next; + } + if (paraweaponenchant2 < 1) { + mes "[Weapons Expert]"; + mes "Before I do the third enchantment, you need to pick the second one."; + next; + mes "[Weapons Expert]"; + mes "This one is a little different, you are given the choice of which ^0000FFRace of monsters^000000 you would like to have increased damage with."; + next; + mes "[Weapons Expert]"; + mes "You could also choose to increase your ^0000FFHealing Power^000000 too, which one would you like?"; + next; + switch(select("Animal Type","Plant Type","Insect Type","Fish Type","Dragon Type","Healing Power")) { + case 1: + if (paraweaponenchant == 4767) set paraweaponenchant2,4060; + if (paraweaponenchant == 4806) set paraweaponenchant2,4472; + break; + case 2: + if (paraweaponenchant == 4767) set paraweaponenchant2,4068; + if (paraweaponenchant == 4806) set paraweaponenchant2,4470; + break; + case 3: + if (paraweaponenchant == 4767) set paraweaponenchant2,4063; + if (paraweaponenchant == 4806) set paraweaponenchant2,4476; + break; + case 4: + if (paraweaponenchant == 4767) set paraweaponenchant2,4080; + if (paraweaponenchant == 4806) set paraweaponenchant2,4469; + break; + case 5: + if (paraweaponenchant == 4767) set paraweaponenchant2,4118; + if (paraweaponenchant == 4806) set paraweaponenchant2,4471; + break; + case 6: + set paraweaponenchant2,4805; + break; + } + mes "[Weapons Expert]"; + mes "Gotcha, now for the third one."; + next; + } + mes "[Weapons Expert]"; + mes "The third enchantment is the same as the second one, you are given the choice of which ^0000FFRace of monsters^000000 you would like to have increased damage with."; + next; + mes "[Weapons Expert]"; + mes "You could also choose to increase your ^0000FFHealing Power^000000 too, which one would you like?"; + next; + switch(select("Animal Type","Plant Type","Insect Type","Fish Type","Dragon Type","Healing Power")) { + case 1: + if (paraweaponenchant == 4767) set paraweaponenchant3,4060; + if (paraweaponenchant == 4806) set paraweaponenchant3,4472; + break; + case 2: + if (paraweaponenchant == 4767) set paraweaponenchant3,4068; + if (paraweaponenchant == 4806) set paraweaponenchant3,4470; + break; + case 3: + if (paraweaponenchant == 4767) set paraweaponenchant3,4063; + if (paraweaponenchant == 4806) set paraweaponenchant3,4476; + break; + case 4: + if (paraweaponenchant == 4767) set paraweaponenchant3,4080; + if (paraweaponenchant == 4806) set paraweaponenchant3,4469; + break; + case 5: + if (paraweaponenchant == 4767) set paraweaponenchant3,4118; + if (paraweaponenchant == 4806) set paraweaponenchant3,4471; + break; + case 6: + set paraweaponenchant3,4805; + break; + } + mes "[Weapons Expert]"; + mes "OK, gimmy a sec."; + close2; + specialeffect2 EF_MAPPILLAR; + progressbar "ffff00",4; + delitem paraweaponcount,1; + getitem2 paraweaponcount, 1, 1, 0, 0, 0, paraweaponenchant3, paraweaponenchant2, paraweaponenchant; + set para_suv01,54; + mes "[Weapons Expert]"; + mes "All done."; + close; + } + if (para_suv01 > 53) { + mes "[Weapons Expert]"; + mes "That is the maximum number of enchanments I can do, enjoy them."; + close; + } + mes "[Weapons Expert]"; + mes "I've already enchanted your weapon, you need to complete more quests for the next enchantment."; + close; + } + end; +L_Select: + next; + mes "[Weapons Expert]"; + set .@menu$,""; + for(set .@i,0; .@i<getargcount(); set .@i,.@i+3) { + set .@menu$, .@menu$+getarg(.@i+1)+".:"; + mes getarg(.@i+1)+": "+getarg(.@i+2)+"."; + mes " "; + } + next; + set .@i, select(.@menu$)-1; + getitem getarg(.@i*3),1; + mes "[Weapons Expert]"; + return; +L_GetWeapon: + if (countitem(1197)) set paraweaponcount,1197; + else if (countitem(1289)) set paraweaponcount,1289; + else if (countitem(1391)) set paraweaponcount,1391; + else if (countitem(1434)) set paraweaponcount,1434; + else if (countitem(1583)) set paraweaponcount,1583; + else if (countitem(1658)) set paraweaponcount,1658; + else if (countitem(1831)) set paraweaponcount,1831; + else if (countitem(1931)) set paraweaponcount,1931; + else if (countitem(1986)) set paraweaponcount,1986; + else if (countitem(13066)) set paraweaponcount,13066; + else if (countitem(13114)) set paraweaponcount,13114; + else if (countitem(13310)) set paraweaponcount,13310; + else if (countitem(13434)) set paraweaponcount,13434; + else if (countitem(16014)) set paraweaponcount,16014; + else if (countitem(18106)) set paraweaponcount,18106; + return; +} + +/* sec_in02,25,33,4 script Assistant 422,{ + mes "Password"; + next; + input .@input; + if (.@input == 1854) { + mes "Please select the variable you want to modify."; + next; + switch (select("para_suv01:para_suv02")) { + case 1: + mes "Enter the modified value"; + next; + input .@input; + mes "Value of para_suv01 has been changed to "+.@input+"."; + set para_suv01,.@input; + close; + case 2: + mes "Enter the modified value"; + next; + input .@input; + mes "Value of para_suv02 has been changed to "+.@input+"."; + set para_suv02,.@input; + close; + } + } + mes "......meow wee."; + close; +}*/ diff --git a/npc/re/quests/eden/eden_service.txt b/npc/re/quests/eden/eden_service.txt new file mode 100644 index 000000000..041395861 --- /dev/null +++ b/npc/re/quests/eden/eden_service.txt @@ -0,0 +1,64 @@ +//===== rAthena Script ======================================= +//= Eden Group Quests - Service NPCs +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= Any rAthena SVN +//===== Description: ========================================= +//= Paradise Group storage access. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Replaced 2nd NPC with duplicate function. [Masao] +//============================================================ + +- script Goods Cabinet#00::pggc -1,{ + mes "It is a Goods Storage Cabinet."; + mes "A message is written on a piece of paper."; + next; + mes "+ Cabinet is exclusively +"; + mes "+ for the Eden group +"; + mes "If you want to use this"; + mes "cabinet please check"; + mes "the following:"; + next; + mes "1.Are you a member"; + mes " of Eden group?"; + mes "2.Have you learned"; + mes " enough basic skills?"; + mes "3.Cabinet fee is"; + mes " ^4d4dff500 zeny^000000!"; + next; + if (countitem(6219) > 0) { + mes "You need to insert zeny to use the cabinet."; + mes "Cost : 500 Zeny "; + mes "Would you like to use it?"; + next; + switch(select("Use the Cabinet.:Cancel.")) { + case 1: + if (Zeny > 499) { + if (getskilllv("NV_BASIC") < 6) { + mes "The cabinet is not working for me."; + mes "Maybe I am not yet qualified to use Cabinet."; + close; + } + set Zeny, Zeny - 500; + close2; + openstorage; + end; + } + mes "I don't have enough zeny."; + mes "I need at least 500 zeny to use the Cabinet."; + close; + case 2: + mes "I will use it next time."; + close; + } + } + mes "I need an Eden Group Mark to use this Cabinet."; + close; +} + +moc_para01,173,120,0 duplicate(pggc) Goods Cabinet#01 111 +moc_para01,170,120,0 duplicate(pggc) Goods Cabinet#02 111 diff --git a/npc/re/quests/homu_s.txt b/npc/re/quests/homu_s.txt new file mode 100644 index 000000000..1881a97ca --- /dev/null +++ b/npc/re/quests/homu_s.txt @@ -0,0 +1,144 @@ +//===== rAthena Script ======================================= +//= Homunculus S Quest +//===== By: ================================================== +//= Masao +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Evolves an Homunculus which is at least Level 99 to the +//= new Homunculus S Class. +//===== Additional Comments: ================================= +//= 1.0 First Version. The actual changing dialog is currently +//= customized. [Masao] +//= 1.1 Cleaning. [Euphy] +//============================================================ + +job3_gen01,12,44,4 script Viorel#job3_gen01 542,{ + + if((Class != Job_Genetic) && (Class != Job_Genetic_T) && (Class != Job_Baby_Genetic)){ + mes "[Viorel]"; + mes "^FF4800Homunculus^000000 research requires a lot of time and funding."; + mes "However, I believe passion is the most important factor."; + next; + switch(select("End conversation.:What are you talking about?:Why are you always standing there?")) { + case 1: + mes "[Viorel]"; + mes "So long~!"; + close; + case 2: + mes "[Viorel]"; + mes "You see, ^006400Alchemists^000000 have an inquisitive nature."; + mes "People like me, especially, even think of creating life itself."; + next; + mes "[Viorel]"; + mes "You'd have to research ^FF4800Homunculus^000000 to understand."; + mes "Now, if you'll excuse me~!"; + close; + case 3: + emotion 4,0; + mes "[Viorel]"; + mes "What, is it so strange to see an Alchemist in their own lab?"; + mes "How so?"; + close; + } + } + mes "[Viorel]"; + mes "Hello "+strcharinfo(0)+","; + mes "what can I do for a fellow Alchemist like you?"; + next; + switch(select("I want to evolve my Homunculus:About Homunculus S:Cancel")){ + case 1: + mes "[Viorel]"; + if(!getskilllv("AM_BIOETHICS")){ + mes "I'm sorry, but you must know the Skill Bioethics! Otherwise I can't let your Homunculus evolve into a Homunculus S."; + close; + } + if(!gethominfo(1)){ + mes "You don't even have a Homunculus!"; + close; + } + if(gethominfo(1) < 6009){ + mes "You must have an evolved Homunculus, or you can't turn it into the new Homunculus S."; + close; + } + if(gethominfo(6) < 99){ + mes "Your Homunculus must be level 99 to evolve into a Homuculus S!"; + mes "Come back after you've trained your Homunculus a little bit more."; + close; + } + if(gethominfo(1) == 6048 || gethominfo(1) == 6049 || gethominfo(1) == 6050 || gethominfo(1) == 6051 || gethominfo(1) == 6052){ + mes "Your Homunculus S looks great!"; + mes "I hope you will experience many great adventures with it!"; + close; + } + mes "Great, it seems like you're all ready to get your Homunculus to the next level!"; + next; + mes "[Viorel]"; + mes "Now you can either directly change your Homunculus to a random Homunculus S or you can donate a little fee of 50,000z"; + mes "to the Alchemist Guild. For this you'll be able to change your Homunculus into your desired Homunculus S Class!"; + mes "So, what do you think?"; + next; + switch(Select("I want to donate.:I don't want to donate.:Cancel")){ + case 1: + if(Zeny < 50000){ + mes "[Viorel]"; + mes "Haha, nice try my friend! But you don't even have the 50,000z to donate!"; + mes "Come back if you have the Zeny."; + close; + } + mes "[Viorel]"; + mes "Alright, now please tell me which Homunculus you'd like to have:"; + next; + set .@i, select("Eira:Bayeri:Sera:Dieter:Elanor:Cancel"); + if (.@i == 6) { + mes "[Viorel]"; + mes "So long~!"; + close; + } + case 2: + mes "[Viorel]"; + mes "Ok, it's all set! Now just give me a moment!"; + next; + mes "[Viorel]"; + mes "Abra..."; + next; + mes "[Viorel]"; + mes "Kadabra..."; + next; + mes "[Viorel]"; + mes "Simsala!"; + mes "..."; + mes "Oh, sorry... wrong game!"; + next; + mes "[Viorel]"; + mes "Here you go! Your new Homunculus S!"; + if (.@i) { + hommutate 6047+.@i; + set Zeny,Zeny - 50000; + } + else hommutate; + close; + case 3: + mes "[Viorel]"; + mes "So long~!"; + close; + } + case 2: + mes "[Viorel]"; + mes "The Homunculus S are the new and improved versions of the current Homunculus you know."; + mes "These new Homunculus have been made because the monsters in our world keep getting stronger and"; + mes "stronger, and our current Homunculus are just not able to keep up with them anymore."; + next; + mes "[Viorel]"; + mes "But since we're Alchemists and we don't want to abandon our precious Homunculus, we've discovered a way"; + mes "to improve their skills and strength in order to keep them by our side, and joining us once more"; + mes "in battle! Isn't that great?"; + close; + case 3: + mes "[Viorel]"; + mes "So long~!"; + close; + } +} diff --git a/npc/re/quests/magic_books.txt b/npc/re/quests/magic_books.txt new file mode 100644 index 000000000..943d0c8dd --- /dev/null +++ b/npc/re/quests/magic_books.txt @@ -0,0 +1,845 @@ +//===== rAthena Script ======================================= +//= Magic Book Seller +//===== By: ================================================== +//= Masao +//= Credits to Muad_Dib for the translation. +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena +//===== Description: ========================================= +//= An NPC which sells you different kinds of Magic Books. +//===== Additional Comments: ================================= +//= 1.0 First Version. [Masao] +//= 1.1 Optimized, 60% size reduction. [Euphy] +//============================================================ + +geffen_in,176,105,4 script Magic Book Master Velof 64,{ + + if (checkweight(1201,1) == 0) { + mes "You're carrying too many items. Please make some room in your bag first."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "You're overweight with items. Please lose some item weight first."; + close; + } + if ((Upper == 2) && (Class != Job_Baby_Warlock)) { + mes "[Magic Book Master Velof]"; + mes "What are you, a baby?"; + mes "I'm not here to babysit. Get lost!"; + close; + } + if ((Class != Job_Warlock) && (Class != Job_Warlock_T) && (Class != Job_Baby_Warlock)) { + mes "[Magic Book Master Velof]"; + mes "Ha ha, are you also seeking new knowledge?"; + next; + mes "[Magic Book Master Velof]"; + mes "I'm sorry, but my knowledge doesn't concern you."; + close; + } + if (getskilllv(2230) < 1) { + mes "[Magic Book Master Velof]"; + mes "Well you've met all the qualifications except one: you need the Release spell."; + next; + mes "[Magic Book Master Velof]"; + mes "Learn the spell first. I've got so many things to tell you."; + close; + } + if ((getskilllv(2230) > 0) && (Class == Job_Warlock) || (Class == Job_Warlock_T) || (Class == Job_Baby_Warlock)) { + mes "[Magic Book Master Velof]"; + mes "Welcome, my friend."; + mes "Congratulations on entering a brand new world of magic."; + next; + mes "[Magic Book Master Velof]"; + mes "We magic practitioners are always thirsty for new knowledge and power."; + next; + mes "[Magic Book Master Velof]"; + mes "We endure great hardship and pain to achieve what we want. When we finally do, the sense of accomplishment defies description. That's why both you and I have chosen the way of magic."; + next; + mes "[Magic Book Master Velof]"; + mes "By the way, what brings you to me today?"; + next; + switch (select("Nothing.:Do you know the Reading Spell Book?:What's the Freezing Spell?:Can I have a Magic Book?:Can I use the Reading Spell Book without the Freezing Spell?:About the Ultimate Magic Book")) { + case 1: + mes "[Magic Book Master Velof]"; + mes "Hah! You're silly."; + close; + case 2: + mes "[Magic Book Master Velof]"; + mes "Reading Spell Book literally means 'read a spell book.' Do you know how to use Magic Books?"; + next; + switch (select("Yes, I do.:No, I don't.")) { + case 1: + mes "[Magic Book Master Velof]"; + mes "Well then, you don't need an additional lecture."; + close; + case 2: + mes "[Magic Book Master Velof]"; + mes "Magic Books are an advanced type of magic scroll. While spells on scrolls disappear after one use, the ones in Magic Books can be cast multiple times."; + next; + mes "[Magic Book Master Velof]"; + mes "Let's compare a spell on a scroll to a wire. When the wire is used to open a door or do something else, it's bent and crushed, losing its original shape. A spell from a Magic Book is more like a shape memory alloy."; + next; + mes "[Magic Book Master Velof]"; + mes "Huh, don't you now what shape memory alloy is? Eh, just remember this: a wire made from shape memory alloy restores its shape over time."; + next; + mes "[Magic Book Master Velof]"; + mes "Like the alloy, a spell on a Magic Book remains after a use, although reusing the spell has a downtime for its restoration."; + next; + mes "[Magic Book Master Velof]"; + mes "...Oh, I didn't mean to talk for too long. Anyways, you can use Magic Books to cast spells that you've learned. Its concept is different from normal spells."; + next; + select("What's the difference?"); + mes "[Magic Book Master Velof]"; + mes "Why do you have to write your existing spells in Magic Books, you asked?"; + next; + mes "[Magic Book Master Velof]"; + mes "That's a good question. It's related to Magic Binding."; + next; + mes "[Magic Book Master Velof]"; + mes "You already learned Release, which allows you to hold the energy of the four different elements before the actual casting. Magic Binding is similar to Release."; + next; + mes "[Magic Book Master Velof]"; + mes "Since you've learned Release, you're capable of using Magic Binding as well. Well, let's talk about that later."; + next; + mes "[Magic Book Master Velof]"; + mes "You know how to hold an existing spell, and then cast it at a desired timing via Release."; + next; + mes "[Magic Book Master Velof]"; + mes "Carrying the globes of the four elements is also related to Magic Binding."; + next; + mes "[Magic Book Master Velof]"; + mes "As you know, the four elements are Fire, Water, Wind, and Earth. Being able to employ them freely is the essential principle of magic."; + next; + mes "[Magic Book Master Velof]"; + mes "We Humans use torches to keep fire, fans to blow wind, and bowls to hold water. We also use clay to make earthenware."; + next; + mes "[Magic Book Master Velof]"; + mes "Those activities may differ from magic, but both are the same in the sense of employing the four elements."; + next; + mes "[Magic Book Master Velof]"; + mes "When you use complex magic spells to summon a storm, drop lightning, or burn an area, that consumes a lot of your energy, both physically and mentally."; + next; + mes "[Magic Book Master Velof]"; + mes "When you fail to bind such powerful magic spells or fail to control them,"; + next; + mes "[Magic Book Master Velof]"; + mes "you can receive irreparable damage to your mind and body."; + next; + mes "[Magic Book Master Velof]"; + mes "That's why we use Magic Books to reduce that burden. It helps summon pre-cast spells while you're focusing on binding their magic power."; + next; + mes "[Magic Book Master Velof]"; + mes "There's one downside though: Magic Books cannot be used for spells that you haven't learned."; + next; + mes "[Magic Book Master Velof]"; + mes "As I said earlier, spells in Magic Books tend to go back to what they are."; + next; + mes "[Magic Book Master Velof]"; + mes "That said, as a Circler, you cannot change or create spells in Magic Books."; + next; + mes "[Magic Book Master Velof]"; + mes "Even if you create one, its power will be beyond your capacity."; + next; + mes "[Magic Book Master Velof]"; + mes "In order to use the Reading Spell Book, you must learn the Freezing Spell to bind magic."; + close; + } + case 3: + mes "[Magic Book Master Velof]"; + mes "The Freezing Spell is used for Magic Binding. It helps you to insert a magic spell to a circle."; + next; + mes "[Magic Book Master Velof]"; + mes "Circles of magic work organically with each other. When you use the Freezing Spell to bind a spell, the spell won't activate until you cast the release spell."; + next; + mes "[Magic Book Master Velof]"; + mes "Of course, binding a spell continuously consumes your mana, but it consumes less mana than conventional magic spells."; + next; + mes "[Magic Book Master Velof]"; + mes "Magic Binding becomes more difficult when you use more powerful magic spells."; + next; + mes "[Magic Book Master Velof]"; + mes "For weak spells, you can bind two to three of them with your circle. For more powerful spells, maybe one or two is possible."; + next; + mes "[Magic Book Master Velof]"; + mes "That all depends on your ability to control your spells. You'll have to try and experience Magic Binding after you first learn it to really understand."; + close; + case 4: + mes "[Magic Book Master Velof]"; + mes "I'm sorry, but I only have Magic Books for beginners, but they're obviously not suitable for you. Do you still want one?"; + next; + switch (select("Sure thing.:Where can I find advanced books?")) { + case 1: + mes "[Magic Book Master Velof]"; + mes "Please go talk to [Lea] in the Archive. Tell her that you need one of the Magic Books that I've stored in there."; + next; + mes "[Magic Book Master Velof]"; + mes "For your information, she won't give it to you without anything in return. Expect her to ask you for something!"; + if (wm_book < 1) set wm_book, 1; + close; + case 2: + mes "[Magic Book Master Velof]"; + mes "I'm sorry, but our management has recently decided to limit the availability of Magic Books for Multi Circlers. It's because their numbers are increasing more quickly than we expected."; + next; + mes "[Magic Book Master Velof]"; + mes "You could find one if you try hard, but I don't have any with me."; + next; + mes "[Magic Book Master Velof]"; + mes "If our management releases the restriction, you'll be the first one to know. Don't worry."; + close; + } + case 5: + mes "[Magic Book Master Velof]"; + mes "Nothing will happen when you try to bind magic without using Magic Binding because you have nothing to hold magic."; + next; + mes "[Magic Book Master Velof]"; + mes "It's like water that needs a bowl to stay in place."; + next; + mes "[Magic Book Master Velof]"; + mes "The problem is when you try to forcefully cast a spell that you haven't learned. It'll definately backfire on you."; + next; + mes "[Magic Book Master Velof]"; + mes "Of course, the damage won't be severe: you'll fall asleep or be thrown into confusion. This is all because there's a conflict between your Magic Book and the force of Magic Binding when you're trying to summon and hold a unlearned spell."; + next; + mes "[Magic Book Master Velof]"; + mes "Don't try it out just to see what happens for yourself! Falling asleep while casting a spell? There's nothing more humiliating than that to magic practitioners like us."; + close; + case 6: + if ((BaseLevel > 139) && (getskilllv(2217) > 0) || (getskilllv(2213) > 0)) { + if(mac_book < 1){ + mes "[Magic Book Master Velof]"; + mes "I'm sorry, but could you ask someone else? I'm kind of busy right now."; + close; + } + if (mac_book == 1) { + mes "[Magic Book Master Velof]"; + mes "Huh, are you looking for the Ultimate Magic Book? Who sent you?"; + next; + select("Ms. Lea."); + mes "[Magic Book Master Velof]"; + mes "I'm sorry, but there's not much information left about the Ultimate Magic Book."; + next; + mes "[Magic Book Master Velof]"; + mes "A few scholars in the Midgard Continent once tried to collect ancient Magic Books and reproduce that book, but..."; + next; + select("But what?"); + mes "[Magic Book Master Velof]"; + mes "Oh yes, perhaps he might know something."; + next; + select("Yes, I knew this was coming!"); + mes "[Magic Book Master Velof]"; + mes "My brother is just like you. He's very interested in recreating the Ultimate Magic Book."; + next; + mes "[Magic Book Master Velof]"; + mes "His name is Galfos."; + mes "He's been taking a great interest in the ancient Magic Books."; + next; + mes "[Magic Book Master Velof]"; + mes "I didn't support him or give him any advice for his research since I thought he'd give on it pretty quickly, but..."; + next; + mes "[Magic Book Master Velof]"; + mes "If he's discovered anything useful, maybe it can helpful to you."; + next; + select("Where's Galfos now?"); + mes "[Magic Book Master Velof]"; + mes "I've heard that he's near the Expedition Camp beyond the Dimensional Rift to seek information about the ancient Magic Books."; + next; + mes "[Magic Book Master Velof]"; + mes "If you want to see him, you should prepare for a long journey."; + set mac_book,2; + close; + } + if (mac_book > 1) { + mes "[Magic Book Master Velof]"; + mes "Galfos is near the Expedition Camp beyond the Dimensional Rift."; + next; + mes "[Magic Book Master Velof]"; + mes "If you want to see him, you should prepare for a long journey."; + close; + } + } + mes "[Magic Book Master Velof]"; + mes "Ha ha, I'm sorry, but you should focus on strengthening your body rather than creating Magic Books."; + close; + } + } + mes "[Magic Book Master Velof]"; + mes "Ha ha, are you also seeking new knowledge?"; + next; + mes "[Magic Book Master Velof]"; + mes "I'm sorry, but my knowledge doesn't concern you."; + close; +} + +geffen_in,175,112,4 script Lea 123,{ + + if (checkweight(1201,1) == 0) { + mes "You're carrying too many items. Please make some room in your bag first."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "You're overweight with items. Please lose some item weight first."; + close; + } + if ((wm_book > 0) && (Class == Job_Warlock) || (Class == Job_Warlock_T) || (Class == Job_Baby_Warlock)) { + mes "[Lea]"; + mes "You can only read books here. If you'd like to borrow any books, please receive an approval from 1 manager and 1 High Mage."; + next; + mes "[Lea]"; + mes "How may I help you?"; + next; + select("Master Velof asked me to bring his Magic Book."); + mes "[Lea]"; + mes "Are you borrowing a book?"; + next; + switch (select("Let me think.:I want the Beginner's Magic Books.:I want the Intermediate Magic Books.:I want the Superior Magic Books.:I want the Ultimate Magic Book.")) { + case 1: + mes "[Lea]"; + mes "No problem."; + close; + case 2: + mes "[Lea]"; + mes "We're in trouble because so many people want to borrow our Magic Books."; + next; + mes "[Lea]"; + mes "Unfortunately, many of our lent books aren't returned on time. That's why we've decided to charge a security deposit."; + next; + select("A security deposit?"); + mes "[Lea]"; + mes "Yes. You may pay a minimum of 10,000 Rune-Midgarts zeny. Alternatively, you can bring 2 Old Magic Books or 50 Old Pages. Once you pay the deposit, I'll let you borrow some Magic Books."; + next; + set .@Payment, select("Where can I find Old Magic Books and Old Pages?:I'll pay with zeny.:I'll pay with Old Magic Books.:I'll pay with Old Pages.")-1; + mes "[Lea]"; + if (!.@Payment) { + mes "I heard that you can find them from Ride Words, Death Words, Bathorys, and other monsters. I ask that you please don't strain yourself to find those items."; + next; + mes "[Lea]"; + mes "Your life is more important than anything else, you know?"; + close; + } + if ((.@Payment == 1 && Zeny > 10000) || (.@Payment == 2 && countitem(1006) > 1) || (.@Payment == 3 && countitem(1097) > 49)) { + mes "What kind of Magic Book do you want?"; + next; + set .@i, select("Let me think.:Magic Book (Fire Bolt):Magic Book (Cold Bolt):Magic Book (Lightning Bolt)")-1; + mes "[Lea]"; + if (!.@i) { + mes "No problem."; + close; + } + if (countitem(6188+.@i)) { + mes "You already have that Magic Book. You can't borrow a new book until you return the current one."; + next; + mes "[Lea]"; + mes "Don't you know how many others would want the book you already have? It's a bit selfish to want more than one, you know."; + close; + } + if ((.@Payment == 1 && Zeny > 10000) || (.@Payment == 2 && countitem(1006) > 1) || (.@Payment == 3 && countitem(1097) > 49)) { + mes "The book's return date is written on the lending card on the back cover of the book."; + next; + mes "[Lea]"; + mes "Please try not to lose or damage the book to avoid paying any extra charges."; + if (.@Payment == 1) set Zeny, Zeny - 10000; + else if (.@Payment == 2) delitem 1006,2; //Old_Magic_Book + else delitem 1097,50; //Worn_Out_Page + getitem 6188+.@i,1; //Magic_Book_FB, Magic_Book_CB, Magic_Book_LB + close; + } + } + mes "I'm sorry, but you don't have enough funds."; + close; + case 3: + mes "[Lea]"; + mes "Ah, so you want the Intermediate Magic Books. Please pay 50,000 Rune-Midgartian zeny, or you can bring me 2 Old Blue Boxes or 9 Eluniums to borrow the Intermediate Magic Books."; + next; + set .@Payment, select("Where can I find Old Blue Boxes and Eluniums?:I'll pay 50,000 zeny.:I'll pay with Old Blue Boxes.:I'll pay with Eluniums.")-1; + mes "[Lea]"; + if (!.@Payment) { + mes "Old Blue Boxes are quite rare to find, but they can be obtained from monsters everywhere in the world, including Myst Cases, Megalogons, Mimics, Nightmares, Krabens, Requiems, Nine Tails, Noxiouses, and Byorgues."; + mes "If you have sufficient funds, you may buy the boxes from street vendors."; + next; + mes "[Lea]"; + mes "Eluniums can be obtained from Hyeguns, Zombie Prisoners, Teddy Bears, Obsedians, and Loli Ruris. Or you can refine Rough Eluniums to Eluniums at the Forge in town, and that may be easier."; + close; + } + if ((.@Payment == 1 && Zeny > 50000) || (.@Payment == 2 && countitem(603) > 1) || (.@Payment == 3 && countitem(985) > 8)) { + mes "What kind of Magic Book do you want?"; + next; + set .@i, select("Let me think.:Magic Book (Storm Gust):Magic Book (Lord of Vermillion):Magic Book (Meteor Storm):Magic Book (Thunderstorm):Magic Book (Jupitel Thunder):Magic Book (Water Ball):Magic Book (Heaven's Drive):Magic Book (Earth Spike)")-1; + setarray .@Books[0],6192,6193,6194,6197,6198,6199,6200,6201; + mes "[Lea]"; + if (!.@i) { + mes "No problem."; + close; + } + if (countitem(.@Books[.@i-1])) { + mes "You already have that Magic Book. You can't borrow a new book until you return the current one."; + next; + mes "[Lea]"; + mes "Don't you know how many others would want the book you already have? It's a bit selfish to want more than one, you know."; + close; + } + if ((.@Payment == 1 && Zeny > 50000) || (.@Payment == 2 && countitem(603) > 1) || (.@Payment == 3 && countitem(985) > 8)) { + mes "Thank you for your deposit. The book's return date is written on the lending card on the back cover of the book. Please try not to lose or damage the book and avoid paying compensation."; + next; + mes "[Lea]"; + mes "The Intermediate and Superior Magic Books must be returned upon borrowing the Ultimate Magic Book. Remember that you're just borrowing them, so make sure you take good care of those books."; + if (.@Payment == 1) set Zeny, Zeny - 50000; + else if (.@Payment == 2) delitem 603,2; //Old_Blue_Box + else delitem 985,9; //Elunium + getitem .@Books[.@i-1],1; //Magic_Book_SG, Magic_Book_LOV, Magic_Book_MS, Magic_Book_TS, Magic_Book_JT, Magic_Book_WB, Magic_Book_HD, Magic_Book_ES + close; + } + } + mes "I'm sorry, but you don't have enough funds."; + close; + case 4: + mes "[Lea]"; + mes "Oh, do you want the Superior Magic Books? For your information, borrowing those Magic Books requires many conditions and restrictions. Are you sure that you want it?"; + next; + select("Yes."); + mes "[Lea]"; + mes "I see. If you're determined to borrow the Superior Magic Books, please choose one of the following tyes of payment for the security deposit."; + next; + mes "[Lea]"; + mes "[12 Mystery Pieces and 100,000 zeny], [7 Oridecons and 100,000 zeny], or [1 Old Violet Box and 100,000 zeny]. Now how would you like to pay your deposit?"; + next; + set .@Payment, select("Where can I find those items?:Let me think.:I'll pay with 12 Mystery Pieces and 100,000 zeny.:I'll pay with 7 Oridecons and 100,000 zeny.:I'll pay with 1 Old Violet Box and 100,000 zeny.")-1; + mes "[Lea]"; + if (!.@Payment) { + mes "Mystery Pieces can be obtained from machine creatures in the Juperos Dungeon, and they're the fountain of knowledge from the ancient civilization. Ah, I get excited thinking about those artifacts."; + next; + mes "[Lea]"; + mes "Oridecons can be obtained from Executioners, Gryphons, Jokers, and Abysmal Knights, but it'll be easier to collect Rough Oridecons than Oridecons."; + next; + mes "[Lea]"; + mes "You can refine Rough Oridecons to Oridecons at the Forge in town."; + next; + mes "[Lea]"; + mes "Old Violet Boxes can be obtained from Mimics, Megaliths, Orc Lords, Stormy Knights, and Osirises."; + next; + mes "[Lea]"; + mes "The boxes are a subject worthy of serious study since they're used to test Schrodinger's pet cat."; + close; + } + if (.@Payment == 1) { + mes "If you're unable to collect the items for the security deposit, I can offer you an alternate payment method."; + next; + mes "[Lea]"; + mes "How does 200,000 Rune-Midgartian zeny sound?"; + next; + if(select("I'm sorry, but I can't pay that much.:Sounds good.") == 1) { + mes "[Lea]"; + mes "I see."; + close; + } + mes "[Lea]"; + } + if ((.@Payment == 1 && Zeny > 199999) || (Zeny > 99999 && ((.@Payment == 2 && countitem(7094) > 11) || (.@Payment == 3 && countitem(984) > 6) || (.@Payment == 4 && countitem(617))))) { + mes "What kind of Magic Book do you want?"; + next; + set .@i, select("Let me think.:Magic Book (Earth Strain):Magic Book (Chain Lightning):Magic Book (Crimson Rock):Magic Book (Drain Life)")-1; + mes "[Lea]"; + if (!.@i) { + mes "No problem."; + close; + } + if (countitem(6201+.@i)) { + mes "You already have that Magic Book. You can't borrow a new book until you return the current one."; + next; + mes "[Lea]"; + mes "Don't you know how many others would want the book you already have? It's a bit selfish to want more than one, you know."; + close; + } + if ((.@Payment == 1 && Zeny > 199999) || (Zeny > 99999 && ((.@Payment == 2 && countitem(7094) > 11) || (.@Payment == 3 && countitem(984) > 6) || (.@Payment == 4 && countitem(617))))) { + mes "Thank you for your deposit. The book's return date is written on the lending card on the back cover of the book. Please try not to lose or damage the book and avoid paying compensation."; + next; + mes "[Lea]"; + mes "The Intermediate and Superior Magic Books must be returned upon borrowing the Ultimate Magic Book. Remember that you're just borrowing them, so make sure you take good care of those books."; + if (.@Payment == 1) set Zeny, Zeny - 200000; + else if (.@Payment == 2) delitem 7094,12; //Mystery_Piece + else if (.@Payment == 3) delitem 984,7; //Oridecon + else delitem 617,1; //Old_Violet_Box + if (.@Payment > 1) set Zeny, Zeny - 100000; + getitem 6201+.@i,1; //Magic_Book_ES_, Magic_Book_CL, Magic_Book_CR, Magic_Book_DL + close; + } + } + mes "I'm sorry, but you don't have enough funds."; + close; + case 5: + if ((BaseLevel > 139) && (mac_book < 1) && ((getskilllv(2217) > 0) || (getskilllv(2213) > 0))) { + mes "[Lea]"; + mes "Did... Did you just say the Ultimate Magic Book?"; + next; + mes "[Lea]"; + mes "Oh, my...."; + mes "I can't believe someone actually wants that book."; + next; + select("Please don't say that you don't have it."); + mes "[Lea]"; + mes "Frankly, I've never even seen the Ultimate Magic Book."; + next; + mes "[Lea]"; + mes "You should ask Master Velof if you want to know more about that book."; + next; + mes "[Lea]"; + mes "I'm sorry that I can't help you more than that."; + set mac_book,1; + close; + } + if ((BaseLevel > 139) && (mac_book > 0) && ((getskilllv(2217) > 0) || (getskilllv(2213) > 0))) { + mes "[Lea]"; + mes "You should ask Master Velof for some information about that book."; + close; + } + mes "[Lea]"; + mes "How about practicing your magic spells for now?"; + next; + mes "[Lea]"; + mes "In order to obtain the Ultimate Magic Book, you must reach Level 140 and learn Tetera Bolt and Comet."; + next; + mes "[Lea]"; + mes "That book can't be used by just anyone, you know?"; + close; + } + } + mes "[Lea]"; + mes "Welcome to the Magic Archive. You can read and borrow books from here under certain conditions."; + close; +} + +mid_camp,255,244,4 script Galfos 735,{ + + if (checkweight(1201,1) == 0) { + mes "You're carrying too many items. Please make some room in your bag first."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "You're overweight with items. Please lose some item weight first."; + close; + } + if (Upper == 2) { + mes "[Galfos]"; + mes "What are you, a baby?"; + mes "I'm not here to babysit. Get lost!"; + close; + } + if ((Class != Job_Warlock) && (Class != Job_Warlock_T) && (Class != Job_Baby_Warlock)) { + mes "[Galfos]"; + mes "My right arm feels hot while my left arm feels cold. I can never get used to this weird weather!"; + close; + } + if (getskilllv(2230) < 1) { + mes "[Galfos]"; + mes "Ah, I'll get myself in trouble if I stay here any longer. Maybe I'm already in..."; + close; + } + if ((BaseLevel < 140) || (getskilllv(2217) < 1) && (getskilllv(2213) < 1)) { + mes "[Galfos]"; + mes "I'm sorry, but I don't talk to people that aren't even ready for this."; + close; + } + if (mac_book < 2) { + mes "[Galfos]"; + mes "You look strong, but you don't seem to have any business with me."; + close; + } + if (mac_book == 2) { + mes "[Galfos]"; + mes "What brings you to me?"; + next; + select("I heard that you've studied the Ultimate Magic Book."); + mes "[Galfos]"; + mes "Why, are you interested too?"; + mes "I didn't know someone would actually take an interest in that book. Yes, I'm studying that magic book. How did you find that out?"; + next; + select("You're Velof's brother, right?"); + mes "[Galfos]"; + mes "Yes, I'm Galfos, and Velof is my brother."; + next; + mes "[Galfos]"; + mes "Wait a minute,"; + mes "did the old man recommend me to you?"; + next; + select("That's right."); + mes "[Galfos]"; + mes "Wow!"; + mes "This is surprising. He never took my research very seriously. I'm glad that he finally changed his mind."; + next; + mes "[Galfos]"; + mes "Heh! Your timing couldn't be better: I was looking for a test object."; + next; + select("A test object?"); + mes "[Galfos]"; + mes "Frankly, I'm only interested in creating the Ultimate Magic Book."; + next; + mes "[Galfos]"; + mes "I'm not good at using magic, not to mention that I prefer fists in fighting. Nevertheless, I find Magic Books to be incredibly intriguing."; + next; + mes "[Galfos]"; + mes "The problem is that I can't use the Ultimate Magic Book, even if I made one. That's why I can't really test it on my own."; + next; + mes "[Galfos]"; + mes "That's why I've been waiting for a true magic practitioner like you that can help me test my Ultimate Magic Book."; + next; + select("(What is he talking about?)"); + mes "[Galfos]"; + mes "My research is almost done,"; + mes "and I need to solve one last problem to create the Magic Book."; + next; + mes "[Galfos]"; + mes "To make the ancient Ultimate Magic Book, I need an artifact and some spells to fuse into it."; + next; + mes "[Galfos]"; + mes "I've perfectly restored the spells based on the ancient documents, but I still have no information about the necessary artifact."; + next; + mes "[Galfos]"; + mes "Ah, but there's a silver lining!"; + next; + select("(Now we're getting somewhere!)"); + mes "[Galfos]"; + mes "Ha ha..."; + mes "There's a great archive in El Dicastes, the Capital City of the Evil Giants, where all knowledge in this world is stored."; + next; + mes "[Galfos]"; + mes "Maybe that's the place to find some information about the artifact for this Ultimate Magic Book."; + next; + mes "[Galfos]"; + mes "You know what to do, don't you? Find information about the artifact in the El Dicastes archive, using everything in your power."; + next; + mes "[Galfos]"; + mes "Afterwards, create and bring me the artifact. We'll talk about creating the Magic Book afterwards."; + set mac_book,3; + close; + } + if (mac_book == 3) { + mes "[Galfos]"; + mes "You know what to do, don't you? Find information about the artifact in the El Dicastes archive, using everything in your power."; + next; + mes "[Galfos]"; + mes "Afterwards, create and bring me the artifact. We'll talk about creating the Magic Book afterwards."; + close; + } + if (mac_book == 4) { + mes "[Galfos]"; + mes "Oh, did you find"; + mes "anything useful?"; + next; + set .@i, select("I've discovered everything about Comet.:I've mastered the zenith of Tetra Vortex."); + mes "[Galfos]"; + if ((.@i == 1 && countitem(6195)) || (.@i == 2 && countitem(6196))) { + mes "Are you kidding me? You already have the book!"; + close; + } + if ((.@i == 1 && checkquest(12218) == 2) || (.@i == 2 && checkquest(12219) == 2 && checkquest(12220) == 2 && checkquest(12221) == 2 && checkquest(12222) == 2)) { + mes "Oh my, I sense incredible energy coming from you. This is great! Now we're ready to make the Ultimate Magic Book."; + next; + mes "[Galfos]"; + mes "There's one problem, though: I'm so broke that I don't even have enough money to buy the tools to make the book."; + next; + mes "[Galfos]"; + mes "I need at least ^0000aa1,000,000 zeny^000000 to buy all the necessary tools. Do you have the money?"; + next; + if(select("Wh-what? No!:Sure.") == 1) { + mes "[Galfos]"; + mes "Aw, you don't? It's disappointing, but there's nothing I can do. Come back when you have enough money, okay?"; + close; + } + mes "[Galfos]"; + if (Zeny >= 1000000) { + mes "Alright then, let's get started!"; + next; + specialeffect2 EF_DISPELL; + progressbar "ffff00",4; + specialeffect2 EF_LORD; + set Zeny, Zeny - 1000000; + getitem 6194+.@i,1; //Magic_Book_CM, Magic_Book_TV + mes "[Galfos]"; + mes "Man, I almost lost my control to the incredible magic energy! Here's your Magic Book."; + next; + mes "[Galfos]"; + mes "Thank you for making my dream come true. Feel free to come back if you need another one of these books."; + close; + } + mes "Hey, what did I tell you? I can't buy the tools to make the book without money!"; + close; + } + mes "Are you sure that you've found something? It doesn't seem like you've learned what we need..."; + close; + } + mes "[Galfos]"; + mes "Is there anything else you need?"; + close; +} + +dic_in01,25,190,0 script Mysterious Documents 844,{ + + if (isequipped(2782) < 1) { + mes "I better not forget to equip my ring."; + close; + } + if (ep13_3_invite < 5) { + mes "When you approach the documents, an Evil Giant that looks like the archive manager tries to call Guard Galton. You should get out of here quickly."; + close; + } + if (checkquest(12165,"PLAYTIME") == 1) { + mes "The documents are making you feel nauseous. You should come back later after your stomach settles."; + close; + } + if (checkquest(12165,"PLAYTIME") == 2) { + mes "You don't feel as nauseous anymore. It should be safe to proceed now."; + erasequest 12165; + close; + } + if ((BaseLevel < 140) || (getskilllv(2217) < 1) && (getskilllv(2213) < 1)) { + mes "The documents in this container aren't legible. It's no use trying to read them."; + close; + } + specialeffect2 EF_DISPELL; + progressbar "ffff00",4; + if (mac_book < 3) { + mes "You have discovered records about magic, acceleration, and particle waves."; + close; + } + if (mac_book == 3) { + mes "You have discovered records about magic, acceleration, and particle waves. These documents must be the ones that Galfos is looking for."; + set mac_book, 4; + close; + } + if (mac_book == 4) { + if (rand(1,10) == 1) { + if (getskilllv(2213) > 0) { + if (checkquest(12218) == 1) { + mes "You already own this document."; + close; + } + mes "^660066In order to create the essence of lava, you must refine 40 Burning Hearts at the hottest place on the 2nd floor of the Thor's Volcano Dungeon.^000000"; + mes "^660066You must do this by using the greatest power in that place. The Humans have used this method to study the acceleration of magic particles since ancient times.^000000"; + next; + mes "You have discovered the ^990099Lava Essence Creation Method^000000. Please check your Quest window for more details."; + specialeffect2 EF_STEAL; + close2; + setquest 12218; + end; + } + mes "Nothing in this document looks useful."; + close; + } + if (rand(1,10) == 2) { + if (getskilllv(2217) > 0) { + if (checkquest(12219) == 1) { + mes "You already own this document."; + close; + } + mes "^660066The essence of flame can be refined on stable ground on the 1st floor of the Thor's Volcano Dungeon. 10 Love Coals are necessary to refine the essence.^000000"; + mes "^660066According to Humans' information, this essence constitutes one of the four natural elements.^000000"; + next; + mes "You have discovered the ^990099Flame Essence Creation Method^000000. Please check your Quest window for more details."; + specialeffect2 EF_STEAL; + close2; + setquest 12219; + end; + } + mes "Nothing in this document looks useful."; + close; + } + if (rand(1,10) == 3) { + if (getskilllv(2217) > 0) { + if (checkquest(12220) == 1) { + mes "You already own this document."; + close; + } + mes "^660066I succeeded in refining the essence of glacier deep inside the 3rd floor of the Ice Cave. If you'd like to try, prepare 10 Ice Hearts and go to the following location.^000000"; + next; + mes "You have discovered the ^990099Glacier Essence Creation Method^000000. Please check your Quest window for more details."; + specialeffect2 EF_STEAL; + close2; + setquest 12220; + end; + } + mes "Nothing in this document looks useful."; + close; + } + if (rand(1,10) == 4) { + if (getskilllv(2217) > 0) { + if (checkquest(12221) == 1) { + mes "You already own this document."; + close; + } + mes "^660066I was able to refine the essence of fossil from old rocks on the 2nd floor of the Mine Dungeon. So far, that place is the most stable among all the testing grounds."; + mes "If you'd like to try, prepare 10 Jubilees and go to the dungeon. Good luck.^000000"; + next; + mes "You have discovered the ^990099Fossil Essence Creation Method^000000. Please check your Quest window for more details."; + specialeffect2 EF_STEAL; + close2; + setquest 12221; + end; + } + mes "Nothing in this document looks useful."; + close; + } + if (rand(1,10) == 5) { + if (getskilllv(2217) > 0) { + if (checkquest(12222) == 1) { + mes "You already own this document."; + close; + } + mes "^660066In order to refine the essence of storm, I visited the Hermit's Checkerboard in Kunlun where the spirit of the wind resides."; + mes "The refining process was easy, but I had a hard time finding the catalyst, Dragon Teeth.^000000"; + next; + mes "You have discovered the ^990099Storm Essence Creation Method^000000. Please check your Quest window for more details."; + specialeffect2 EF_STEAL; + close2; + setquest 12222; + end; + } + mes "Nothing in this document looks useful."; + close; + } + if (rand(1,10) == 10) { + mes "You suddenly feel sick, and this nausea won't go away easily. You should try finding the documents you need later."; + setquest 12165; + close; + } + mes "Nothing here looks special."; + close; + } + mes "You no longer need to search this place."; + close; +} + +function script Magic_Book_Essence { + if (MaxWeight - Weight < 1000) { + mes "Please lighten your bag."; + close; + } + if (checkquest(getarg(0)) == 1 && countitem(getarg(1)) >= getarg(2)) { + specialeffect2 EF_BLIND; + specialeffect2 EF_BEGINSPELL; + progressbar "ffff00",4; + delitem getarg(1),getarg(2); + if (rand(2)) { + mes "You have used "+getarg(2)+" "+getitemname(getarg(1))+"s to create ^999900"+getarg(3)+" Essence^000000."; + next; + mes "^008800The "+getarg(3)+" Essence will last permanently, unless there's a problem.^000000"; + completequest getarg(0); + specialeffect2 EF_LORD; + close; + } + mes "^008888You have failed to refine the essence using "+getarg(2)+" "+getitemname(getarg(1))+"s.^000000"; + close; + } + if (checkquest(getarg(0)) == 2) { + mes "You've already created "+getarg(3)+" Essence in this area."; + close; + } + mes "Someone already used this area."; + close; +} + +thor_v02,163,104,0 script Powerful Lava Energy#33 844,{ callfunc "Magic_Book_Essence",12218,7097,40,"Lava"; end; } +thor_v01,185,91,0 script Powerful Flame Energy#33 844,{ callfunc "Magic_Book_Essence",12219,7098,10,"Flame"; end; } +ice_dun03,137,148,0 script Powerful Glacier Energy 844,{ callfunc "Magic_Book_Essence",12220,7561,10,"Glacier"; end; } +ein_dun02,181,124,0 script Powerful Fossil Energy 844,{ callfunc "Magic_Book_Essence",12221,7312,10,"Fossil"; end; } +gon_dun02,252,198,0 script Powerful Storm Energy#33 844,{ callfunc "Magic_Book_Essence",12222,7266,10,"Storm"; end; } diff --git a/npc/re/quests/mrsmile.txt b/npc/re/quests/mrsmile.txt new file mode 100644 index 000000000..c36ecf91a --- /dev/null +++ b/npc/re/quests/mrsmile.txt @@ -0,0 +1,16 @@ +//===== rAthena Script ======================================= +//= Mr. Smile Quest +//===== By: ================================================== +//= Daegaladh, Masao +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Trade Clover, Fluff and Jellopy for a Mr. Smile mask. +//===== Additional Comments: ================================= +//= 1.0 Updated to match the new Izlude Map. [Masao] +//============================================================ + +izlude,125,175,4 duplicate(SmileHelper) Smile Assistance#iz 92 diff --git a/npc/re/quests/pile_bunker.txt b/npc/re/quests/pile_bunker.txt new file mode 100644 index 000000000..31b36c82b --- /dev/null +++ b/npc/re/quests/pile_bunker.txt @@ -0,0 +1,115 @@ +//===== rAthena Script ======================================= +//= Pile Bunker Quest +//===== By: ================================================== +//= JayPee Mateo +//===== Current Version: ===================================== +//= 2.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= 1.0 A Pile Bunker quest based on iRO WiKi. [JayPee Mateo] +//= 2.0 Rewrited the Script a little so it looks a bit better. [Masao] +//= 2.1 Switched to official script, coded by Gennosuke Kouga. [Euphy] +//============================================================ + +yuno,179,174,4 script Gomer 851,{ + if (Class != Job_Mechanic && Class != Job_Mechanic_T && Class != Job_Baby_Mechanic) { + mes "[Gomer]"; + mes "I'm a retired Mechanic and I don't think I have any business with you."; + close; + } + mes "[Gomer]"; + mes "So? What does it feel like to be on a Madogear?"; + mes "It's something that's not allowed for those who failed to seek out their own path."; + next; + mes "[Gomer]"; + mes "Me? I retired a long time ago. Because I got into an accident... got badly hurt and won't be able to ride again. I am upset about it."; + next; + mes "[Gomer]"; + mes "So I've decided to stay here forging gears for Madogear."; + mes "Huh? I'm not saying I have any complaints about this work."; + next; + mes "[Gomer]"; + mes "Forced to do something you don't like, there is nothing more miserable than that."; + next; + mes "[Gomer]"; + mes "There are people who are happy just being props, you know, like being the wall for someone to lean on."; + next; + mes "[Gomer]"; + mes "That makes me feel good and I am about to make a new gear. I want you to help me. What do you say?"; + next; + switch(select("I am not that interested.:What are you going to make?:Where do you get the materials?:I brought the materials.")) { + case 1: + mes "[Gomer]"; + mes "Nothing I can do"; + mes "about it then."; + mes "See you next time!"; + close; + case 2: + mes "[Gomer]"; + mes "Um, a huge metal stick that could smash an opponent in one hit!"; + next; + mes "[Gomer]"; + mes "It doesn't look fancy, but I've designed a spring-loaded device to attack with great strength."; + next; + mes "[Gomer]"; + mes "It's concealed, so when you find a chance, one shot could put an opponent in critical condition!"; + mes "I can't wait to see it in action!"; + next; + mes "[Gomer]"; + mes "If you were to imagine how good this kind of weapon could be, I will make it come true."; + next; + mes "[Gomer]"; + mes "Bring me 200 Steel, 30 Flexible Tubes, and 1 Brocca. I could make what I just described with those materials."; + close; + case 3: + mes "[Gomer]"; + mes "You should be able get steel from many monsters like Kobolds."; + next; + mes "[Gomer]"; + mes "Flexible Tubes are more rare, dropped by Metalings around Einbroch and Lighthalzen."; + next; + mes "[Gomer]"; + mes "Lastly, finding a Brocca is very hard, but you should be able to do something about it. Haha, go get it!"; + close; + case 4: + if (countitem(1549)) { + mes "[Gomer]"; + mes "So how's that Pile Bunker working out for you?"; + close; + } else if (countitem(1415) < 1 || countitem(999) < 200 || countitem(7325) < 30) { + mes "[Gomer]"; + mes "You haven't brought all of the materials that I asked for."; + next; + mes "[Gomer]"; + mes "I have a habit of giving up what I've been making and trying to make new things when the inspiration comes up."; + mes "You'd better hurry!"; + close; + } else { + mes "[Gomer]"; + mes "Oh, I've been waiting. You didn't come on time, so I was wondering if you forgot about it. Please wait there a little bit."; + specialeffect 101; + next; + mes "[Gomer]"; + mes "It's done. What do you think? Not bad, eh? Although I made it myself, I have to say it's pretty decently done."; + next; + mes "[Gomer]"; + mes "Combination of weight, volume and look at its color and gloss. It catches my heart!"; + next; + mes "[Gomer]"; + mes "..........."; + next; + mes "[Gomer]"; + mes "Uh, with little improvement, it could be mass produced and delivered. I'm sure I can make more of these so I will give this one to you."; + next; + mes "[Gomer]"; + mes "Oh, and it turns out that I didn't need all that Steel after all. So here, take most of it back."; + delitem 999,50; // Steel + delitem 7325,30; // Flexible Tube + delitem 1415,1; // Brocca + getitem 1549,1; // Pile Bunker + getitem 1360,1; // Two-handed Axe [1] + close; + } + } +} diff --git a/npc/re/quests/quests_brasilis.txt b/npc/re/quests/quests_brasilis.txt new file mode 100644 index 000000000..88b021a0f --- /dev/null +++ b/npc/re/quests/quests_brasilis.txt @@ -0,0 +1,3149 @@ +//===== rAthena Script ======================================= +//= Brasilis Qiests +//===== By =================================================== +//= L0ne_W0lf +//===== Version ============================================== +//= 1.2 +//===== Compatible With ====================================== +//= rAthena SVN +//===== Description ========================================== +//= [Translated from the Official] +//= Lost Puppies (Repeatable, 24 hours.) +//= Suspicious Beach (Repeatable, 24 hours. iRO/cRO version.) +//= Guarana Candy Quest +//= Brasilis Water Lily Quest +//= Brasilis Dungeon Access Quest +//= Iara (Buff reward. Repeatable, 24 hours.) +//===== Comments ============================================= +//= 1.0 First version. +//= 1.1 Hydra Ball (12408) +//= 1.2 Optimization. [Euphy] +//============================================================ + +// Lost Puppies, Original file: dogdog.sc +//============================================================ +brasilis,297,307,5 script Angelo#br 50,{ + if (BaseLevel < 40) { + mes "[Angelo]"; + mes "Pets went out the village~!!"; + mes "Gosh... what can I do... ?"; + close; + } + if (checkquest(9032,PLAYTIME) == 2) { + erasequest 9032; + } + if (checkquest(9032,PLAYTIME) == 0) { + mes "[Angelo]"; + mes "The day is not finished yet."; + mes "You can only help once a day. Hehe."; + close; + } + if (checkquest(9030) == 1) { + mes "[Angelo]"; + mes "My pets are in the field outside of the village."; + mes "Why did they leave? Please find them."; + close; + } + if (checkquest(9031) == 1) { + mes "[Angelo]"; + mes "Oh, thank you. You found all of 3 puppies."; + mes "Thanks a lot."; + mes "I hope this is useful to you. hoho."; + getexp 50000,0; + erasequest 9031; + setquest 9032; + specialeffect2 EF_ASSUMPTIO; + percentheal 100,100; + set .@rand,rand(1,10); + if (.@rand > 4 && .@rand < 9) getitem 504,2; //White_Potion + else if (.@rand > 8) getitem 608,1; //Seed_Of_Yggdrasil + close; + } + mes "[Angelo]"; + mes "Are you an adventurer? You came here right on time."; + mes "Puppies have been disappearing."; + mes "And someone said that they saw them out on the field just outside the village...."; + next; + mes "[Angelo]"; + mes "It's pretty difficult and dangerous to find 'em."; + mes "You have to find ^0000FF3 puppies^000000."; + setquest 9030; + close; + +OnInit: + initnpctimer; + end; + +OnTimer10000: + stopnpctimer; + donpcevent "Angelo#br::OnGo"; + end; + +OnGo: + emotion e_gasp; + initnpctimer; + end; +} + +- script Puppy#bra -1,{ + if (checkquest(9030) == 1) { + if (brazil_kid < 3) { + mes "[Puppy]"; + mes "bow wow bow wow!!"; + next; + set brazil_kid,brazil_kid+1; + mes "[" + strcharinfo(0) + "]"; + if (brazil_kid == 3) { + mes "Good. I found all 3 puppies."; + mes "Now I need to go tell Angelo."; + set brazil_kid,0; + erasequest 9030; + setquest 9031; + } + else { + mes "Ah... who's a good puppy?"; + mes "Ok, where are the others?"; + } + if (compare(strnpcinfo(2),"1")) setarray .@i[0],2,3; + else if (compare(strnpcinfo(2),"2")) setarray .@i[0],1,3; + else setarray .@i[0],1,2; + donpcevent "Puppy#"+charat(strnpcinfo(2),0)+.@i[rand(2)]+"::OnEnable"; + hideonnpc strnpcinfo(0); + close; + } + } + mes "[Puppy]"; + mes "bow! wow wow!"; + close; + +OnInit: + if (!compare(strnpcinfo(2),"1")) hideonnpc strnpcinfo(0); + end; + +OnEnable: + hideoffnpc strnpcinfo(0); + end; + +OnDisable: + hideonnpc strnpcinfo(0); + end; +} + +bra_fild01,98,96,3 duplicate(Puppy#bra) Puppy#a1 81 +bra_fild01,59,116,5 duplicate(Puppy#bra) Puppy#a2 81 +bra_fild01,62,142,3 duplicate(Puppy#bra) Puppy#a3 81 +bra_fild01,80,163,3 duplicate(Puppy#bra) Puppy#b1 81 +bra_fild01,73,210,3 duplicate(Puppy#bra) Puppy#b2 81 +bra_fild01,80,210,3 duplicate(Puppy#bra) Puppy#b3 81 +bra_fild01,38,235,3 duplicate(Puppy#bra) Puppy#c1 81 +bra_fild01,307,64,3 duplicate(Puppy#bra) Puppy#c2 81 +bra_fild01,260,60,3 duplicate(Puppy#bra) Puppy#c3 81 +bra_fild01,234,101,3 duplicate(Puppy#bra) Puppy#d1 81 +bra_fild01,200,84,3 duplicate(Puppy#bra) Puppy#d2 81 +bra_fild01,176,63,5 duplicate(Puppy#bra) Puppy#d3 81 + +// Suspicious Beach, original file: Suspicious_Beach.sc +//============================================================ +brasilis,192,133,6 script Lucia#brasilis 478,{ + /* -------------- Hydra Ball ------------------------- + if (countitem(12408) > 0) { + delitem 12408,1; //Leaf_Cat_Ball + getitem 12408,1; //Leaf_Cat_Ball + } + else if (countitem(6221) > 0) { + delitem 6221,1; //Mystic_Leaf_Cat_Ball + getitem 6221,1; //Mystic_Leaf_Cat_Ball + } + --------------------------------------------------- */ + if (BaseLevel < 40) { + mes "[Lucia]"; + mes "Hello."; + mes "I'm worried about ^FF0000Strange Hydra^000000's on"; + mes "the south beach."; + mes "I hope some experienced adventurers"; + mes "will come to help."; + emotion e_sigh; + close; + } + else { + set .@nQState1,checkquest(9028); + set .@nQState2,checkquest(9029); + if (.@nQState1 == 0) { + mes "[Lucia]"; + mes "Hello."; + mes "Have you come here to hunt ^FF0000Strange Hydra^000000s?"; + next; + switch(select("Yes.:No.:^006400What is happening here?^000000")) { + case 1: + setquest 9028; + getitem 12408,1; //Hydra_Ball + mes "[Lucia]"; + mes "Here, take this ^006400Hydra Ball^000000."; + mes "Use it to capture a ^FF0000Strange Hydra^8B4513.^000000"; + mes "I hope you can do it~!"; + close; + case 2: + mes "[Lucia]"; + mes "Ah, I misunderstood."; + mes "See you then."; + close; + case 3: + mes "[Lucia]"; + mes "One day ^FF0000Strange Hydra^000000s"; + mes "came here and surrounded the town."; + mes "We're not sure what attracted them but some say that it's because of you adventurers."; + next; + mes "[Lucia]"; + mes "In any case, to contain the ^FF0000Strange Hydra^000000s,"; + mes "you have to use this specially designed tool a.k.a. a ^8B4513Hydra Ball^000000"; + next; + mes "[Lucia]"; + mes "If you still have the ^006400Hydra Ball^000000,"; + mes "please use it on the ^FF0000Strange Hydra^000000s that"; + mes "you can find at the beach."; + mes "If you are lucky, the tool will work perfectly."; + next; + mes "[Lucia]"; + mes "I hope many adventurers"; + mes "volunteer for this job."; + mes " "; + mes "I really hate Hydra!"; + emotion e_sob; + close; + } + } + else if ((.@nQState1 == 0) || (.@nQState1 == 1)) { + if (countitem(6221) > 0) { + mes "[Lucia]"; + mes "Hello, you really did it!"; + if (checkweight(11502,3)) { + //mes "I don't have enough ^006400Hydra Ball^000000s to give you."; //Poorly translated by iRO? + mes "I hope you will come"; + mes "again to help me."; + mes "Have a nice day~!"; + delitem 6221,1; //Mystic_Leaf_Cat_Ball + completequest 9028; + //recall_completequest 9029; + if (.@nQState2 > -1) erasequest 9029; + setquest 9029; + percentheal 100,100; + sc_start SC_LUKFOOD, 1200000, 5; percentheal 5,2; + sc_start SC_VITFOOD, 1200000, 5; percentheal 10,0; + sc_start SC_DEXFOOD, 1200000, 5; percentheal 5,5; + getitem 11502,3; //Light_Blue_Pot + close; + } + else { + mes " "; + mes "I'd like to reward you,"; + mes "however your bags are full."; + mes "Please make room and come back!"; + close; + } + } + else { + mes "[Lucia]"; + if (countitem(12408) < 1) { + mes "Did you need another ^006400Hydra Ball^000000?"; + mes "I will give you one more."; + getitem 12408,1; //Leaf_Cat_Ball + close; + } + else { + mes "Any problems?"; + next; + switch(select("No.:^006400Tell me again what happened^000000")) { + case 1: + mes "[Lucia]"; + mes "Ok, please do me a favor."; + close; + case 2: + mes "[Lucia]"; + mes "One day ^FF0000Strange Hydra^000000s"; + mes "came here and surrounded the town."; + mes "We're not sure what attracted them but some say that it's because of you adventurers."; + next; + mes "[Lucia]"; + mes "In any case, to contain the ^FF0000Strange Hydra^000000s,"; + mes "you have to use this specially designed tool a.k.a. a ^8B4513Hydra Ball^000000"; + next; + mes "[Lucia]"; + mes "If you still have the ^006400Hydra Ball^000000,"; + mes "please use it on the ^FF0000Strange Hydra^000000s that"; + mes "you can find at the beach."; + mes "If you are lucky, the tool will work perfectly."; + next; + mes "[Lucia]"; + mes "I hope many adventurers"; + mes "volunteer for this job."; + mes " "; + mes "I really hate Hydra!"; + emotion e_sob; + close; + } + } + } + } + else { + mes "[Lucia]"; + mes "Oh, ^0000FF"+strcharinfo(0)+"^000000 you're back."; + set .@nCheckTime,checkquest(9029,PLAYTIME); + if ((.@nCheckTime == 0) || (.@nCheckTime == 1)) { + mes "I'm so grateful for your help."; + mes "Each ^006400Hydra Ball^000000 is provided ^006400every 24 hours^000000"; + mes "Please come at the appropriate time."; + close; + } + else { + //recall_completequest 9028; + if (.@nQState1 > -1) erasequest 9028; + completequest 9029; + mes "Did you come here to hunt ^FF0000Strange Hydra^000000s?"; + next; + switch(select("Yes.:No.:^006400What is happening here?^000000")) { + case 1: + setquest 9028; + getitem 12408,1; //Leaf_Cat_Ball + mes "[Lucia]"; + mes "Here, take this ^006400Hydra Ball^000000."; + mes "Use it to capture a ^FF0000Strange Hydra^8B4513.^000000"; + mes "I hope you can do it~!"; + close; + case 2: + mes "[Lucia]"; + mes "Ah, I misunderstood."; + mes "See you then."; + close; + case 3: + mes "[Lucia]"; + mes "One day ^FF0000Strange Hydra^000000s"; + mes "came here and surrounded the town."; + mes "We're not sure what attracted them but some say that it's because of you adventurers."; + next; + mes "[Lucia]"; + mes "In any case, to contain the ^FF0000Strange Hydra^000000s,"; + mes "you have to use this specially designed tool a.k.a. a ^8B4513Hydra Ball^000000"; + next; + mes "[Lucia]"; + mes "If you still have the ^006400Hydra Ball^000000,"; + mes "please use it on the ^FF0000Strange Hydra^000000s that"; + mes "you can find at the beach."; + mes "If you are lucky, the tool will work perfectly."; + next; + mes "[Lucia]"; + mes "I hope many adventurers"; + mes "volunteer for this job."; + mes " "; + mes "I really hate Hydra!"; + emotion e_sob; + close; + } + } + } + } + end; + +OnInit: + initnpctimer; + end; + +OnTimer7000: + emotion e_gasp; + stopnpctimer; + initnpctimer; + end; +} + +// Guarana Quest, Original file: brazil_tre.sc +//============================================================ +brasilis,187,162,5 script Candy Maker 476,{ + if (!checkweight(1201,1)) { + mes "- You can't start the quest. Please reduce the weight in your inventory. -"; + close; + } + if (brazil_gua == 0) { + mes "[Candy Maker]"; + mes "Yo, do you know a berry called ^FF0000Guarana^000000?"; + next; + mes "[Candy Maker]"; + mes "Guarana is a really special berry raised in a specific area, it relieves physical fatigue, and gives power to the body. It even detoxes waste from the body."; + next; + mes "[Candy Maker]"; + mes "I used to sell the candy made of it back in the day."; + mes "I got a prize sometimes every year in the <annual best product contest>. Those were the good 'ol days."; + next; + mes "[Candy Maker]"; + mes "Since then, the output of that fruit has reduced and the price has gone up so now candy ingredients were changed to coconuts or other tropical fruits instead. I miss the guarana candy."; + next; + switch(select("How can I taste this guarana candy?:End conversation.")) { + case 1: + mes "[Candy Maker]"; + mes "Hmm? I already sold out of all my old supply."; + next; + mes "[Candy Maker]"; + mes "But if you can find some guarana, I can make it for you."; + next; + switch(select("How do I find guarana?:End conversation.")) { + case 1: + mes "[Candy Maker]"; + mes "Will you find the guarana?? Hoooooh~"; + next; + mes "[Candy Maker]"; + mes "Can you find it?"; + mes "It's probably very expensive."; + mes "Trading isn't my thing. Let me think."; + next; + mes "[Candy Maker]"; + mes "Let me introduce you to someone with whom I used to do guarana business with."; + mes "He might still be dealing it."; + next; + mes "[Candy Maker]"; + mes "His name is Cherto."; + mes "If you can't find him in the city, go to museum."; + mes "He's a vain person so he likes to act big."; + mes "He's probably wandering in the museum trying to show off to someone for sure."; + set brazil_gua,1; + setquest 2192; + close; + case 2: + mes "[Candy Maker]"; + mes "Don't you want to try the guarana candy?"; + close; + } + case 2: + mes "[Candy Maker]"; + mes "Those were the good 'ole days..."; + close; + } + } + else if (brazil_gua == 1) { + mes "[Candy Maker]"; + mes "If you want to get the guarana, find Cherto."; + mes "Maybe he will be in the museum."; + close; + } + else if (brazil_gua == 10) { + if (!countitem(6237)) { + mes "- The guarana that I had has disappeared. -"; + close; + } + delitem 6237,1; //Guarana_Fruit + mes "[Candy Maker]"; + mes "Did you get the guarana?"; + next; + mes "- You give the guarana to him. -"; + next; + mes "[Candy Maker]"; + mes "Wow! You have special talent."; + mes "It's the best thing I have ever seen so far. Cool~!"; + next; + mes "[Candy Maker]"; + mes "Good, let's make the candy~!"; + mes "Long time no see my wonderful guarana candy..."; + next; + mes "- hash hash hash hash hash hash -"; + mes "- hash hash hash hash hash hash -"; + next; + mes "[Candy Maker]"; + mes "Look! It's the popular guarana candy."; + mes "Try to savor its amazing taste hey~ take it easy. hahaha!!"; + set brazil_gua,11; + completequest 2200; + getitem 12414,1; //Guarana_Candy + getexp 700000,100000; + close; + } + else if (brazil_gua == 11) { + mes "[Candy Maker]"; + mes "Guarana candy. That was the most unique masterpiece in my life for sure!"; + next; + mes "[Candy Maker]"; + mes "Since you helped me, guarana supply has been steadily rising."; + mes "So, naturally I'm back to making guarana candy."; + next; + mes "[Candy Maker]"; + mes "What about it? Wanna buy some?"; + mes "It's 4000 zeny each."; + next; + switch(select("Buy a Guarana Candy.:Cancel.")) { + case 1: + if (Zeny > 3999) { + mes "[Candy Maker]"; + mes "Here is a delicious guarana candy."; + set zeny,zeny-4000; + getitem 12414,1; //Guarana_Candy + close; + } + else { + mes "[Candy Maker]"; + mes "What? You should say before if you don't have money!"; + mes "Even if you are poor, I can't give this away for free."; + close; + } + case 2: + mes "[Candy Maker]"; + mes "Sometimes some people don't like it due to it's arousal effect."; + close; + } + close; + } + else { + mes "[Candy Maker]"; + mes "Guarana candy. That was the most unique masterpiece in my life for sure!"; + close; + } +} + +bra_in01,95,179,3 script Cherto 477,{ + if (brazil_gua == 0) { + mes "[Cherto]"; + mes "Hmm... hey man, you are from outside, aren't you?"; + next; + mes "[Cherto]"; + mes "Cherto can figure it out even if it's the first time. You can't trick Cherto."; + mes "Cherto has sharp eyes like an eagle! Hahaha!"; + next; + mes "[Cherto]"; + mes "Ok, ok. Yes, yes. I see!"; + next; + mes "[Cherto]"; + mes "Anyway, you arrived in Brasilis but don't know what to do?"; + mes "Am I right?"; + mes "You don't know how fortunate you are to have found a really proper helper as myself."; + next; + mes "[Cherto]"; + mes "Cherto takes it by your expression that you want to say, ''You are a master!'' Right?"; + mes "Cherto, I can read and figure out all at once! That is written in your face!"; + next; + mes "[Cherto]"; + mes "Cherto would love to stay here and explain everything to you but he is a busy man."; + close; + } + else if (brazil_gua == 1) { + mes "[Cherto]"; + mes "Hmm... hey man, you are from outside, aren't you?"; + next; + mes "[Cherto]"; + mes "Cherto can figure it out even if it's the first time. You can't trick Cherto."; + mes "Cherto has sharp eyes like an eagle! Hahaha!"; + next; + mes "[Cherto]"; + mes "Ok, ok. Yes, yes. I see!"; + next; + mes "[Cherto]"; + mes "Anyway, you arrived in Brasilis but don't know what to do?"; + mes "Am I right?"; + mes "You don't know how fortunate you are to have found a really proper helper as myself."; + next; + mes "[Cherto]"; + mes "Cherto takes it by your expression that you want to say, ''You are a master!'' Right?"; + mes "Cherto, I can read and figure out all at once! That is written in your face!"; + next; + mes "[Cherto]"; + mes "If you have a curious thing to ask to Cherto. Cherto will be kind enough to answer."; + next; + select("Guarana?"); + mes "[Cherto]"; + mes "What? Do you want to find a guarana?"; + next; + mes "[Cherto]"; + mes "Guarana is only raised in this area, it has a soft inside and is coverd with a light fur."; + mes "It seems a little bit weird but the flower is really big and smells beautiful."; + next; + mes "[Cherto]"; + mes "A long time ago, guarana was used to relieve desease and thirst. But recently it's getting popular to revitalize body power and increase blood circulation."; + next; + mes "[Cherto]"; + mes "Although it has such great effects, Cherto is sorry to inform you that we can't get it anymore."; + next; + select("Whaaaat??"); + mes "[Cherto]"; + mes "For a while now, guarana berries haven't been growing here."; + next; + mes "[Cherto]"; + mes "Even if Cherto managed to find one, it will rot quickly."; + next; + mes "[Cherto]"; + mes "If only it didn't happen!"; + next; + select("What are you talking about?"); + mes "[Cherto]"; + mes "Quiet!!!!!!!!!!!!!!!!"; + mes "This story has been forbidden! Someone might be listening to our conversation..."; + next; + mes "[Cherto]"; + mes "If Cherto tells you, you might get us into trouble. But you look like you really wanna know so let me give you a tip."; + mes "Come closer. Cherto will whisper so nobody can listen in."; + set brazil_gua,2; + close; + } + else if (brazil_gua == 2) { + mes "[Cherto]"; + mes "A Guarana boy was born."; + next; + select("Guarana kid?"); + mes "[Cherto]"; + mes "There was woman who was an expert botanist."; + mes "The woman was really popular to all living creatures."; + next; + mes "[Cherto]"; + mes "At around the time her baby was born, she started a guarana farm. For some reason, her brothers were jealous so they destroyed the farm and disappeared."; + mes "That kind of story..."; + next; + mes "[Cherto]"; + mes "We can't be sure that baby was born in the world but since that time, all guarana in Brasilis disappeared."; + next; + mes "[Cherto]"; + mes "Who is the guarana kid?"; + mes "Pedro who is famous as a greedy man?"; + mes "Meto who can't endure about all the fruits?"; + mes "Hovenue who is gloomy?"; + mes "They might know~!"; + next; + mes "[Cherto]"; + mes "What about you?"; + mes "Who is the guarana kid?"; + mes "Will you figure out it? hohohhhhh~"; + set brazil_gua,3; + changequest 2192,2193; + close; + } + else if (brazil_gua == 3) { + mes "[Cherto]"; + mes "Can you find the guarana kid?"; + mes "Maybe yes? Maybe no?"; + close; + } + else if (brazil_gua == 4) { + mes "[Cherto]"; + mes "Did you find guarana kid?"; + next; + mes "- I tell Cherto about the kid making animal-like sounds. -"; + next; + mes "[Cherto]"; + mes "Hoooh. That's unbelivable."; + mes "That kid might be a guarana kid. Sure..."; + mes "According to the story the kid can have conversations with animals."; + next; + mes "[Cherto]"; + mes "If he can make crying sounds of animals, they might be able to converse!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Now, what can I do?"; + mes "If he is the kid from the legend, is there any way to raise the guarana again?"; + next; + mes "[Cherto]"; + mes "Haha!! What'd Cherto say?"; + mes "Cherto knows all~!!"; + mes "Cherto's already thought"; + mes "of the next step."; + next; + mes "[Cherto]"; + mes "In Brasilis there is an expert Mage."; + mes "His name is Paje."; + mes "Take this note over to him."; + mes "He will show the solution for you and the kid."; + set brazil_gua,5; + changequest 2194,2195; + close; + } + else { + mes "[Cherto]"; + mes "hoho tickle~tickle~~~~!!!"; + close; + } +} + +brasilis,203,64,3 script Strange Kid#bra 706,{ + if (brazil_gua < 3) { + mes "[Strange Kid]"; + mes "................"; + close; + } + else if (brazil_gua == 3) { + mes "[Strange Kid]"; + mes "................"; + next; + if(select("Try to talk.:Pretend to pass by.") == 2) { + mes "[Strange Kid]"; + mes "................"; + close; + } + mes "What can I say to him?"; + next; + while(1) { + switch(select("What's your name?:How old are you?:What are you doing?:End conversation.")) { + case 1: + mes "[Strange Kid]"; + mes "Kaaaaaaao~"; + mes "Grrrrrrrrr - kaaan-"; + next; + break; + case 2: + mes "[Strange Kid]"; + mes "Booooowoooooo-"; + mes "Booooowoooooo- -"; + next; + break; + case 3: + mes "[Strange Kid]"; + mes "chamber pot braeee chamber pot brae chamber pot brae -"; + mes "Bbeeeebbeee -"; + next; + break; + case 4: + mes "[Strange Kid]"; + mes "Kaaaaaaao~"; + mes "Grrrrrrrrr - kaaan-"; + next; + mes "["+strcharinfo(0)+"]"; + mes "He makes strange sound like an animals."; + mes "Should I ask advice from Cherto?"; + set brazil_gua,4; + changequest 2193,2194; + close; + } + } + } + else if (brazil_gua == 4) { + mes "["+strcharinfo(0)+"]"; + mes "He makes strange sounds like an animal."; + mes "Should I ask advice from Cherto?"; + close; + } + else if ((brazil_gua > 4) && (brazil_gua < 9)) { + mes "[Strange Kid]"; + mes "Ah...? ah.....?"; + close; + } + else if (brazil_gua == 9) { + mes "[Strange Kid]"; + mes "ah... ahah....."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I don't have a story but there are lots of friends waiting outside."; + next; + mes "- You give the feather, fresh meat and branch of grapes to the kid -"; + next; + mes "[Strange Kid]"; + mes "Ah............."; + next; + mes "[Strange Kid]"; + mes "Un, uhh...."; + mes "mooo... mommy....."; + next; + mes "[Strange Kid]"; + mes "Ah.........."; + mes "bird...."; + mes "mon, mon, mon...key......"; + mes "boo, booow..........."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Dog?!"; + mes "kkk yes. Lots of friends want to meet you."; + mes "Don't be lonely anymore and be happy with your friends."; + next; + mes "[Strange Kid]"; + mes "ah....he...hehe...."; + next; + mes "- He starts to smile lightly and laughs. -"; + next; + mes "[Strange Kid]"; + mes "Ye......yes......."; + mes "tha... than......thank......yo.........you."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Alright such a cute smile!"; + mes "Be a happy kid as always."; + next; + mes "[Strange Kid]"; + mes "Uh......"; + next; + mes "["+strcharinfo(0)+"]"; + mes "what?"; + next; + mes "[Strange Kid]"; + mes "hey.........."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Do you want to say anything?"; + next; + mes "- You get closer and pretend to take caution. -"; + next; + emotion e_kis; + mes "(kiss~)"; + next; + mes "- The kid laughs again lightly then puts something in your hand. -"; + next; + mes "- It's a fresh berry that's colored red and hard. -"; + next; + mes "[Strange Kid]"; + mes "ga...ra..........na..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Oops, guarana berry?"; + mes "Ah! Thank you very much!"; + emotion e_kis2,1; + emotion e_heh; + next; + mes "["+strcharinfo(0)+"]"; + mes "If I have this, I can make a guarana candy."; + mes "I better find that Candy Maker!"; + set brazil_gua,10; + changequest 2199,2200; + getitem 6237,1; //Guarana_Fruit + close; + } + else if (brazil_gua == 10) { + if (!countitem(6237)) { + mes "[Strange Kid]"; + mes "He........."; + getitem 6237,1; //Guarana_Fruit + close; + } + } + else { + mes "- The kid is smiling. -"; + close; + } + end; +} + +brasilis,56,224,7 script Mage Paje#bra 704,{ + mes "[Mage Paje]"; + mes "Abracadabra~"; + specialeffect EF_POISONHIT,AREA,"Poring#bra"; + setarray .@display[0],800,876,909; + setnpcdisplay "Poring#bra",.@display[rand(3)]; + if (brazil_gua != 5) close; + next; + mes "[Mage Paje]"; + mes "Ohoooh~!"; + mes "I have a guest."; + mes "Good to see you."; + mes "I am the Mage Paje."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hello. Mr. Cherto told me to find you."; + next; + mes "[Mage Paje]"; + mes "Um.. Mr. Cherto? What's happened?"; + mes "Have you come here to ask about lots of weird rumors?"; + next; + mes "- You give the note to Paje-"; + next; + mes "[Mage Paje]"; + mes "Ohoooh~"; + mes "Hmm gosh.. that's what happened."; + next; + mes "[Mage Paje]"; + mes "I can't help you directly."; + mes "But I will give you simple magic so you can figure it out by yourself."; + next; + select("What kind of magic?"); + mes "[Mage Paje]"; + mes "It's a magic that will make you appear as an animal to other animals. Pretty cool huh?"; + next; + mes "[Mage Paje]"; + mes "Ok~ I will give you the magic."; + mes "Most animals are really sensitive so they might be aware of it. Find a Toucan in the field that's oblivious to the spell. You'll know when you talk to it."; + next; + mes "[Mage Paje]"; + mes "Good luck~!"; + set brazil_gua,6; + changequest 2195,2196; + specialeffect2 EF_ASSUMPTIO; + close; +} + +brasilis,59,226,3 script Poring#bra 909,{ + end; +} + +bra_fild01,75,83,5 script Toucan#bra 2073,2,2,{ +OnTouch: + if (brazil_gua == 6) { + mes "[Toucan]"; + mes "Baaeecc!"; + mes "I've never seen you before."; + mes "Baaeec!"; + next; + mes "[Toucan]"; + mes "It's the middle of the new and old continent... I know I've never seen you before but you seem familiar, like a woman dancing a samba. "; + next; + select("What are you talking about?"); + mes "[Toucan]"; + mes "I can feel some similar power like guarana kid. bbaaaeeeccc!"; + next; + mes "[Toucan]"; + mes "That kid has had a really lonely time, baaecc! Perhaps you are a friend of him? Baaeec!!"; + next; + select("Not yet... but I want to be a friend."); + mes "[Toucan]"; + mes "The kid who received care from guarana woman is also a friend of animals. Bbaaeecc!"; + next; + mes "[Toucan]"; + mes "I'd like to give the symbol of a toucan representative for the kid. Bbaaeecc!"; + next; + mes "[Toucan]"; + mes "If you want to relieve his loneliness, can you help me?"; + next; + select("Absolutely!"); + mes "[Toucan]"; + mes "It's my feather."; + mes "Send it to the kid."; + mes "We will keep our promise of friendship between guarana kid and Toucan forever. Bbaaeecc!"; + next; + mes "- You take a feather from Toucan. - "; + next; + mes "[Toucan]"; + mes "There have to be others around here like me."; + mes "Why don't you find a jaguar Bbaaeecc!"; + next; + mes "[Toucan]"; + mes "I will give a blessing from Toucan to you."; + next; + mes "[Toucan]"; + mes "Fly fly far away. bbaaaeeeccckkk--!"; + set brazil_gua,7; + changequest 2196,2197; + specialeffect2 EF_SEISMICWEAPON; + close2; + warp "bra_fild01",68,146; + end; + } + else { + mes "[Toucan]"; + mes "Bbbaaeec~! Baaeec~!"; + close; + } + end; +} + +bra_fild01,34,184,5 script Jaguar#bra 2072,2,2,{ +OnTouch_: + if (brazil_gua == 7) { + mes "[Jaguar]"; + mes "Hhooww..hhooww....."; + next; + mes "[Jaguar]"; + mes "Smelling! This smell is from a human!"; + mes "Somewhere, a human!"; + mes "I got it. You are!!!"; + specialeffect EF_HIT1,AREA,"Jaguar#bra"; + emotion e_omg,1; + next; + mes "[Jaguar]"; + mes "Don't be afraid human."; + mes "I don't have enough power to hunt humans, just waiting time to end my lifetime in this jungle."; + next; + mes "[Jaguar]"; + mes "Anyway you can talk with me, are you a guarana kid?"; + next; + select("Yes? N...o......actually...."); + mes "[Jaguar]"; + mes "The son of guarana woman became our friend also."; + mes "They treated all life preciously."; + mes "I hope you are same the as her."; + next; + mes "[Jaguar]"; + mes "Bird's chirpings informed me."; + mes "The son of guarana woman has a diseased heart."; + mes "Her brothers made him lonely, don't you think?"; + next; + mes "[Jaguar]"; + mes "Here is fresh meat that I hunted just a few days ago."; + mes "Take it and give it to the poor kid."; + next; + mes "[Jaguar]"; + mes "I can give this tiny thing to you so, don't forget it."; + mes "The jungle will welcome you whenever!"; + next; + mes "- You get fresh meat from Jaguar. -"; + next; + mes "[Jaguar]"; + mes "Monkey, who's always meddling with others, wants to meet you."; + next; + mes "[Jaguar]"; + mes "I will give you a Jaguar's high blessing."; + mes "Go to monkey by flowing through the wind like a bee."; + mes "Let's meet again my friend!"; + set brazil_gua,8; + changequest 2197,2198; + close2; + sc_start SC_SpeedUp1,5000,0; + end; + } + else { + mes "[Jaguar]"; + mes "krrrrrr...."; + close; + } + end; +} + +bra_fild01,245,53,3 script #Monkeybra 1057,{ + end; +} + +bra_fild01,245,52,3 script Monkey#bra 111,{ + if (brazil_gua == 8) { + mes "[Monkey]"; + mes "What is it??!!"; + mes "We don't tolerate humans? Get out~!!"; + next; + mes "[Monkey]"; + mes "Nono... wait.... that scent!!"; + mes "I can smell Jaguar from you, who are you?"; + mes "Gosh, maybe there's no jaguar without fur and weird shape!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "........................"; + mes "Are you saying that I look like an animal?!?!"; + next; + mes "[Monkey]"; + mes "Uh? Aren't you a jaguar?"; + next; + mes "[Monkey]"; + mes "Ahhha. Jaguar send you to me, right?? kkkikkki"; + mes "But you don't look like guarana kid."; + next; + select("I've come here to help him."); + mes "[Monkey]"; + mes "I heard guarana kid became lonely, is he?"; + mes "We are experts in acrobatic acts, does kid like it?? kkkickkksk!"; + next; + mes "[Monkey]"; + mes "Give this branch of grapes to guarana kid."; + mes "We will make him have fun during the whole night whenever he comes to us!! kkkickkksk!"; + next; + mes "- You get a bunch of grapes from Monkey. -"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Good~ Now it's time to go back to the kid~!!"; + set brazil_gua,9; + changequest 2198,2199; + close; + } + else { + mes "[Monkey]"; + mes "kkkickkksk!"; + close; + } +} + +// Water Lily Quest, Original file: brazil_tre.sc +//============================================================ +brasilis,203,286,3 script Botanist Karmen#bra 893,{ + if (brazil_regia == 0) { + mes "[Karmen]"; + mes "Brasilis' climate is special."; + mes "This climate offers special cases in botany classes different from any other regions of the world."; + next; + mes "[Karmen]"; + mes "The plants here have robust frames and are clear and colorful."; + mes "Here the plants are really huge and we can feel their presence."; + next; + mes "[Karmen]"; + mes "One of them, a Water Lily, is a really gorgeous and unique plant."; + mes "This flower is quite sensitive so it doesn't bloom everywhere."; + next; + if(select("Interesting.:End conversation.") == 2) { + mes "[Karmen]"; + mes "I guess you aren't interested in botany."; + close; + } + mes "[Karmen]"; + mes "It doesn't appear easily and it is a mysterious flower even to the natives, so the Brasilis people believe that a person will get great luck if someone finds it."; + next; + mes "[Karmen]"; + mes "As a botanist, I have been hanging around here to find the lucky flower but as I expected, it hasn't shown itself yet."; + next; + mes "[Karmen]"; + mes "I believe that with enough perseverence, this flower will show me it's beautiful brilliance."; + next; + mes "[Karmen]"; + mes "Ah, if you are interested more in the Water Lily story, find someone named Marta."; + mes "She is wise and knows lots of stories here in Brasilis."; + set brazil_regia,1; + setquest 2201; + close; + } + else if (brazil_regia == 1) { + mes "[Karmen]"; + mes "Ah, if you are interested more in the Water Lily story, find someone named Marta."; + mes "She is wise and knows lots of stories here in Brasilis."; + close; + } + else if (brazil_regia == 9) { + mes "- You show a lotus flower to Karmen and talk about the story so far. -"; + next; + mes "[Karmen]"; + mes "Wow!! You had a really good experience."; + mes "So~~~ the water lily lives in the depths of brasilis, right?"; + mes "I wil try to find it again by myself, I won't give up!!"; + next; + mes "[Karmen]"; + mes "I am so grateful that I met you."; + mes "The water lily must truly be a lucky flower. hahaha"; + set brazil_regia,10; + completequest 2207; + getexp 500000,100000; + close; + } + else { + mes "[Karmen]"; + mes "This climate offers special cases in botany classes different from any other regions of the world."; + next; + mes "[Karmen]"; + mes "The plants here have robust frames and are clear and colorful."; + mes "Here the plants are really huge and we can feel their presence."; + next; + mes "[Karmen]"; + mes "It's a botanist's dream."; + close; + } +} + +bra_in01,142,27,5 script Marta#bra 474,{ + if (brazil_regia == 1) { + mes "[Brasilis Boy]"; + mes "Grandma! That person has a weird smell."; + next; + mes "[Marta]"; + mes "This person isn't from here."; + mes "Say hello to our guest."; + next; + mes "[Brasilis Boy]"; + mes "heee~ hi!!"; + mes "I am Kaka!!"; + mes "Whats your name?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I am "+strcharinfo(0)+"."; + next; + mes "[Brasilis Boy]"; + mes "The outsider has a weird name!"; + mes "Thas ok! If we keep talking we'll be friends! Cheer up!"; + next; + mes "[Marta]"; + mes "Hehe..."; + mes "So, why have you come here stranger~?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I heard you knows lots of stories, is that true?"; + next; + mes "[Kaka]"; + mes "Wooo! how you know my grandma knows lots of stories, amazing~?"; + mes "Grandma is really wise and kind so, I heard lotsa things."; + next; + mes "[Marta]"; + mes "Hehe. Kaka always listens to many stories every night, he really likes my stories."; + mes "Kaka always makes me happy because he asks so many curious things. That is pure happiness."; + next; + mes "[Marta]"; + mes "Ok, Kaka why don't you invite our guest today to our small meeting?"; + next; + mes "[Kaka]"; + mes "Ok grandma~!!"; + next; + mes "[Marta]"; + mes "Hey~ do you have special story that you want to listen to?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "About the mysterious water lily?"; + next; + mes "[Marta]"; + mes "Water lily...."; + mes "It's from a long long time ago."; + next; + mes "[Marta]"; + mes "Before Brasilis was established."; + mes "A tribe that lived with the giant waterfall and jungle as friends spent their whole time with nature."; + next; + mes "[Marta]"; + mes "One of tribe chiefs had a pretty daughter called 'Naia'."; + next; + mes "[Marta]"; + mes "Naia liked listening to stories like Kaka so, her mom told her stories every night about nature and gods."; + next; + mes "[Kaka]"; + mes "Woooa, she's just like me!"; + mes "Maybe she would be pretty... hehe."; + next; + mes "[Marta]"; + mes "According to her mother..."; + mes "If the moon in the sky loves some woman in the earth, he turns her into a star so that they can stay together forever."; + next; + mes "[Marta]"; + mes "After Naia heard this story, she went to her dad to ask if it was true or not."; + next; + mes "[Kaka]"; + mes "So, what did he say?"; + next; + mes "[Marta]"; + mes "^3131FF'My dear, Naia the moon is one of the bravest men. But he can no longer have a bride. So you can't become a star... Sorry~.^000000"; + next; + mes "[Kaka]"; + mes "Did Naia wants to be the bride of the man?"; + next; + mes "[Marta]"; + mes "Yes Kaka, imagine the moon how beautiful and mysterious, that's just ideal for girls."; + next; + mes "[Kaka]"; + mes "But the moon doesn't meet a human as his wife anymore? What was going on with Naia?"; + next; + mes "[Marta]"; + mes "Naia was really a nice girl."; + next; + mes "[Marta]"; + mes "Although her parents tried to prevent her, she still went to the forest to meet the moon every night."; + mes "Sadly, even with all of her effort, the moon didn't show any reaction to her."; + next; + mes "[Marta]"; + mes "One day she also went to the top of the mountain to be closer to him. She decided to take a rest for a while around the lake."; + next; + mes "[Marta]"; + mes "That's when.. Naia saw it."; + mes "It was the moon he was shining beautifully over the waving lake lightly."; + next; + mes "[Kaka]"; + mes "I know, it's just the moon reflecting on the water. Right?!"; + next; + mes "[Marta]"; + mes "Yes, but to her, the image made her fall into the lake without hesitating and drowned."; + next; + mes "[Kaka]"; + mes "Oh no."; + next; + mes "[Marta]"; + mes "The moon was also watching her from the sky."; + mes "He felt sad and pitied her. So he decided to turn her into a beautiful flower to thank her for her love."; + next; + mes "[Marta]"; + mes "That is the story of the mysterious flower people called the Brasilis Water Flower."; + mes "This Naia flower appears as light white during daytime but in the night turns into red due to it's love connection to the moon."; + next; + mes "[Kaka]"; + mes "How sad but beautiful!"; + next; + mes "[Marta]"; + mes "How about you stranger?"; + mes "Did you enjoy this story?"; + mes "If you want to listen to another story, just come to me."; + mes "If you don't mind playing with my grandson a ~ little. hoohoo."; + set brazil_regia,2; + close; + } + else if (brazil_regia > 1) { + mes "[Kaka]"; + mes "My grandma is really a bit tired doing some tribe stuff!"; + mes "Could you come another day?"; + close; + } + else { + mes "[Marta]"; + mes "You are not from around here."; + mes "I can sense a strange earth smell."; + next; + mes "[Marta]"; + mes "But your eyes shine with strength."; + mes "Indeed you are spreading out spirit and will from your whole body."; + next; + mes "[Marta]"; + mes "If you work at it you will be a great person someday."; + close; + } +} + +bra_in01,145,27,3 script Brasilis Boy#bra 472,{ + if (brazil_regia == 1) { + mes "[Brasilis Boy]"; + mes "Grandma! That person has a weird smell."; + next; + mes "[Marta]"; + mes "This person isn't from here."; + mes "Say hello to our guest."; + next; + mes "[Brasilis Boy]"; + mes "heee~ hi!!"; + mes "I am Kaka!!"; + mes "Whats your name?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I am "+strcharinfo(0)+"."; + next; + mes "[Brasilis Boy]"; + mes "The outsider has a weird name!"; + mes "Thas ok! If we keep talking we'll be friends! Cheer up!"; + next; + mes "[Marta]"; + mes "Hehe..."; + mes "So, why have you come here stranger~?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I heard you knows lots of stories, is that true?"; + next; + mes "[Kaka]"; + mes "Wooo! how you know my grandma knows lots of stories, amazing~?"; + mes "Grandma is really wise and kind so, I heard lotsa things."; + next; + mes "[Marta]"; + mes "Hehe. Kaka always listens to many stories every night, he really likes my stories."; + mes "Kaka always makes me happy because he asks so many curious things. That is pure happiness."; + next; + mes "[Marta]"; + mes "Ok, Kaka why don't you invite our guest today to our small meeting?"; + next; + mes "[Kaka]"; + mes "Ok grandma~!!"; + next; + mes "[Marta]"; + mes "Hey~ do you have special story that you want to listen to?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "About the mysterious water lily?"; + next; + mes "[Marta]"; + mes "Water lily...."; + mes "It's from a long long time ago."; + next; + mes "[Marta]"; + mes "Before Brasilis was established."; + mes "A tribe that lived with the giant waterfall and jungle as friends spent their whole time with nature."; + next; + mes "[Marta]"; + mes "One of tribe chiefs had a pretty daughter called 'Naia'."; + next; + mes "[Marta]"; + mes "Naia liked listening to stories like Kaka so, her mom told her stories every night about nature and gods."; + next; + mes "[Kaka]"; + mes "Woooa, she's just like me!"; + mes "Maybe she would be pretty... hehe."; + next; + mes "[Marta]"; + mes "According to her mother..."; + mes "If the moon in the sky loves some woman in the earth, he turns her into a star so that they can stay together forever."; + next; + mes "[Marta]"; + mes "After Naia heard this story, she went to her dad to ask if it was true or not."; + next; + mes "[Kaka]"; + mes "So, what did he say?"; + next; + mes "[Marta]"; + mes "^3131FF'My dear, Naia the moon is one of the bravest men. But he can no longer have a bride. So you can't become a star... Sorry~.^000000"; + next; + mes "[Kaka]"; + mes "Did Naia wants to be the bride of the man?"; + next; + mes "[Marta]"; + mes "Yes Kaka, imagine the moon how beautiful and mysterious, that's just ideal for girls."; + next; + mes "[Kaka]"; + mes "But the moon doesn't meet a human as his wife anymore? What was going on with Naia?"; + next; + mes "[Marta]"; + mes "Naia was really a nice girl."; + next; + mes "[Marta]"; + mes "Although her parents tried to prevent her, she still went to the forest to meet the moon every night."; + mes "Sadly, even with all of her effort, the moon didn't show any reaction to her."; + next; + mes "[Marta]"; + mes "One day she also went to the top of the mountain to be closer to him. She decided to take a rest for a while around the lake."; + next; + mes "[Marta]"; + mes "That's when.. Naia saw it."; + mes "It was the moon he was shining beautifully over the waving lake lightly."; + next; + mes "[Kaka]"; + mes "I know, it's just the moon reflecting on the water. Right?!"; + next; + mes "[Marta]"; + mes "Yes, but to her, the image made her fall into the lake without hesitating and drowned."; + next; + mes "[Kaka]"; + mes "Oh no."; + next; + mes "[Marta]"; + mes "The moon was also watching her from the sky."; + mes "He felt sad and pitied her. So he decided to turn her into a beautiful flower to thank her for her love."; + next; + mes "[Marta]"; + mes "That is the story of the mysterious flower people called the Brasilis Water Flower."; + mes "This Naia flower appears as light white during daytime but in the night turns into red due to it's love connection to the moon."; + next; + mes "[Kaka]"; + mes "How sad but beautiful!"; + next; + mes "[Marta]"; + mes "How about you stranger?"; + mes "Did you enjoy this story?"; + mes "If you want to listen to another story, just come to me."; + mes "If you don't mind playing with my grandson a ~ little. hoohoo."; + set brazil_regia,2; + close; + } + else if (brazil_regia > 1) { + mes "[Kaka]"; + mes "My grandma is really a bit tired doing some tribe stuff!"; + mes "Could you come another day?"; + close; + } + else { + mes "[Marta]"; + mes "You are not from around here."; + mes "I can sense a strange earth smell."; + next; + mes "[Marta]"; + mes "But your eyes shine with strength."; + mes "Indeed you are spreading out spirit and will from your whole body."; + next; + mes "[Marta]"; + mes "If you work at it you will be a great person someday."; + close; + } +} + +brasilis,270,145,5 script Brasilis Girl#bra 473,5,5,{ + if (!checkweight(1201,1)) { + mes "- wait a second!! -"; + mes "- you have too many items -"; + mes "- so you can't get any more items. -"; + mes "- make your body lighter -"; + mes "- then try again. -"; + close; + } + if (brazil_regia == 2) { + mes "[Distant Sound]"; + mes "Jasira!!!"; + mes "Where are you going again?!!"; + mes "come back~, please!!"; + next; + mes "[Brasilis Girl]"; + mes "Mom, I have to go out!!"; + next; + mes "[Distant Sound]"; + mes "No way~!! You shouldn't!!"; + next; + mes "[Brasilis Girl]"; + mes "Gosh.. today also failed."; + next; + mes "[Brasilis Girl]"; + mes "......"; + mes "What's up? Why are you looking at me?"; + mes "I don't want to be a showgirl!! Get out!!"; + next; + if(select("Nothing, sorry.:What's wrong?") == 1) { + mes "[Brasilis Girl]"; + mes "I am so sad!!!"; + close; + } + mes "[Brasilis Girl]"; + mes "It's not your business."; + mes "You are just an outsider!"; + next; + if(select("How rude!:Just trying to help.") == 1) { + mes "[Brasilis Girl]"; + mes "What's it matter to you that I'm rude??!!"; + close; + } + mes "["+strcharinfo(0)+"]"; + mes "I know that I'm just passing by but I might be able to help you. What do you think?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "This kind of meeting could be more than just a coincidence."; + next; + mes "[Brasilis Girl]"; + mes "......................"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hmm can you tell me your name?"; + next; + mes "[Brasilis Girl]"; + mes "ja..."; + mes "Jasira."; + mes "My name is Jasira."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Nice name~."; + mes "Jasira what's going on?"; + next; + mes "[Jasira]"; + mes "............."; + next; + mes "[Jasira]"; + mes "I have to meet 'Jasi' but I can't go out...."; + next; + mes "["+strcharinfo(0)+"]"; + mes "who is Jasi?"; + mes "Your.... lover?"; + next; + emotion e_omg; + mes "[Jasira]"; + mes "l...o...v...e...lover??!!"; + mes "No way~"; + next; + mes "[Jasira]"; + mes "If he is my lover, it would be great... but..."; + next; + mes "[Jasira]"; + mes "Jasi is......"; + mes "the great moon."; + next; + mes "["+strcharinfo(0)+"]"; + mes "The moon?"; + mes "Maybe... are you talking about the moon from the story?"; + next; + mes "[Jasira]"; + mes "Yeah!"; + mes "Dear Jasi is from the moon from the sky!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Why are you thinking like that?"; + next; + mes "[Jasira]"; + mes "Cuz' Jasi is really gorgeous and the most important thing is he is taking care of the water lily in Brasilis."; + next; + emotion e_omg,1; + mes "["+strcharinfo(0)+"]"; + mes "Brasilis water lily??!!"; + mes "Isn't it the uniqe flower?"; + next; + mes "[Jasira]"; + mes "Right. It's a really mysterious flower and difficult to find."; + mes "But around Jasi there are lots of water lilies."; + mes "That's why I believe Jasi is the moon."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Where is Jasi?"; + next; + mes "[Jasira]"; + mes "He is deep inside the Jungle."; + mes "As you can see I am so weak so, I've been staying home. But once, I was strong enough to leave this village."; + next; + mes "[Jasira]"; + mes "I just wandered the jungle and fell down somewhere and that's where I saw him."; + mes "He was so nice. He helped heal me and guided me back home."; + mes "That was really really great time."; + next; + mes "[Jasira]"; + mes "Since I came back home, my parents punished me."; + mes "I can understand why they are worrying but i missed Jasi a lot!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Why don't you meet him after recovering your strength?"; + next; + mes "[Jasira]"; + mes "................."; + mes "I wanna see him right now..."; + next; + if(select("Help Jasira.:Ignore her.") == 2) { + mes "["+strcharinfo(0)+"]"; + mes "Sorry I can't help you. Cheer up!"; + next; + mes "[Jasira]"; + mes "Crying........"; + close; + } + mes "["+strcharinfo(0)+"]"; + mes "Jasira I came here to find the Brasilis water lily."; + mes "Don't you think fate has brought us together?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "If you tell me how to find Jasi, I can help you."; + next; + mes "[Jasira]"; + mes "Really? But I don't know exactly how to get there. I was just wandering around when I met him."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Can't you remember anything?"; + mes "If you know something you've gotta tell me."; + next; + mes "[Jasira]"; + mes "Let's see... I was wandering around a waterfall then fell down into the water then I was sucked into somewhere."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Good, that's better than nothing! I will look for a similar place."; + next; + mes "[Jasira]"; + mes "I gave you your information, so can you do me a favor?"; + mes "It's really simple..."; + next; + mes "[Jasira]"; + mes "I'd like to give a delicious fruit."; + mes "The place where Jas seemed cozy but I didn't see any food around... So if he sees a yummy fruit he will be happy!"; + next; + mes "[Jasira]"; + mes "Give him 10 Banana and tell him that I really miss him."; + mes "Sorry for ignoring you before. Please, only you can help me!"; + set brazil_regia,3; + changequest 2201,2202; + close; + } + else if ((brazil_regia == 3) || (brazil_regia == 4)) { + mes "[Jasira]"; + mes "If you meet Jasi, give him 10 Bananas."; + mes "Let's see... I was wandering around a waterfall then fell down into the water then I was sucked into somewhere."; + next; + mes "[Jasira]"; + mes "If you can't find the way, go up to the waterfall and ask the kids in Brasilis village."; + mes "I heard one of the children went to a strange place before. He might've gone to the same place as me!"; + close; + } + else if (brazil_regia == 5) { + mes "[Jasira]"; + mes "Did you meet Jasi?"; + mes "Did you talk about me?"; + mes "You didn't? Uh? Stupid! Gosh~!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey girl~ you've got a short temper."; + mes "I did see him and I talked about you!"; + next; + mes "[Jasira]"; + mes "Did you?"; + mes "What did he say?"; + mes "Does he remember me?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "That you have a really good heart~"; + mes "I told him that you will try to meet him when your condition gets better."; + next; + mes "[Jasira]"; + mes "Yeahhhhh!!"; + mes "Thank you! You are more reliable than I thought you would be."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Anyway, I'm looking for a fruit that's brown and has a hard shell."; + mes "It has juice inside and can be used as a cup to drink out of."; + next; + mes "[Jasira]"; + mes "Duh! You mean a coconut right?!"; + mes "They're everywhere here in Brasilis."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Thanks Jasira!"; + set brazil_regia,6; + changequest 2204,2205; + close; + } + else if ((brazil_regia == 6) || (brazil_regia == 7)) { + mes "[Jasira]"; + mes "I should take care of my strength by myself!"; + mes "I can't just lie in my bed forever. Don't you agree?"; + close; + } + else if (brazil_regia == 8) { + mes "[Jasira]"; + mes "Uh? Why have you come back?"; + next; + mes "- You tell her what Jasi told you to tell her -"; + next; + mes "[Jasira]"; + mes "Oh... really?"; + mes "Did he say that?"; + mes "Gosh! Gosh!!!"; + mes "Kkkkkaaaaa - !!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Thanks to you, I was able to get a flower."; + mes "Thanks a lot!!"; + next; + mes "[Jasira]"; + mes "Wooow. It's so beautiful."; + next; + mes "[Jasira]"; + mes "Ah... can I see it for a second?"; + next; + mes "[Jasira]"; + mes "Surprise~!!"; + mes "I've been working on this hat while you were gone and now it's complete with the water lily flower!"; + next; + mes "[Jasira]"; + mes "I know, I know! I'm the best..."; + delitem 7553,1; //Lotus_Flower + set brazil_regia,9; + changequest 2206,2207; + setarray .@card[0],4195,4177,4188; //Leaf_Cat_Card, Dryad_Card, Leib_Olmai_Card + getitem2 5302,1,1,0,0,.@card[rand(3)],0,0,0; //Lotus_Flower_Hat + close; + } + else if (brazil_regia > 8) { + mes "[Jasira]"; + mes "I just need to get a little bit stronger!"; + mes "I can't just lie in bed forever. My Jasi is waiting for me~"; + close; + } + else { + mes "[Distant Sound]"; + mes "Jasira!!!"; + mes "Where are you going again?!!"; + mes "Come back~, please!!"; + next; + mes "[Brasilis Girl]"; + mes "Please mom~!"; + mes "Please let me go!"; + close; + } + end; + +OnTouch: + if (brazil_regia == 2) + emotion e_an; + end; +} + +bra_dun02,67,205,5 script Recluse#bra 475,3,3,{ + if (brazil_regia == 3) { + mes "[Recluse]"; + mes "Oh, I haven't seen another person in such a long time."; + next; + if(select("Keep going.:Are you the moon?") == 1) { + mes "[Recluse]"; + mes "You don't have specific business with me."; + close; + } + mes "[Recluse]"; + mes "Moon?"; + mes "My name is Jasi."; + mes "My family has worked to take care of the water lily from generation to generation."; + next; + mes "[Jasi]"; + mes "Basically the Brasilis water lily is too shy to appear in front of people so, they only bloom in rare places. I guess they like it here, though, that's why I've been staying here for such a long time."; + next; + mes "[Jasi]"; + mes "My family has taken care of the water lily calmly to prevent harm from people's hand or monsters."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Do you remember a girl named Jasi."; + next; + mes "[Jasi]"; + mes "Ja...si.........."; + mes "Ah!! a hurry scurry girl. "; + mes "Gosh.. I was in trouble due to that girl."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Trouble?"; + next; + mes "[Jasi]"; + mes "One day a young lady appeared with lots of scars so I helped her. Then suddenly she tried to pick up the water lily and asked me to accept her as my wife or make her into a water lily what a nutcase!"; + next; + mes "[Jasi]"; + mes "I was barely able to calm down and send her to the village."; + mes "My life is that water lily so I didn't want anything embarrassing to happen."; + next; + mes "["+strcharinfo(0)+"]"; + mes "This is a gift from Jasira to say sorry for that time."; + mes "She is really sad that can't come here by herself due to private difficulties."; + next; + if (countitem(513) < 10) { + mes "[Jasi]"; + mes "What are you saying?"; + next; + mes "- Oh yeah, I forgot to bring 10 Bananas -"; + close; + } + mes "[Jasi]"; + mes "Ah! Bananas! Wow it's been a long time. She's pretty considerate isn't she?"; + next; + mes "[Jasi]"; + mes "Anyway is that all the business you have with me?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Umm honestly I was wondering to find water lily and met you by coincidence. Jasira told me her sad story so that's what led me here."; + next; + mes "[Jasi]"; + mes "I got it."; + mes "As you can see, there are lots of Brasilis water lily around here."; + mes "If you make sure that you won't destroy them you can appreciate them as you wish."; + set brazil_regia,4; + changequest 2202,2203; + close; + } + else if (brazil_regia == 4) { + mes "[Jasi]"; + mes "Did you enjoy the water lily?"; + close; + } + else if (brazil_regia == 5) { + mes "[Jasi]"; + mes "I forgot what the name of that fruit was..."; + close; + } + else if (brazil_regia == 6) { + if (countitem(11515) < 5) { + mes "[Jasi]"; + mes "I forgot what the name of that fruit was..."; + close; + } + else { + mes "[Jasi]"; + mes "Did you find the fruit?"; + mes "Oh right this is....?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "It's called a 'coconut'."; + next; + mes "[Jasi]"; + mes "Ahah! COCONUT!!"; + mes "Now I remember thank you very much. I can't remember the last time I had this fruit."; + next; + mes "[Jasi]"; + mes "I guess I should keep my promise."; + mes "You can take one Water lily."; + next; + mes "[Jasi]"; + mes "I hope the Brasilis water lily will understand me."; + mes "You better grab the flower while you have a chance~"; + next; + mes "[Jasi]"; + mes "Oh, can you tell that girl Jasira something for me?"; + mes "Tell her that I am not the moon from the story, but I want to become the moon to shine only for her."; + delitem 11515,5; //Coconut + set brazil_regia,7; + changequest 2205,2206; + close; + } + } + else { + mes "[Jasi]"; + mes "The flowers blooming from the Water lily today is wonderful."; + close; + } + end; + +OnTouchNPC: + unitwarp 0,"this",67,215; + end; +} + +bra_dun02,71,200,3 script Water lily#bra 111,{ + if (brazil_regia == 4) { + mes "An unusual Water lily is blooming here. You can't stop staring at it, knowing that few people have seen this flower bloom."; + next; + if(select("Pick up the flower.:Keep gazing.") == 2) { + mes "- You can't avoid staring at it's beauty. -"; + close; + } + mes "[Jasi]"; + mes "Uh! What are you doing??!!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "There is a person who really needs this flower, can I just take one of 'em?"; + next; + mes "[Jasi]"; + mes "As I said earlier, I am the guardian of this water lily."; + mes "I can't just stand by here and watch you pluck even a single flower from it."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey man~ I brought these delicious fruits for you... try it! They are really well matured and fresh bananas."; + next; + if (countitem(513) < 10) { + mes "[Jasi]"; + mes "What are you saying?"; + next; + mes "- Oh yeah, I forgot to bring 10 Bananas -"; + close; + } + mes "[Jasi]"; + mes "Hmm... It's been so long since I've had this fruit."; + next; + mes "[Jasi]"; + mes "I will just try one. That's all."; + next; + mes "- munch -"; + mes "- mumble mumble mumble -"; + specialeffect EF_POTION7,AREA,"Recluse#bra"; + next; + mes "[Jasi]"; + mes "Uh, this taste... is!"; + mes "I remember my mom baking these into a tasty bread!"; + next; + mes "[Jasi]"; + mes "It makes me miss my childhood."; + next; + emotion e_omg,0,"Recluse#bra"; + mes "[Jasi]"; + mes "Hoho!!!!"; + mes "I've been here for as long as I can remember..."; + mes "I don't have enough time to even do simple things like eat delicious fruit."; + next; + mes "[Jasi]"; + mes "It was a really delicious banana."; + mes "But rules are rules!"; + mes "I must do my duty."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Please! I just need one flower~ What can I do to convince you?"; + next; + mes "[Jasi]"; + mes "Rules are rules, what do you want from me?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Didn't that banana remind you of your childhood? What can I get for you?"; + next; + mes "[Jasi]"; + mes "Now that you mention it, there is one fruit that I really miss."; + mes "It was my favorite when I was young but I don't remember what it was called."; + next; + mes "[Jasi]"; + mes "It's brown and has a hard shell around it. It has juice inside and you can use it as a cup when you're done eating the fruit."; + mes "Do you know what it is?"; + next; + mes "[Jasi]"; + mes "If you bring 5 of those things, I will reconsider your suggestion."; + delitem 513,10; //Banana + set brazil_regia,5; + changequest 2203,2204; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ok so I have to bring 5 fruits with hard shells."; + mes "Hmm what is it?"; + close; + } + else if (brazil_regia == 5) { + mes "[Jasi]"; + mes "It was my favorite when I was young but I don't remember what it was called."; + next; + mes "[Jasi]"; + mes "It's brown and has a hard shell around it. It has juice inside and you can use it as a cup when you're done eating the fruit."; + mes "Do you know what it is?"; + close; + } + else if (brazil_regia == 7) { + if (!checkweight(1201,1)) { + mes "- wait a second!! -"; + mes "- you have too many items -"; + mes "- so you can't get any more items. -"; + mes "- make your body lighter -"; + mes "- then try again. -"; + close; + } + mes "- You take a beautiful water lily carefully in your hands. -"; + set brazil_regia,8; + getitem 7553,1; //Lotus_Flower + close; + } +} + +// Dungeon Access Quest, Original file: brazil_tre.sc +//============================================================ +brasilis,185,246,5 script Pedro#bra 62,{ + if (brazil_ghost == 0) { + OnTalk: + mes "[Pedro]"; + mes "Wow it's really a great statue!"; + next; + mes "[Mariana]"; + mes "It is, isn't it?"; + mes "This statue is called Verass Monument."; + next; + mes "[Mariana]"; + mes "A long time ago there was a really brave adventurer named Verass, thanks to his dedicated exploration, Brasilis was able to develop into this great city."; + next; + mes "[Pedro]"; + mes "Awesome!!"; + mes "i wanna become a real man like Verass."; + next; + mes "[Mariana]"; + mes "Pedro, you can become whatever you want."; + next; + mes "[Pedro]"; + mes "Mariana is so smart, isn't she? hehe."; + next; + mes "[Fabio]"; + mes "Ooooh! You love her don't you!"; + next; + mes "[Daniel]"; + mes "Wooooaaaa Pedro and Mari sitting in a tree!"; + next; + mes "[Fabio]"; + mes "Woooo k-i-s-s-i-n-g~!!!"; + next; + mes "[Daniel]"; + mes "Nya nya nya!"; + next; + mes "[Fabio]"; + mes "Hahahahaha."; + next; + mes "[Pedro]"; + mes "Stop acting like babies!"; + next; + mes "[Mariana]"; + mes "Boys~!"; + next; + mes "[Daniel]"; + mes "Yah yah..."; + mes "Hey guys, did you hear that something happened a few days ago?"; + next; + mes "[Mariana]"; + mes "Oh yeah~ I heard that something really scary happened."; + next; + mes "[Fabio]"; + mes "Uh, yeah that's why Mariana got scared of going ot the bathroom for 3 days and everything was stinky. Ewwww~"; + next; + mes "[Daniel]"; + mes "Ha ha ha! Smelly Mari!"; + next; + mes "[Mariana]"; + mes "I hate you~!"; + mes "Stop spreading rumors about me. I'm not scared of the bathroom."; + mes "Pedro, do you think that I stink?"; + next; + mes "[Pedro]"; + mes "Uh? Uh?"; + mes "N......no... no way."; + mes "Hey guys~ be nice to her~"; + next; + mes "[Fabio]"; + mes "kkkickkkkkkkkick"; + next; + mes "[Daniel]"; + mes "kkkickkkkkkkk"; + next; + if(select("Walk by.:Ask about the gossip.") == 1) { + mes "[Fabio]"; + mes "Mariana~ smells~ Nya nya~"; + next; + mes "[Daniel]"; + mes "Oh man you stink too~! Nya nya~"; + close; + } + mes "[Fabio]"; + mes "Haven't you heard?"; + mes "The ghost story in the art museum."; + next; + mes "[Daniel]"; + mes "Ooohhhh! Scary~~~!"; + next; + select("Can you tell me more?"); + mes "[Fabio]"; + mes "A coupla days ago we went to the art museum for a picnic at school."; + mes "You know nothing special, just a ordinary field trip."; + next; + mes "[Fabio]"; + mes "Museums are boring so me and some friends snuck away from the group~!"; + next; + mes "[Fabio]"; + mes "That's when we heard a scream echoing through the whole museum."; + next; + mes "[Daniel]"; + mes "kkakkakkaaaah!!"; + mes "kkieeeeeeh!"; + mes "kehkeh.."; + next; + mes "[Mariana]"; + mes "I heard the scream too..."; + mes "You boys are always making noises where you're not supposed to."; + next; + mes "[Pedro]"; + mes "What else are we supposed to do? If we don't do it someone else will."; + next; + emotion e_an,0,"Mariana#bra"; + mes "[Mariana]"; + mes "Argh~ Boys are so frustrating sometimes."; + next; + select("So then what happened?"); + mes "[Fabio]"; + mes "Daniel and me guessed something weird was goin' on so we ran to where we thought the screams were comin' from."; + next; + mes "[Fabio]"; + mes "They were coming from the bathroom."; + mes "Some kids got so scared that they started screaming too and closing their eyes. It got pretty bad."; + next; + mes "[Daniel]"; + mes "I think you pissed or pooped your pants. It smelled freakin' gross."; + next; + mes "[Fabio]"; + mes "Nah uh~ Your mom pissed her pants~ Nyah!"; + next; + mes "[Daniel]"; + mes "Nah uh~ You~ pissed your pants~"; + next; + mes "[Fabio]"; + mes "Anyway, so yeah, anyway that's how the rumor of the ghost in the museum started."; + next; + mes "[Daniel]"; + mes "Liar, there's no such thing as ghosts~"; + next; + select("So was it a ghost?"); + mes "[Fabio]"; + mes "How should I know?"; + mes "No one could say they saw one and no one wanted to get in trouble from the teachers."; + next; + mes "[Pedro]"; + mes "I heard if you say special magic words that the ghost will come out."; + next; + mes "[Daniel]"; + mes "Quit butting into our conversation Pedro."; + next; + mes "[Fabio]"; + mes "Yah, what are you talking about, Pedro?"; + mes "So did you see the ghost?"; + next; + mes "[Pedro]"; + mes "N... no. I'm scared of ghosts."; + mes "But my friends said they saw one and they're not liars."; + next; + select("Did anyone tell you the magic words?"); + mes "[Pedro]"; + mes "I heard it in a kind of song."; + mes "the special magic words are..."; + next; + mes "[Pedro]"; + mes "'^3131FFMother the door won't open!^000000'"; + mes "'^FF0000Turn the key as many times as there are colors in the rainbow.^000000'"; + mes ""; + mes "'^3131FFMother the water is flooding!^000000'"; + mes "'^FF0000If the moon disappears 3 times, don't worry.^000000'"; + mes ""; + mes "'^3131FFMother the drought has started!^000000'"; + mes "'^FF0000Don't worry, the waterfall will help it.^000000'"; + mes ""; + mes "'^3131FFMother where are my friends?^000000'"; + mes "'^FF0000Your 7 friends are sleeping. now it's time to wake them.^000000'"; + mes ""; + mes "'^3131FFWhere are you mom?^000000'"; + next; + mes "[Mariana]"; + mes "Umm it seems like a riddle."; + next; + select("Wanna help me find this ghost?"); + mes "[Pedro]"; + mes "You're on your own pal~."; + next; + mes "[Mariana]"; + mes "I don't like scary things!"; + next; + mes "[Fabio]"; + mes "Pfft, I can't believe you're gonna believe that story."; + next; + mes "[Daniel]"; + mes "I'll do whatever Fabio does, as always!"; + next; + mes "[Fabio]"; + mes "Maybe you're just scared..."; + set brazil_ghost,1; + setquest 2208; + close; + } + else if (brazil_ghost == 1) { + mes "[Pedro]"; + mes "Do you wanna hear the magic words again?"; + next; + mes "[Pedro]"; + mes "'^3131FFMother the door won't open!^000000'"; + mes "'^FF0000Turn the key as many times as there are colors in the rainbow.^000000'"; + mes ""; + mes "'^3131FFMother the water is flooding!^000000'"; + mes "'^FF0000If the moon disappears 3 times, don't worry.^000000'"; + mes ""; + mes "'^3131FFMother the drought has started!^000000'"; + mes "'^FF0000Don't worry, the waterfall will help it.^000000'"; + mes ""; + mes "'^3131FFMother where are my friends?^000000'"; + mes "'^FF0000Your 7 friends are sleeping. now it's time to wake them.^000000'"; + mes ""; + mes "'^3131FFWhere are you mom?^000000'"; + close; + } + else { + mes "[Pedro]"; + mes "I wonder what I need to do to have a statue made of me?"; + close; + } +} + +brasilis,187,244,1 script Mariana#bra 72,{ + if (brazil_ghost == 0) { + doevent "Pedro#bra::OnTalk"; + end; + } + else if (brazil_ghost == 1) { + mes "[Mariana]"; + mes "Can you guys stop talking about the ghosts?"; + mes "I've already got goosebumps all over."; + close; + } + else { + mes "[Mariana]"; + mes "Why do Fabio and Daniel always bother us?"; + close; + } +} + +brasilis,181,250,5 script Fabio#bra 706,{ + if (brazil_ghost == 0) { + doevent "Pedro#bra::OnTalk"; + end; + } + else if (brazil_ghost == 1) { + mes "[Fabio]"; + mes "You still wasting your time with that ghost story?"; + close; + } + else { + mes "[Fabio]"; + mes "Mariana, wanna see something cool?"; + next; + mes "[Mariana]"; + mes "kkkkkkkaaaaaacck!! Bugs!! Get 'em away!"; + close; + } +} + +brasilis,180,249,5 script Daniel#bra 706,{ + if (brazil_ghost == 0) { + doevent "Pedro#bra::OnTalk"; + end; + } + else if (brazil_ghost == 1) { + mes "[Daniel]"; + mes "Nyah nyah nyah~"; + close; + } + else { + mes "[Daniel]"; + mes "Keke Here~ I found more bugs~"; + close; + } +} + +bra_in01,149,184,3 script Door#bra 844,{ + if (brazil_ghost > 0) { + mes "- A key is inserted in the locked door.-"; + next; + switch(select("Turn the key.:Ignore it.")) { + case 1: + mes "You start saying the first line of the magic words."; + input .@input$; + next; + mes "["+strcharinfo(0)+"]"; + mes .@input$; + next; + set .@braspell$,"Mother the door won't open!"; + set .@chkspell,compare(.@braspell$,.@input$); + if (!.@chkspell) { + mes "Seems like you said something wrong."; + close; + } + else { + if (brazil_ghost == 2) { + mes "[Sobbing Voice]"; + mes "'^FF0000Turn the key as many times as there are colors in the rainbow.^000000'"; + next; + switch(select("Open the door:Knock on the door.:Turn the key.:Take the key out.")) { + case 1: + mes "The door is locked."; + mes "So nothing happens."; + close; + case 2: + mes "How many times should I try to knock?"; + input .@input,0,999; + next; + mes "You knocked on the door "+.@input+" times."; + next; + mes "But, nothing happens."; + close; + case 3: + mes "How many times should I turn the key?"; + input .@input,0,999; + next; + if (.@input == 7) { + mes "You turn the key 7 times."; + next; + mes "Click! Click! Click!"; + mes "Click! Click! Click!"; + mes "Click...!"; + next; + mes "[Distant Sound]"; + mes "^FF0000kkkkhee- hihihihi!!!^000000"; + mes "You hear water flushing."; + next; + specialeffect2 EF_VENOMDUST; + mes "Faint laughing can be heard off in the direction of the toilet."; + set brazil_ghost,3; + changequest 2208,60351; + close; + } + else { + mes "You turned over the key "+.@input+" times."; + next; + mes "But nothing doesn't happened."; + close; + } + case 4: + mes "How many times should I insert the key into the door?"; + input .@input,0,999; + next; + mes "You inserted the key "+.@input+" times."; + next; + mes "But nothing happened."; + close; + } + } + else { + mes "Mother the door won't open!"; + close; + } + } + case 2: + mes "You do nothing."; + close; + } + } + else { + mes "- A key is inserted in the locked door.-"; + close; + } +} + +bra_in01,144,187,3 script Toilet#bra 844,{ + if (brazil_ghost > 0) { + mes "- Looks like an ordinary toilet -"; + next; + if (brazil_ghost > 6) { + switch(select("Flush the toilet.:Doing nothing.")) { + case 1: + mes "After flushing the toilet, you suddenly feel dizzy and are suddenly swept away somewhere."; + specialeffect2 EF_WATERFALL_SMALL_T2_90; + close2; + warp "bra_in01",206,102; + end; + case 2: + mes "The water in the toilet looks gross."; + close; + } + } + switch(select("Use the toilet:Ignore.")) { + case 1: + mes "- What was the second line to that spell now? -"; + input .@input$; + next; + mes "["+strcharinfo(0)+"]"; + mes .@input$; + next; + set .@braspell$,"Mother the water is flooding!"; + set .@chkspell,compare(.@braspell$,.@input$); + if (!.@chkspell) { + mes "Seems like you said something wrong."; + close; + } + else { + if (brazil_ghost == 3) { + mes "[Sobbing Voice]"; + mes "^FF0000If the moon disappears 3 times... don't worry.....^000000"; + next; + switch(select("Flush the toilet.:Close the lid.")) { + case 1: + mes "How many times should I flush?"; + input .@input,0,999; + next; + if (.@input == 3) { + mes "You flush the toilet 3 times."; + next; + mes "qwaaaaaaaaa!"; + mes "kwaaaaaaaaaa!"; + mes "kwaaaaaaaaaaaaaaaaaaa!"; + next; + mes "[Distant Sound]"; + mes "^FF0000kkkkhee- hihihihi!!!^000000"; + mes "Suddenly the sink sounds like water is flowing freely from it."; + next; + specialeffect2 EF_VENOMDUST; + mes "Faint laughing can be heard off in the direction of the faucet."; + set brazil_ghost,4; + changequest 60351,60352; + close; + } + else { + mes "You flush the toilet "+.@input+" times."; + next; + mes "But nothing happens."; + close; + } + case 2: + mes "You close the lid of the toilet."; + mes "Nothing seems to be happening."; + close; + } + } + else { + mes "Nothing happens."; + close; + } + } + case 2: + mes "You do nothing."; + close; + } + } + else { + mes "- Looks like an ordinary toilet -"; + close; + } +} + +bra_in01,134,189,3 script Faucet#bra 844,{ + if (brazil_ghost > 0) { + mes "- It seems like an ordinary faucet -"; + next; + switch(select("Examine it.:Ignore.")) { + case 1: + mes "- What was the next line to that spell now? -"; + input .@input$; + next; + mes "["+strcharinfo(0)+"]"; + mes .@input$; + next; + set .@braspell$,"Mother the drought has started!"; + set .@chkspell,compare(.@braspell$,.@input$); + if (!.@chkspell) { + mes "Seems like you said something wrong."; + close; + } + else { + if (brazil_ghost == 4) { + mes "[Sobbing Voice]"; + mes "^FF0000Don't worry... the waterfall will help it....^000000"; + next; + switch(select("Tap on the faucet.:Turn on the water.")) { + case 1: + mes "How many times will you tap the faucet?"; + input .@input,0,999; + next; + mes "You tap the faucet "+.@input+" times."; + next; + mes "But nothing happens."; + close; + case 2: + mes "How many times should I turn the water on?"; + input .@input,0,999; + next; + if (.@input == 1) { + mes "You turn the faucet on once."; + next; + mes "swwwaaaaaaa-"; + next; + mes "[Distant Sound]"; + mes "^FF0000kkkkhee- hihihihi!!!^000000"; + mes "You see the carpet move."; + next; + specialeffect2 EF_VENOMDUST; + mes "Faint laughing can be heard off in the direction of the carpet."; + set brazil_ghost,5; + changequest 60352,60353; + close; + } + else { + mes "You turn the faucet on "+.@input+" times."; + next; + mes "But nothing happens."; + close; + } + } + } + else { + mes "Nothing happens."; + close; + } + } + case 2: + mes "You do nothing."; + close; + } + } + else { + mes "- It seems like an ordinary faucet -"; + close; + } +} + +bra_in01,138,184,3 script Carpet#bra 844,{ + if (brazil_ghost > 0) { + mes "- A carpet with an intricate pattern on it -"; + next; + switch(select("Examine it.:Ignore.")) { + case 1: + mes "- What was the next line to that spell now? -"; + input .@input$; + next; + mes "["+strcharinfo(0)+"]"; + mes .@input$; + next; + set .@braspell$,"Mother where are my friends?"; + set .@chkspell,compare(.@braspell$,.@input$); + if (!.@chkspell) { + mes "Seems like you said something wrong."; + close; + } + else { + if (brazil_ghost == 5) { + mes "[Sobbing Voice]"; + mes "^FF0000your 7 friends....are...sleeping... now it...'s time ....to wake them........^000000"; + next; + switch(select("Jump on the carpet.:Lie on the carpet.:Shake the carpet.")) { + case 1: + mes "How many times should I jump?"; + input .@input,0,999; + next; + mes "You jump on the carpet "+.@input+" times."; + next; + mes "But nothing happens."; + close; + case 2: + mes "How many times should I lie on the carpet?"; + input .@input,0,999; + next; + mes "You lie on the carpet "+.@input+" times."; + next; + mes "But nothing happens."; + close; + case 3: + mes "How many times should I shake the carpet?"; + input .@input,0,999; + next; + if (.@input == 7) { + mes "You shake the carpet 7 times."; + next; + mes "- fly~ fly~ fly~ fly~ fly~ fly~ fly~ -"; + next; + mes "[Distant Sound]"; + mes "^FF0000kkkkhee- hihihihi!!!^000000"; + next; + specialeffect2 EF_VENOMDUST; + mes "Faint laughing can be heard off in the direction of the mirror."; + set brazil_ghost,6; + changequest 60353,60354; + close; + } + else { + mes "You shake the carpet "+.@input+" times."; + next; + mes "But nothing happens."; + close; + } + } + } + else { + mes "Nothing happens."; + close; + } + } + case 2: + mes "You do nothing."; + close; + } + } + else { + mes "- A carpet with an intricate pattern on it -"; + close; + } +} + +bra_in01,151,180,3 script Mirror#bra 844,{ + if (brazil_ghost > 0) { + mes "- You can see a clean mirror without any marks or dust -"; + next; + switch(select("Examine it.:Ignore.")) { + case 1: + mes "- What was the next line to that spell now? -"; + input .@input$; + next; + mes "["+strcharinfo(0)+"]"; + mes .@input$; + next; + set .@braspell$,"Where are you mom?"; + set .@chkspell,compare(.@braspell$,.@input$); + if (!.@chkspell) { + mes "Seems like you said something wrong."; + close; + } + else { + if (brazil_ghost == 6) { + mes "[Distant Sound]"; + mes "^FF0000kihe! hit! hit! hit! hit!^000000"; + next; + mes "[Distant Sound]"; + mes "^FF0000kihe! hit! hit! hit! hit!^000000"; + mes "^FF0000kihe! hit! hit! hit! hit!^000000"; + next; + mes "[Distant Sound]"; + mes "Behind you..."; + enablenpc "Ghost#bra"; + next; + emotion e_omg,1; + mes "["+strcharinfo(0)+"]"; + mes "The stories about the ghost are true~!"; + next; + mes "[Ghost]"; + mes "^FF0000my baby....^000000"; + next; + mes "[Ghost]"; + mes "^FF0000I can't see.... my eye....^000000"; + mes "^FF0000What's going on....?^000000"; + next; + mes "- You take a deep breath and then look at the Ghost and notice it has an eye patch -"; + next; + mes "[Ghost]"; + mes "^FF0000My eyes are so tight... can you take this off?^000000"; + next; + mes "You step carefully towards the ghost."; + next; + mes "His face was covered with dust making strange contortions with it's face."; + next; + mes "[Ghost]"; + mes "^FF0000Come on help mom.....^000000"; + next; + switch(select("Take the eye bandage off.:Run away~.")) { + case 1: + while(1) { + set .@cpudice,rand(1,6); + set .@pcdice,rand(1,6); + if (.@cpudice != .@pcdice) { + emotion (57+.@cpudice),0,"Ghost#bra"; + emotion (57+.@cpudice),1; + break; + } + } + if (.@cpudice > .@pcdice) { + specialeffect2 EF_DEVIL; + mes "[Ghost]"; + mes "^FF0000Go away!^000000"; + set brazil_ghost,1; + changequest 60354,2208; + percentheal -50,-50; + close2; + disablenpc "Ghost#bra"; + warp "bra_in01",12,183; + end; + } + else { + emotion e_bzz,1; + mes "[Ghost]"; + mes "^FF0000Ahh!^000000"; + mes "The Ghost disappeared into the toilet."; + set brazil_ghost,7; + changequest 60354,60355; + close2; + disablenpc "Ghost#bra"; + warp "bra_in01",206,100; + end; + } + case 2: + mes "You run away from the ghost."; + close2; + set brazil_ghost,1; + changequest 60354,2208; + warp "bra_in01",12,183; + disablenpc "Ghost#bra"; + end; + } + close; + } + else { + mes "Nothing happens."; + close; + } + } + case 2: + mes "You do nothing."; + close; + } + } + else { + mes "- You can see a clean mirror without any marks or dust -"; + close; + } +} + +bra_in01,136,180,5 script Ghost#bra 1867,{ + end; + +OnInit: + disablenpc "Ghost#bra"; + end; +} + +bra_in01,7,181,5 script Curator#bra 477,{ + if (BaseLevel < 40) { + mes "[Curator]"; + mes "I'm sorry but this area is under construction right now."; + close; + } + if ((brazil_ghost > 0) && (brazil_ghost < 7)) { + if (countitem(11515) > 0) { + mes "[Curator]"; + mes "What can I do for you?"; + next; + select("I need to use the bathroom."); + mes "[Curator]"; + mes "Sorry we are remodeling inside right now so, it's closed."; + mes "Please use the other one."; + next; + switch(select("But I forgot something inside.:Give up.")) { + case 1: + mes "[Curator]"; + mes "That's tooooo bad."; + mes "But my manager ordered me to stop anyone from entering this bathroom so, I should follow his orders."; + next; + select("It's such a hot day!"); + mes "[Curator]"; + mes "It's always hot in Brasilis but today is ridiculously hot."; + mes "Maybe I need to drink some coconut juice to cool down."; + next; + mes "You give a coconut to the Curator."; + next; + mes "[Curator]"; + mes "Oh really can I have it?"; + mes "Thanks a lot!"; + next; + mes "[Curator]"; + mes "Pay it forward right?"; + mes "Ok I'll let you through this one time."; + next; + mes "The curator looks around calmly then opens the door."; + delitem 11515,1; //Coconut + set brazil_ghost,2; + close2; + warp "bra_in01",138,176; + end; + case 2: + mes "You give up trying to enter."; + close; + } + } + else { + mes "[Curator]"; + mes "What can I do for you?"; + next; + select("I need to use the bathroom."); + mes "[Curator]"; + mes "Sorry we are remodeling inside right now so, it's closed."; + mes "Please use the other one."; + next; + switch(select("But I forgot something inside.:Give up.")) { + case 1: + mes "[Curator]"; + mes "That's tooooo bad."; + mes "But my manager ordered me to stop anyone from entering this bathroom so, I should follow his orders."; + next; + select("It's such a hot day!"); + mes "[Curator]"; + mes "It's always hot in Brasilis but today is ridiculously hot."; + mes "Maybe I need to drink some coconut juice to cool down."; + close; + case 2: + mes "You give up trying to enter."; + close; + } + } + } + else if (brazil_ghost > 6) { + mes "[Curator]"; + mes "Hey thanks for the Coconut earlier it really helped me cool down."; + close; + } + else { + mes "[Curator]"; + mes "Is it just me? Or is it hotter than it's ever been today!"; + close; + } +} + +bra_in01,12,185,0 script inbathroom#bra 45,1,1,{ +OnTouch_: + if (brazil_ghost > 6) + warp "bra_in01",138,176; + else { + mes "The entrance has been blocked."; + close; + } + end; +} + +bra_in01,138,174,0 warp outbathroom#bra 1,1,bra_in01,12,183 +bra_in01,206,98,0 warp tobath#bra 1,1,bra_in01,138,176 + +bra_in01,206,188,1 script Open Manhole#todunbra 844,{ + if (brazil_ghost == 7) { + enablenpc "Ghost#bra_end"; + mes "[Ghost]"; + mes "I am a ghost who died while wandering the jungle many years ago."; + next; + mes "[Ghost]"; + mes "I found a pipeline in the jungle and followed the voice of a man to this very spot."; + next; + mes "[Ghost]"; + mes "That's also where I hurt one of my eyes while walking around in the dark."; + next; + mes "[Ghost]"; + mes "I wandered these sewers for days until I found the end of this line connected to the toilet in the museum. I shouted forever begging for help but no one answered my calls."; + next; + mes "[Ghost]"; + mes "You finally answered my call but it's already way too late. Thank you for at least checking. No one else has bothered to this day."; + next; + mes "[Ghost]"; + mes "There are many dangerous creatures at the end of this sewer."; + mes "You seem brave though. I bet you wouldn't worry about the monsters there anyways."; + next; + mes "[Ghost]"; + mes "I guess now I can finally rest in peace."; + mes "Thank you friend."; + set brazil_ghost,8; + //completequest 2208; + completequest 60355; + getexp 900000,0; + disablenpc "Ghost#bra_end"; + close; + } + warp "bra_dun01",87,47; + end; +} + + +bra_dun01,87,43,1 script Pipe#bra 844,{ + warp "bra_in01",206,185; + end; +} + +bra_fild01,323,136,1 script Pipe#brafild 844,{ + if (brazil_ghost > 6) { + mes "You see a rusty pipe. It seems to be linked to somewhere beneath the jungle."; + next; + switch(select("Examine it:Ignore.")) { + case 1: + mes "You swim through a gap in the pipe and are swept by a sudden rush of water."; + close2; + warp "bra_in01",206,182; + end; + case 2: + mes "It might be dangerous, I better not act rashly."; + close; + } + } + else { + mes "You see a rusty pipe. It seems to be linked to somewhere beneath the jungle."; + close; + } +} + +bra_in01,206,190,3 script Ghost#bra_end 1867,{ + end; + +OnInit: + disablenpc "Ghost#bra_end"; + end; +} + +// Iara, Original file: iara.sc +//============================================================ +brasilis,315,334,5 script Shaman#nk 474,{ + set .@iara_re,checkquest(4135,PLAYTIME); + if ((.@iara_re == 0) || (.@iara_re == 1)) { + mes "[Anori]"; + mes "I'm still preparing."; + mes "I don't require your help at this time."; + mes "Please come back later..."; + close; + } + else { + if (checkquest(4135) > 1) erasequest 4135; + set .@iara_q,checkquest(4133); + if ((.@iara_q == 0) || (.@iara_q == 1)) { + mes "[Anori]"; + mes "To block Iara "; + mes "seducing the tribes"; + mes "we need a purifying potion..."; + next; + mes "[Anori]"; + mes "Did you bring the materials"; + mes "to make the purifying potion?"; + next; + if ((countitem(950) > 19) && (countitem(7172) > 9) && (countitem(1054) > 2)) { + mes "[Anori]"; + mes "Um... it seems to be okay."; + mes "I'll make you a potion which will"; + mes "weaken Iara's power."; + next; + mes "[Anori]"; + mes "Let's see grind this..."; + mes "and mix in that..."; + mes "then add some magic..."; + next; + setquest 4135; + erasequest 4133; + setquest 4134; + completequest 4134; + delitem 950,20; //Heart_Of_Mermaid + delitem 7172,10; //Leopard_Talon + delitem 1054,3; //Lip_Of_Ancient_Fish + getitem 11517,2; //Puri_Potion + mes "[Anori]"; + mes "Here, it's completed."; + mes "Take this."; + mes "It will make Iara stop"; + mes "training at the cave"; + mes "for a while."; + next; + mes "[Anori]"; + mes "Please block the Iara threatening the security of the tribe."; + close; + } + else { + mes "[Anori]"; + mes "You haven't brought enough materials yet."; + mes "We cannot make the purification potion with only these."; + close; + } + } + else { + if (BaseLevel < 40) { + mes "[Anori]"; + mes "Ah... we need a strong adventurer."; + mes "The tribe is facing a major threat."; + close; + } + set .@re_q,checkquest(4134); + if (.@re_q == 2) { + mes "[Anori]"; + mes "you are..."; + mes "the adventurer who came for the"; + mes "purification potion..."; + next; + mes "[Anori]"; + mes "Maybe because of the purification potion..."; + mes "After that, the Iara stopped seducing tribesmen but the effect didn't last long."; + next; + mes "[Anori]"; + mes "Could you get the same"; + mes "materials as before..."; + mes "I need your power."; + next; + switch(select("No.:Okay, I'll do it.")) { + case 1: + mes "[Anori]"; + mes "This, ah..."; + mes "There is no other way."; + close; + case 2: + mes "[Anori]"; + mes "You are truly brave!"; + mes "I, on behalf of the tribe,"; + mes "offer you my thanks."; + next; + mes "[Anori]"; + mes "Materials are the same as before."; + mes "If you just get^ff0000 20 Hearts of Mermaids,"; + mes "10 Leopard Claws and"; + mes "3 Ancient Lips^000000,"; + mes "I will make you a potion that purifies evil spirits"; + mes "by using a secret formula handed down to the tribe."; + next; + mes "[Anori]"; + mes "The destiny of the tribe is up to you."; + mes "please get the materials quickly."; + mes "I will be preparing to make"; + mes "the purification potion right here."; + setquest 4133; + close; + } + } + else { + mes "[Anori]"; + mes "There are some people I haven't seen before around here."; + mes "It's a good sign..."; + next; + mes "[Anori]"; + mes "Hey you..."; + mes "Could you listen to my stories for a moment."; + mes "There's an emergency in our tribe."; + next; + switch(select("No.:Okay.")) { + case 1: + mes "[Anori]"; + mes "You are a heartless person..."; + mes "You don't seem the helpful type."; + mes "Just keep on going your way."; + close; + case 2: + mes "[Anori]"; + mes "Thank you, I met a kind person."; + mes "It's a secret of our tribe that"; + mes "you cannot tell anyone."; + next; + break; + } + mes "[Anori]"; + mes "Lately young men from"; + mes "the tribe are disappearing."; + mes "Our entire tribe is being threatened."; + next; + mes "[Anori]"; + mes "It is likely because of a witch called Iara."; + mes "She is a water nymph seducing the hearts of young tribesmen at a cave behind the waterfall."; + next; + mes "[Anori]"; + mes "How can I stop these young tribesmen?"; + mes "But I discovered a way to make a purification potion to reverse the effects of the Iara's spells."; + next; + mes "[Anori]"; + mes "This potion has been handed down from many generations in our tribe."; + mes "This purification potion possesses the power to cleanse evil spirits."; + next; + mes "[Anori]"; + mes "If you could get the materials"; + mes "I will make you"; + mes "the purification potion."; + mes "Could you do that for me?"; + next; + switch(select("No.:Yes, I can.")) { + case 1: + mes "[Anori]"; + mes "Hm..."; + mes "Well, then."; + mes "If you change your mind you can come to me again."; + next; + mes "[Anori]"; + mes "You shouldn't talk about"; + mes "what you heard now to anyone"; + mes "It's kind of embarrassing..."; + close; + case 2: + mes "[Anori]"; + mes "Oh! You are the savior"; + mes "of our tribe indeed."; + mes "On behalf of the tribe, I offer you my thanks."; + next; + mes "[Anori]"; + mes "Well, what we need is this."; + mes "It's all you can get from near here."; + mes "Note down well."; + next; + mes "[Anori]"; + mes "^ff0000 20 Hearts of Mermaids"; + mes "10 Leopard Claws"; + mes "3 Ancient Lips^000000"; + mes "are the only ones that are needed as the materials."; + next; + mes "[Anori]"; + mes "When you get those, I will make you a potion that purifies evil spirits using a secret formula handed down to the tribe."; + setquest 4133; + next; + mes "[Anori]"; + mes "The destiny of the tribe is up to you."; + mes "I hope you move quickly."; + mes "Even at this moment, the village men are being seduced and slipping way..."; + close; + } + } + } + } +} + +bra_dun02,157,74,5 script Iara#nk 478,2,2,{ + if (countitem(11517) > 0) { + mes "[" + strcharinfo(0) + "]"; + mes "Should I use a Purification Potion?"; + next; + switch(select("Yes.:No.")) { + case 1: + specialeffect EF_MAPPILLAR; + mes "[Iara]"; + mes "Ah...this light is..."; + mes "It's like getting cleansed of evil thoughts"; + mes "from deep within my heart."; + next; + mes "[Iara]"; + mes "At last I can forget the curse that I placed on myself when I drowned in the water."; + next; + mes "[Iara]"; + mes "Do you think I can be born again as a kind water nymph?"; + next; + specialeffect EF_GHOST; + mes "[Iara]"; + mes "Ah... Thank you for helping me recover my consciousness for a while."; + mes "But... I think that the curse has been with me too long."; + mes "Get away from me quickly."; + delitem 11517,1; //Puri_Potion + percentheal 100,100; + sc_start SC_INCFLEE,3600000,20; + sc_start SC_INCCRI,3600000,10; + sc_start SC_STRFOOD,1200000,3; + sc_start SC_DEXFOOD,1200000,3; + sc_start SC_AGIFOOD,1200000,3; + sc_start SC_VITFOOD,1200000,3; + sc_start SC_INTFOOD,1200000,3; + sc_start SC_LUKFOOD,1200000,3; + next; + mes "[Iara]"; + mes "Ahhh~..."; + specialeffect EF_DEVIL; + next; + mes "[Iara]"; + mes "The curse is too strong for me to keep contained."; + mes "Leave now while you are safe."; + close; + case 2: + mes "[" + strcharinfo(0) + "]"; + mes "(I guess I should ignore her.)"; + close; + } + } + else { + mes "[Iara]"; + mes "Aaaaaaaaaaaaaaaaaaaaaah."; + mes "Eeeeeeeeeeeeeeeeeeeh."; + mes "Oooooooooooooooooh."; + set .@get_de,rand(1,2); + if (.@get_de == 1) + sc_start Sc_Curse,60000,0; + else + sc_start Sc_Confusion,60000,0; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Ugh! What's this strange voice?"; + close; + } + end; + +OnTouch: + if (countitem(11517) < 1) { + mes "[Iara]"; + mes "Aaaaaaaaaaaaaaaaaaaaaah."; + mes "Eeeeeeeeeeeeeeeeeeeh."; + mes "Oooooooooooooooooh."; + set .@get_de,rand(1,2); + if (.@get_de == 1) + sc_start Sc_Curse,60000,0; + else + sc_start Sc_Confusion,60000,0; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Ugh! What's this strange voice?"; + close; + } + end; +} + +bra_fild01,188,301,5 script Native Warrior#nk 472,{ + mes "[Native Warrior]"; + mes "Ah...the face I would never forget even in my dreams."; + next; + mes "[Native Warrior]"; + mes "When will she come out of the waterfall again...?"; + next; + if ((checkquest(4133) >= 0) || (checkquest(4134) >= 0)) { + mes "[" + strcharinfo(0) + "]"; + mes "(Wh...what's this guy?)"; + } + else { + mes "[" + strcharinfo(0) + "]"; + mes "(This guy will never"; + mes "get ocer Iara's curse...)"; + } + close; +} diff --git a/npc/re/quests/quests_dewata.txt b/npc/re/quests/quests_dewata.txt new file mode 100644 index 000000000..8d27b1c09 --- /dev/null +++ b/npc/re/quests/quests_dewata.txt @@ -0,0 +1,2460 @@ +//===== rAthena Script ======================================= +//= Dewata Quest NPCs +//===== By: ================================================== +//= Gennosuke Kouga +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Quest NPCs related to Dewata: +//== "Dewata Legend" +//== "Help The Old Man" +//== "The Enchantment Weapon" (Keris) +//===== Additional Comments: ================================= +//= 1.0 First version. +//= 1.1 Standardized. [Euphy] +//============================================================ + +// Entrance - Alberta Sailors +//============================================================ + +alberta,240,47,5 script Alberta Sailor#alberta 536,{ + mes "[Alberta Sailor]"; + mes "Do ya want to visit ^C35817Dewata Island?^000000"; + mes "With dazzling waves and charming vistas, it's a great place to relax."; + mes "The transit fee is 10,000 Zeny."; + next; + if(select("Yes:No")==2) { + mes "[Alberta Sailor]"; + mes "Let me know"; + mes "when you're ready to travel~"; + close; + } + mes "[Alberta Sailor]"; + mes "Have a nice trip~"; + close2; + warp "dewata",232,53; + end; +} + +dewata,230,49,5 script Alberta Sailor#dewata 536,{ + mes "[Alberta Sailor]"; + mes "Want to go back to ^C35817Alberta^000000?"; + next; + if(select("Yes:No")==2) { + mes "[Alberta Sailor]"; + mes "Have some more fun before you go!"; + mes "^C35817Dewata^000000 Island still has more to offer."; + close; + } + mes "[Alberta Sailor]"; + mes "I hope you had a lot of fun on your trip to ^C35817Dewata^000000 Island."; + close2; + warp "alberta",235,44; + end; +} + +dewata,235,56,4 script Gatekeeper of Krakatau#1 534,{ + mes "[Gatekeeper of Krakatau Volcano]"; + mes "^C35817Krakatau Volcano^000000 is a very dangerous area"; + mes "I cannot allow anyone to go inside."; + next; + if (checkquest(9162)>=0 && countitem(11533)) { + select("^0000FFTribal Chief Paiko^000000"); + mes "[Gatekeeper of Krakatau Volcano]"; + mes "Oh! I didn't know about that!"; + mes "This is some of the best news"; + mes "I have heard recently."; + next; + mes "[Gatekeeper of Krakatau Volcano]"; + mes "What is this wonderful smell?"; + mes "Of course, it's our ^4AA02CSatay^000000!"; + mes "I was sightly hungry..."; + mes "so this should fill me up."; + next; + mes "[Gatekeeper of Krakatau Volcano]"; + mes "Since you came all the way here"; + mes "I will share an interesting story."; + next; + mes "[Gatekeeper of Krakatau Volcano]"; + mes "It has become a lost tradition in"; + mes "recent years, but until 10"; + mes "years ago in order to become a"; + mes "^C35817Jaty Tribe^000000 warrior you had to"; + mes "climb ^C35817Krakatau Volcano^000000 to prove your endurance."; + next; + mes "[Gatekeeper of Krakatau Volcano]"; + mes "The eyes of those warriors were"; + mes "anxious yet determined before going"; + mes "up ^C35817Krakatau Volcano^000000."; + next; + mes "[Gatekeeper of Krakatau Volcano]"; + mes "I still cannot forget that look in"; + mes "their eyes. I feel a little bit of"; + mes "the same emotion from you, Adventurer."; + next; + mes "[Gatekeeper of Krakatau Volcano]"; + mes "I want you to live long and"; + mes "prosper. Be heathly and safe."; + mes "Travel so you can live to tell"; + mes "the tale of your adventures."; + changequest 9162,9163; + delitem 11533,1; + close; + } + if(select("Allow me through:I don't want to go in")==1) { + if(dewata_legend >= 5) { + mes "[Gatekeeper of Krakatau Volcano]"; + mes "You are the traveler who was"; + mes "acknowledged by tribe leader as a"; + mes "friend of the tribe and received a"; + mes "^4AA02CShining Cendrawasih Feather.^000000"; + next; + mes "[Gatekeeper of Krakatau Volcano]"; + mes "I will let you pass, but"; + mes "^C35817Krakatau Volcano^000000 is"; + mes "dangerous so please take care."; + close2; + warp "dew_dun01",289,160; + end; + } + mes "[Gatekeeper of Krakatau Volcano]"; + mes "^C35817Krakatau Volcano^000000 is"; + mes "a very dangerous area,"; + mes "so I can't allow you in"; + mes "unless you qualify for entry."; + close; + } + mes "[Gatekeeper of Krakatau Volcano]"; + mes "You have choosen wisely."; + mes "^C35817Krakatau Volcano^000000 is"; + mes "an extremely dangerous area."; + close; +} + +dew_dun01,292,164,4 script Gatekeeper of Krakatau#2 541,{ + mes "[Gatekeeper of Krakatau Volcano]"; + mes "Want to go back to Dewata?"; + next; + if(select("Yes:No")==2) { + mes "[Gatekeeper of Krakatau Volcano]"; + mes "^C35817Krakatau Volcano^000000 is"; + mes "a dangerous place."; + mes "You should go back now."; + close; + } + close2; + warp "dewata",232,53; + end; +} + +dew_fild01,78,288,5 script Jaty Tribe Warrior 541,{ + mes "[Jaty Tribe Warrior]"; + mes "We revere strength and bravery."; + mes "We are the ^FF0000Jaty^000000 Tribe."; + if (checkquest(9158)==-1 || !countitem(11533)) close; + next; + mes "[Jaty Tribe Warrior]"; + mes "My trained eyes see that"; + mes "you are about to say something."; + mes "Speak, state your business."; + next; + select("^0000FFTribal Chief Paiko^000000"); + mes "[Jaty Tribe Warrior]"; + mes "I've heard about your"; + mes "helpful deeds..."; + mes "As a representative of my tribe"; + mes "I express my thanks to you."; + next; + mes "[Jaty Tribe Warrior]"; + mes "Also, thank you for the ^4AA02CSatay^000000."; + mes "My mouth is already watering..."; + mes "There is something I would like"; + mes "to share with you regarding our tribe."; + next; + mes "[Jaty Tribe Warrior]"; + mes "Unlike the ancient times when our"; + mes "tribe's warriors fought and shed"; + mes "their blood, the world has become"; + mes "more peaceful nowadays. But our"; + mes "tribe's territory has shrunk drastically."; + next; + mes "[Jaty Tribe Warrior]"; + mes "Nevertheless, we will continue"; + mes "keeping the warrior tradition of"; + mes "our tribe alive, and we will"; + mes "preserve the pride we have earned"; + mes "through the sacrifice of past warriors."; + next; + mes "[Jaty Tribe Warrior]"; + mes "I hope that your perserverance and"; + mes "pride remain with you in your travels."; + changequest 9158,9159; + delitem 11533,1; + close; +} + +dew_fild01,185,300,4 script Tribe Manager 541,{ + mes "[Tribe Manager]"; + mes "Keeping our culture and tradition"; + mes "is very important."; + if(checkquest(9160)==-1 || !countitem(11533)) { + mes "Although it is a little boring..."; + close; + } + next; + mes "[Tribe Manager]"; + mes "It seems to me that you have"; + mes "something to say, don't you?"; + next; + select("^0000FFTribal Chief Paiko^000000"); + mes "[Tribe Manager]"; + mes "I didn't know that there was"; + mes "such an effort being put forth"; + mes "and that you took a key role in the effort..."; + mes "You are the hero of the ^C35817Jaty Tribe^000000!"; + next; + mes "[Tribe Manager]"; + mes "Wow~ the savory scent of"; + mes "delicious homemade ^4AA02CSatay^000000!"; + mes "Thank you for the meal."; + mes "Please give my regards"; + mes "to our Tribe Leader."; + next; + mes "[Tribe Manager]"; + mes "There are few contacts between"; + mes "^C35817Dewata Island^000000 and ^C35817Jaty Tribe^000000."; + mes "We used to have a stronger bond"; + mes "in older times."; + next; + mes "[Tribe Manager]"; + mes "But with the new culture and"; + mes "foreigners flowing in,"; + mes "^C35817Dewata Island^000000 has became a"; + mes "tourist attraction and we"; + mes "have lost touch with them."; + next; + mes "[Tribe Manager]"; + mes "The tourist attraction has"; + mes "expanded continously, but the"; + mes "reason it hasn't influenced us"; + mes "here is due to this small temple"; + mes "which I am managing."; + next; + mes "[Tribe Manager]"; + mes "I couldn't let our tradition fade"; + mes "away like that so easily."; + mes "I hope keeping our tradition and"; + mes "culture alive lets people know how"; + mes "important these things are to us."; + next; + mes "[Tribe Manager]"; + mes "From now on, I hope people from"; + mes "^C35817Dewata Island^000000 and ^C35817Jaty"; + mes "Tribe^000000 can get along and interact"; + mes "more often."; + changequest 9160,9161; + delitem 11533,1; + close; +} + +// NPC - Memo +//============================================================ + +dewata,109,262,4 script Memo#dew_drink 534,{ + if(dewata_oldman >= 1) { + if (checkquest(5040) >= 0) { + mes "[Memo]"; + mes "So, what did Lero say?"; + next; + select("Palm tree... became."); + mes "- You explain the situation to"; + mes "Mr. Memo -"; + next; + mes "[Memo]"; + mes "Lero said sorry?"; + mes "Hmmm, it's okay."; + next; + mes "[Memo]"; + mes "That must be ^0000FFPoby^000000. If he has"; + mes "been hurt, that's why there wasn't"; + mes "any message. Lero actually"; + mes "cares about him a lot..."; + next; + changequest 5040,5041; + } + if (checkquest(5041) >= 0) { + mes "[Memo]"; + mes "He might be troublesome,"; + mes "but please visit Jaty village."; + mes "Lero must complete the oil."; + next; + mes "[Memo]"; + mes "If it is not, wait there and bring"; + mes "^FF000030 Bottle of Oil^000000 to me."; + close; + } + if (checkquest(5042) >= 0 && countitem(6401) >= 30) { + mes "[Memo]"; + mes "You brought the oil. Good job, and thank you."; + next; + mes "[Memo]"; + mes "Excuse me, but I have an urgent"; + mes "matter to attend to. Wait for a bit,"; + mes "then talk to me when I'm done."; + delitem 6401,30; + changequest 5042,5043; + set dewata_oldman,2; + close; + } else if (checkquest(5043,PLAYTIME) == 2) { + mes "[Memo]"; + mes "Did I make you wait too long?"; + next; + mes "[Memo]"; + mes "My family has been making Arks for four generations."; + next; + mes "[Memo]"; + mes "Grandfather had a hard living"; + mes "since he didn't get many good sales."; + next; + mes "[Memo]"; + mes "Dewata island people do not drink"; + mes "much in the hot weather."; + next; + mes "[Memo]"; + mes "When I was young, Dewata"; + mes "developed as a tourist atrraction,"; + mes "and that's when the tour package"; + mes "Ark started selling well."; + next; + mes "[Memo]"; + mes "Good liquid needs fresh oil,"; + mes "I was able to make a liquid"; + mes "for ten years and deliver it all on time."; + next; + mes "[Memo]"; + mes "Because today's oil has not"; + mes "arrived on time, I think I might"; + mes "have a hard time."; + next; + mes "[Memo]"; + mes "You helped me make the liquid correctly."; + next; + mes "[Memo]"; + mes "This proverb '^0000FFMengatakan mudah,"; + mes "mengerjakan susah^000000.' means it is"; + mes "easy to say something, but hard to"; + mes "do anything."; + next; + mes "[Memo]"; + mes "In other words, it's easy to say"; + mes "that we'll help others but its hard"; + mes "to actually do the action."; + next; + emotion e_thx; + mes "[Memo]"; + mes "You really did a great job. I like"; + mes "you because you are different from"; + mes "today's youngins."; + getitem 617,1; + getexp 50000,10000; + changequest 5043,5044; + next; + mes "[Memo]"; + mes "Will you help me with my work"; + mes "from time to time?"; + mes "I will pay you for what you do for me."; + close; + } else if (checkquest(5043,PLAYTIME) != -1) { + mes "[Memo]"; + mes "... ... ..."; + next; + mes "- Memo is making an ark -"; + close; + } else if (checkquest(5044,PLAYTIME) == 2) { + mes "[Memo]"; + mes "^FF0000" + strcharinfo(0) +"^000000? -"; + next; + if(select("Just came by to say hello...:I will help you.")==1) { + mes "[Memo]"; + mes "I guess you are busy."; + mes "If possible, will you get the oil"; + mes "from Lero? I appreciate it..."; + close; + } + mes "[Memo]"; + mes "Thank you, I know you're busy"; + mes "and helping me can be a chore."; + next; + mes "[Memo]"; + mes "Can you help Lero and bring back palm tree oil...?"; + erasequest 5044; + setquest 5045; + close; + } else if (checkquest(5044,PLAYTIME) != -1) { + mes "[Memo]"; + mes "Will you help me tomorrow?"; + mes "Poby still has a back pain."; + mes "Backaches don't just go away"; + mes "after one day..."; + close; + } else if (checkquest(5045) >= 0) { + mes "[Memo]"; + mes "Can you help Lero and bring back palm tree oil...?"; + close; + } else if (checkquest(5047) >= 0 || checkquest(5049) >= 0 || checkquest(5051) >= 0) { + mes "[Memo]"; + mes "Oh, you brought the oil! Good job!"; + next; + mes "[Memo]"; + mes "You must have had a hard time"; + mes "bringing the oil, so take this drink."; + next; + mes "[Memo]"; + mes "Ark is famous for tourists. A guy"; + mes "bought many bottles by himself."; + next; + mes "[Memo]"; + mes "Worrying that he'll drink alone?"; + mes "Too much drink always becomes poisonous."; + next; + mes "[Memo]"; + mes "I want you to help me this time."; + next; + mes "[Memo]"; + mes "Poby still has back pains and it"; + mes "will take some days for him to"; + mes "recover."; + if (checkquest(5047)>=0) { + delitem 6401,10; + getitem 11534,2; + erasequest 5047; + setquest 5044; + } else if (checkquest(5049)>=0) { + delitem 6401,15; + getitem 11534,2; + erasequest 5049; + setquest 5044; + } else if (checkquest(5051)>=0) { + delitem 6401,20; + getitem 11534,2; + erasequest 5051; + setquest 5044; + } + close; + } + mes "[Memo]"; + mes "So, what did Lero say?"; + next; + emotion e_dots; + mes "[Memo]"; + mes "... ... ..."; + next; + mes "[Memo]"; + mes "You didn't find out what happened?"; + next; + mes "[Memo]"; + mes "Find the best oil master. His name is ^0000FFLero^000000."; + close; + } + if(rand(1,5) == 1) { + mes "[Memo]"; + mes "What should I do? I still don't"; + mes "have any news from the Jaty tribe."; + next; + mes "[Memo]"; + mes "Oh no~ All the liquid is going to spoil..."; + next; + select("What happened?"); + emotion e_what; + mes "[Memo]"; + mes "Who are you?"; + next; + mes "[Memo]"; + mes "You're an adventurer, right?"; + mes "As you can see from the jars around"; + mes "me, I am making ^0000FFtraditional wine^000000"; + mes "for a living."; + next; + mes "[Memo]"; + mes "Everyone knows about this, so"; + mes "^0000FFDewata Island^000000 attracts many"; + mes "tourists."; + next; + mes "[Memo]"; + mes "Especially this traditional wine, which"; + mes "has been made for four generations!"; + mes "But ^FF0000Ark^000000 is short of supply."; + mes "Ark needs ^0000FFPalm Oils^000000, made"; + mes "from Oil Palm Fruit."; + next; + mes "[Memo]"; + mes "Unfortunately, we haven't been"; + mes "getting ^0000FFPalm Oil^000000 from the Jaty"; + mes "tribe village lately."; + mes "The ingredients might be useless"; + mes "if it is delivered too late."; + next; + select("Sound like a big problem."); + mes "[Memo]"; + mes "It is more of a problem than you"; + mes "think. Sales are credit, but if we"; + mes "do not make due today we'll lose"; + mes "the credit, the ingredients, and"; + mes "the tourists who do not get the"; + mes "Ark. So it's quite damaging."; + next; + emotion e_dots; + mes "[Memo]"; + mes "... ..."; + next; + emotion e_gasp; + mes "[Memo]"; + mes "Ah, right! Are you busy now?"; + next; + if(select("Sorry, I am busy.:No, I am not busy.")==1) { + emotion e_pif; + mes "[Memo]"; + mes "Hmm, I have no choice."; + mes "You don't care that others are in"; + mes "trouble. What has this world come to?"; + close; + } + mes "[Memo]"; + mes "That's good to hear."; + mes "So since you are wandering here..."; + next; + mes "[Memo]"; + mes "Do you mind if I ask a favor~?"; + mes "Actually, I have visited the Jaty"; + mes "Tribe, but this unmatured ^FF0000Ark^000000"; + mes "won't let me leave."; + next; + mes "[Memo]"; + mes "Will you go to Jaty village and"; + mes "ask ^0000FFLero^000000 what happened?"; + next; + mes "[Memo]"; + mes "This guy has never broken a"; + mes "promise for 10 years, so he must have"; + mes "a really good reason not to come."; + setquest 5035; + set dewata_oldman,1; + next; + mes "[Memo]"; + mes "Find the best oil master."; + mes "His name again is ^0000FFLero^000000... Remember it!"; + close; + } else { + emotion e_swt2; + mes "[Memo]"; + mes "Oh God! We don't have a message"; + mes "from the Jaty tribe yet."; + next; + mes "[Memo]"; + mes "They have never broken a promise"; + mes "for 10 years, and I don't know the"; + mes "reason. What's happening...?"; + next; + emotion e_sob; + mes "[Memo]"; + mes "I might soil all the liquid if it"; + mes "is going on like this."; + close; + } +} + +// NPC - Lero +//============================================================ + +dew_fild01,114,275,4 script Lero#dew_drink 536,{ + if(dewata_oldman == 2) { + if (checkquest(5045) >= 0) { + mes "[Lero]"; + mes "Hey, I've been waiting for you."; + mes "I didn't know that Poby's injury"; + mes "would make my life so difficult."; + next; + set .@dailylero,rand(1,3); + if (.@dailylero == 1) changequest 5045,5046; + else if (.@dailylero == 2) changequest 5045,5048; + else if (.@dailylero == 3) changequest 5045,5050; + mes "[Lero]"; + mes "I'm ashamed to ask you this, but"; + if (checkquest(5048) >= 0) + mes "could you bring ^0000FF30 pieces of oil palm nuts^000000?"; + else if (checkquest(5046) >= 0) + mes "could you bring ^0000FF20 pieces of oil palm nuts^000000?"; + else if (checkquest(5050) >= 0) + mes "could you bring ^0000FF40 pieces of oil palm nuts^000000?"; + next; + L_Wait: + if (checkquest(5046) >= 0 && countitem(6402) > 19) { + callsub L_Count,20; + changequest 5046,5047; + close; + } else if (checkquest(5048) >= 0 && countitem(6402) > 29) { + callsub L_Count,30; + changequest 5048,5049; + close; + } else if (checkquest(5050) >= 0 && countitem(6402) > 39) { + callsub L_Count,40; + changequest 5050,5051; + close; + } + mes "[Lero]"; + mes "Once you bring the oil palm nuts,"; + mes "Mr. Memo will exchange them with oil."; + close; + } + else if (checkquest(5046) >= 0 || checkquest(5048) >= 0 || checkquest(5050) >= 0) goto L_Wait; + else if (checkquest(5047) >= 0 || checkquest(5049) >= 0 || checkquest(5051) >= 0) { + mes "[Lero]"; + mes "As I told you before, it is heavier"; + mes "than you might think, so be careful"; + mes "when carrying this."; + close; + } + mes "[Lero]"; + mes "What happened? I didn't get a memo"; + mes "from Mr. Memo someone was coming."; + close; + } + if (checkquest(5035) >= 0) { + emotion e_an; + mes "[Lero]"; + mes "Oh no! I have so many orders and"; + mes "I'm running out of ingredients."; + mes "Not yet? What's going on, Poby?"; + mes "Where did he go?"; + next; + emotion e_ag; + select("Excuse me, but are you Lero?"); + mes "[Lero]"; + mes "When Poby gets back here, I'm"; + mes "gonna give him a beating he'll never forget!"; + next; + mes "- Lero seems pretty mad at someone"; + mes "and ignores you -"; + next; + mes "[Lero]"; + mes "Oops. Who are you?"; + next; + select("Memo sent me here."); + mes "[Lero]"; + mes "Ah, right! I forgot about Memo"; + mes "because the workers who gather"; + mes "nuts have not come yet. Sorry."; + next; + mes "[Lero]"; + mes "To make fresh palm oils, I need"; + mes "fresh Palm Oil Fruit. Then I'll be"; + mes "able able to get more from its"; + mes "fresh fruit."; + next; + mes "[Lero]"; + mes "Between you and me, Mr.Memo is so"; + mes "fussy that he will not use any"; + mes "unfresh oil."; + next; + mes "[Lero]"; + mes "To make fresh oil, he always sends"; + mes "the workers to the palm tree forest,"; + mes "but... the guys sent at dawn have"; + mes "not come back yet."; + next; + mes "[Lero]"; + mes "First, I thought that he was lazy"; + mes "and it made me very uneasy."; + mes "Can you find the workers in palm forest?"; + next; + select("Yes, I will find them."); + mes "[Lero]"; + mes "Thank you so much."; + mes "Find Poby."; + next; + mes "[Lero]"; + mes "Poby might in ^0000FFPalm Forest^000000."; + mes "The crop is best at the southern part of the forest."; + changequest 5035,5036; + close; + } else if (checkquest(5036) >= 0) { + emotion e_what; + mes "[Lero]"; + mes "Did you find Poby?"; + next; + mes "[Lero]"; + mes "... ... ..."; + next; + mes "[Lero]"; + mes "Oh, you haven't visited the east"; + mes "of ^0000FFPalm Forest^000000 yet. I'm pretty"; + mes "worried..."; + close; + } else if (checkquest(5037) >= 0) { + emotion e_what; + mes "[Lero]"; + mes "You're back... and... Poby..."; + mes "How is Poby?"; + next; + select("Pobu..."); + mes "[Lero]"; + mes "Ah! I didn't know that. I always"; + mes "tell Poby '^0000FFKemarau setahun rusak sehari.'^000000"; + next; + mes "[Lero]"; + mes "He climbed the tree without any"; + mes "safety equipment, so he might've"; + mes "fallen down and gotten injured."; + next; + mes "[Lero]"; + mes "Hmm... Sorry I couln't get the"; + mes "Palm Oil right now."; + next; + mes "[Lero]"; + mes "Will you deliver the message to"; + mes "Mr. Memo that it is impossible"; + mes "to get the oil due do to a"; + mes "lack of ingredients?"; + mes "No artisans can create anything"; + mes "without ingredients."; + next; + select("Why don't I get the ingredients?"); + mes "[Lero]"; + mes "Ah, that can be a good way, but it"; + mes "will be hard to gather nuts as a starter."; + next; + mes "[Lero]"; + mes "Hmm!!!"; + mes "I have a good idea."; + next; + mes "[Lero]"; + mes "You can ask Poby about the best"; + mes "method of gathering nuts where you"; + mes "met him in forest. He should be"; + mes "able to teach you the technique."; + changequest 5037,5038; + next; + mes "[Lero]"; + mes "Although he is lazy and rather"; + mes "careless, he is the best worker."; + close; + } else if (checkquest(5038) >= 0) { + mes "[Lero]"; + mes "You can ask Poby about the best"; + mes "method of gathering nuts where you"; + mes "met him in forest. He should be"; + mes "able to tell you the technique."; + next; + mes "[Lero]"; + mes "Although he is lazy and rather"; + mes "careless, he is the best worker."; + close; + } else if (checkquest(5039) >= 0) { + if(countitem(6402) > 59) { + mes "[Lero]"; + mes "One two three four,...."; + next; + mes "[Lero]"; + mes "60 pieces of nuts, exactly. I will"; + mes "press the oil right now."; + next; + emotion e_sry; + mes "[Lero]"; + mes "It takes sometime, so go back to"; + mes "Mr. Memo and tell him the"; + mes "situation. Alse tell him that I'm"; + mes "sorry for the delay."; + delitem 6402,60; + changequest 5039,5040; + close; + } + mes "[Lero]"; + mes "Did you gather the nuts already?"; + next; + mes "[Lero]"; + mes "One, two...."; + next; + mes "[Lero]"; + mes "This isn't the number I ordered from Poby."; + next; + mes "[Lero]"; + mes "It's going to be difficult if it is"; + mes "delayed more, so hurry up and bring me ^FF000060^000000 ^0000FFPalm Oil Fruit^000000."; + close; + } else if (checkquest(5040) >= 0) { + mes "[Lero]"; + mes "It takes sometime, so go back to"; + mes "Mr. Memo and tell him the"; + mes "situation. Alse tell him that I'm"; + mes "sorry for the delay."; + close; + } else if (checkquest(5041) >= 0) { + mes "[Lero]"; + mes "You've come at the right time."; + mes "I just finished making the palm tree oil."; + next; + mes "[Lero]"; + mes "It is heavier than you might think,"; + mes "so be careful when carrying it."; + next; + emotion e_sry; + mes "[Lero]"; + mes "Oh, tell Mr. Memo that I'm sorry"; + mes "for the late delivery, and explain"; + mes "that it wasn't my fault."; + changequest 5041,5042; + getitem 6401,30; + close; + } else if (checkquest(5042) >= 0) { + mes "[Lero]"; + mes "It is heavier than you might think,"; + mes "so be careful when carrying it."; + next; + emotion e_sry; + mes "[Lero]"; + mes "Oh, tell Mr. Memo that I'm sorry"; + mes "for the late delivery, and explain"; + mes "that it wasn't my fault."; + close; + } + mes "[Lero]"; + mes "What's going on with Poby...?"; + mes "Why hasn't he come back...?"; + next; + mes "- Seems like he is waitting for someone -"; + close; + +L_Count: + mes "[Lero]"; + mes "One, two, three, four...."; + next; + mes "[Lero]"; + mes "Extracly "+getarg(0)+" pieces of oil palm"; + mes "nuts. Let you exchange them with oil right now."; + next; + mes "[Lero]"; + mes "As I told you before, it is"; + mes "heavier than you might think, so"; + mes "be careful when carrying this."; + delitem 6402, getarg(0); + getitem 6401, getarg(0)/2; + return; +} + +// NPC - Poby +//============================================================ + +dew_fild01,259,48,4 script Poby#dew_drink 538,{ + + if(dewata_oldman >= 2) { + mes "[Poby]"; + mes "Oh? ^FF0000" + strcharinfo(0) +"^000000, we meet again. What's going on?"; + next; + if(select("Why'd you come here?:I want to know how to get fruit.")==2) { + mes "[Memo]"; + mes "It is easy for a beginner like"; + mes "you. All you have to do is"; + mes "shake or kick the tree."; + next; + mes "[Memo]"; + mes "It might be dangerous, so you"; + mes "must always wear a ^0000FFSafety Helmet^000000."; + close; + } + mes "[Poby]"; + mes "I'm taking a walk because I think"; + mes "it will make my back ache less."; + close; + } + if (checkquest(5036) >= 0) { + emotion e_swt2; + mes "[Poby]"; + mes "Ah~ backache.."; + next; + select("Are you Poby?"); + mes "[Poby]"; + mes "Who are you?"; + next; + mes "[Poby]"; + mes "I don't know you, but"; + mes "are you a fan of mine?"; + mes "I'm Poby, the best fruit"; + mes "hunter in the Jaty tribe."; + next; + emotion e_what; + mes "[Poby]"; + mes "You're here for my autograph?"; + next; + select("Lero made me come here."); + mes "[Poby]"; + mes "Ah! Mr.Lero made you come here. I"; + mes "can't move because I hurt my back"; + mes "while climbing a tree."; + next; + emotion e_sob; + mes "[Poby]"; + mes "!#@$*&!@$&!@$%!$#*&!@#$"; + next; + mes "[Poby]"; + mes "And I've still never had a girlfriend..."; + next; + emotion e_sob; + mes "[Poby]"; + mes "!#@$*&!@$&!@$%!$#*&!@#$"; + next; + mes "[Poby]"; + mes "Ah! Sorry. Tell Mr. Lero that I'll"; + mes "go back if I can find a way to move."; + changequest 5036,5037; + next; + mes "[Poby]"; + mes "I can't move at all 'cuz of this backache..."; + close; + } else if (checkquest(5037) >= 0) { + mes "[Poby]"; + mes "Ah! Sorry. Tell Mr. Lero that I'll"; + mes "go back if I can find a way to move."; + next; + emotion e_swt2; + mes "[Poby]"; + mes "I can't move at all 'cuz of this backache..."; + close; + } else if (checkquest(5038) >= 0) { + emotion e_swt2; + mes "[Poby]"; + mes "Ah~ Backache.."; + next; + mes "[Poby]"; + mes "Oh!! You're-- Let me guess..."; + next; + emotion e_dots; + mes "[Poby]"; + mes "... ... ... ..."; + next; + mes "[Poby]"; + mes "...you're back! You plan to"; + mes "catch ^0000FFPalm Oil Fruit^000000 instead of me, right?"; + next; + mes "[Poby]"; + mes "It is hard for beginners to catch"; + mes "the fruit like me. No, it's"; + mes "impossible."; + next; + mes "[Poby]"; + mes "Masters usually climb the tree to"; + mes "catch the fruit, but you're a"; + mes "beginner..."; + next; + mes "[Poby]"; + mes "It's easiest for beginners"; + mes "to shake or kick the tree."; + mes "It might be dangerous, so remember to wear a ^0000FFSafety Helmet^000000."; + changequest 5038,5039; + next; + emotion e_gasp; + mes "[Poby]"; + mes "Ok! Gather ^FF000060 ^0000FFPalm Oil Fruit^000000 and"; + mes "bring it to Mr. Lero."; + close; + } else if (checkquest(5039) >= 0) { + if(countitem(6402) > 59) { + mes "[Poby]"; + mes "You've got all the fruits."; + mes "Bring them to Mr. Lero."; + close; + } + mes "[Poby]"; + mes "It's easiest for beginners like"; + mes "you to shake or kick the tree."; + next; + mes "[Poby]"; + mes "It might be dangerous, so always"; + mes "wear a ^0000FFSafety Helmet^000000."; + next; + mes "[Poby]"; + mes "Gather ^FF000060 ^0000FFPalm Oil Fruit^000000 and"; + mes "bring it to Mr. Lero."; + close; + } + emotion e_sob; + mes "[Poby]"; + mes "Ah~ my freakin' back is killing me."; + close; +} + +// NPC - Tribal Chief Paiko +//============================================================ + +dew_in01,15,49,5 script Tribal Chief Paiko#dew_ 540,{ + set .@n$, "[Tribal Chief Paiko]"; + if(dewata_legend == 2) { + mes .@n$; + mes "I can see you are a traveler"; + mes "from another land."; + mes "What brings you here?"; + next; + if(select("I overheard the story by accident:I have nothing to say.")==2) { + mes .@n$; + mes "You are wasting your time here."; + mes "There are many other attractions"; + mes "around our village."; + close; + } + mes .@n$; + mes "What do you mean?"; + mes "You heard the story about the crown?"; + mes "You must have heard incorrectly."; + mes "I have nothing to say to you"; + mes "regarding such things."; + next; + select("Kasyapa was talking about a crown..."); + mes .@n$; + mes "It seems that ^0000FFKasyapa^000000 has told you"; + mes "a tall tale, and I appreciate your"; + mes "concern about our affairs."; + next; + mes .@n$; + mes "It's not something that a stranger"; + mes "like you could understand. Make"; + mes "like a tree, and get out of here."; + set dewata_legend,3; + close; + } else if(dewata_legend == 3) { + mes .@n$; + mes "There are many other attractions around our village."; + next; + mes .@n$; + mes "If it's about the crown, I want"; + mes "you to stop asking about it."; + mes "Please leave."; + close; + } else if(dewata_legend == 4) { + if (checkquest(9155) >= 0) { + if(countitem(6405) > 14) { + mes .@n$; + mes "Oh! You've found all of them."; + mes "Look! The feathers you have found"; + mes "are sparkling, aren't they?"; + mes "Alright, let me begin crafting"; + mes "the ^4AA02CJaty Crown^000000. I feel that"; + mes "I am ready."; + next; + specialeffect EF_MAPPILLAR3; + mes "- Suddenly, a large noise begins"; + mes "to boom as you and ^0000FFPaiko^000000 are"; + mes "surrounded by warm and bright"; + mes "sparkling energy like a thousand"; + mes "tinkling fireflies. -"; + changequest 9155,9156; + delitem 6405,15; + close; + } + mes .@n$; + mes "It seems that you have yet to find"; + mes "the materials to make the ^4AA02CJaty Crown^000000."; + next; + mes .@n$; + mes "The symbol of the Jaty Tribe is"; + mes "also a famous mystical creature."; + mes "Find ^FF000015 ^4AA02CCendrawasih Feathers^000000 and"; + mes "bring them to me."; + close; + } else if (checkquest(9156) >= 0) { + mes .@n$; + mes "With your help the ^4AA02CJaty Crown^000000 is"; + mes "coming along nicely."; + mes "It will take some time until the"; + mes "task is finished, so please wait a little."; + next; + mes .@n$; + mes "After the ^4AA02CJaty Crown^000000 is complete,"; + mes "there is a gift that I want to give"; + mes "to you."; + next; + mes .@n$; + mes "Ah, you should go see ^0000FFSage"; + mes "Kasyapa^000000, who really wants to"; + mes "reward you with something."; + changequest 9156,9157; + close; + } else if (checkquest(9157) >= 0) { + mes .@n$; + mes "Ah, you should go see ^0000FFSage"; + mes "Kasyapa^000000, who really wants to"; + mes "reward you with something."; + close; + } + mes .@n$; + mes "I've been waiting for you."; + mes "According to ^0000FFSage Kasyapa^000000,"; + mes "you are willing to help us make"; + mes "a crown for our tribe."; + next; + select("Crown-a-what's it?"); + mes .@n$; + mes "The tribe leader has the duty of"; + mes "making and protecting the ^4AA02CJaty"; + mes "Crown^000000 to uphold the tribe's pride"; + mes "and honor."; + next; + mes .@n$; + mes "But ever since I became the tribe"; + mes "leader, there have been difficulties"; + mes "making it."; + next; + mes "[Tribale Chief Paiko]"; + mes "According to ^0000FFSage Kasyapa^000000, you can"; + mes "help us create a ^4AA02CJaty Crown^000000."; + next; + mes .@n$; + mes "Do you think you can help?"; + mes "Your efforts will not go"; + mes "unrewarded."; + next; + if(select("I will help.:Sorry, I cannot help now.")==2) { + mes .@n$; + mes "That's really sad."; + mes "If you ever change"; + mes "your mind, please come again."; + mes "I will be waiting."; + close; + } + mes .@n$; + mes "Many thanks to you, stranger"; + mes "If Kasyapa trusts you, then I know"; + mes "that you can help us make a"; + mes "^4AA02CJaty Crown^000000."; + mes "What you can do to"; + mes "help us is very simple."; + next; + mes .@n$; + mes "The symbol of the Jaty Tribe is"; + mes "also a famous mystical creature."; + mes "Find ^FF000015 ^4AA02CCendrawasih Feathers^000000 and"; + mes "bring them to me."; + mes "Our faith is in you, stranger."; + setquest 9155; + close; + } else if(dewata_legend == 5) { + if (checkquest(9158) >= 0) { + L_Request: + mes .@n$; + mes "It seems that you haven't"; + mes "delivered the ^4AA02CSatay^000000 yet."; + if (checkquest(9158) >= 0) mes "Did you run into any problems?"; + else if (checkquest(9160) >= 0) mes "Is there something wrong?"; + else if (checkquest(9162) >= 0) mes "Anything happened?"; + else if (checkquest(9163) >= 0) mes "Anything go wrong?"; + next; + switch(select("I ate them all.:Who do I deliver this to...?:Nothing.")) { + case 1: + if (checkquest(9158) >= 0 || checkquest(9160) >= 0) { + mes .@n$; + mes "Huh... so you couldn't resist"; + mes "yourself, eh?"; + mes "Don't blame yourself too much. It"; + mes "is difficult resist the ^4AA02CSatay^000000's"; + mes "addicting aroma."; + } else if (checkquest(9162) >= 0 || checkquest(9164) >= 0) { + mes .@n$; + mes "I warned you not to give in"; + mes "to the sweet smells of the ^4AA02CSatay^000000."; + } + next; + mes .@n$; + mes "Our tribe is short on food"; + mes "supplies so we can't give out more"; + mes "of our ^4AA02CSatay^000000. But there's a rumor"; + mes "that the restaurant owner in"; + mes "Dewata Island is making and"; + mes "selling their own ^4AA02CSatay^000000."; + next; + mes .@n$; + mes "It is not as tasty as our tribe's"; + mes "recipe, but this is an urgent task."; + mes "Just find and deliver it."; + close; + case 2: + if (checkquest(9158) >= 0) { + mes .@n$; + mes "Our tribe warriors come to mind"; + mes "to deliver the food to share ^4AA02CSatay^000000"; + mes "with warriors in the village."; + } else if (checkquest(9160) >= 0) { + mes .@n$; + mes "The second person to deliver the"; + mes "^4AA02CSatay^000000 to is someone who stays"; + mes "across the river."; + next; + mes .@n$; + mes "That is the ^0000FFTribe Manager^000000."; + mes "Please deliver it to him before it cools down."; + } else if (checkquest(9162) >= 0) { + mes .@n$; + mes "The third person to deliver the"; + mes "^4AA02CSatay^000000 to is the ^0000FFGatekeeper"; + mes "of Krakatau Volcano^000000."; + mes "Please deliver it to him before it cools down."; + } else if (checkquest(9164) >= 0) { + mes .@n$; + mes "The last person to deliver the"; + mes "^4AA02CSatay^000000 to is the ^0000FFBorobudur"; + mes "Temple Manager^000000, who is in"; + mes "^C35817Dewata Island^000000."; + mes "Please deliver it to him before it cools down."; + } + close; + case 3: + mes .@n$; + mes "Alright! Deliver it right now!"; + close; + } + } else if (checkquest(9159) >= 0) { + mes .@n$; + mes "Ah, the next person whom I want"; + mes "the ^4AA02CSatay^000000 delivered to is someone"; + mes "who stays across from the river,"; + mes "the ^0000FFTribe Manager^000000."; + next; + mes .@n$; + mes "To this end, I will give you 2"; + mes "more servings of ^4AA02CSatay^000000."; + next; + mes .@n$; + mes "If you are attracted by the aroma"; + mes "of the ^4AA02CSatay^000000, you may eat one."; + mes "But if you eat more you won't be"; + mes "able to share ^4AA02CSatay^000000 with our friends."; + changequest 9159,9160; + getitem 11533,2; + close; + } + else if (checkquest(9160) >= 0) goto L_Request; + else if (checkquest(9161) >= 0) { + mes .@n$; + mes "Oh, you delivered it already?"; + mes "The third person to deliver the"; + mes "^4AA02CSatay^000000 to is the ^0000FFGatekeeper of Krakatau Volcano^000000."; + next; + mes .@n$; + mes "I'll give you 2 more servings"; + mes "of ^4AA02CSatay^000000 for this delivery."; + next; + mes .@n$; + mes "And just like before, don't give"; + mes "in to the smell and try not to eat the ^4AA02CSatay^000000."; + changequest 9161,9162; + getitem 11533,2; + close; + } + else if (checkquest(9162) >= 0) goto L_Request; + else if (checkquest(9163) >= 0) { + mes .@n$; + mes "Oh, you delivered it!"; + mes "Last person to deliver ^4AA02CSatay^000000 to is"; + mes "the ^0000FFBorobudur Temple Manager^000000, who is"; + mes "on ^C35817Dewata Island^000000."; + next; + mes .@n$; + mes "I will give you 2 more ^4AA02CSatay^000000."; + next; + mes .@n$; + mes "And just like before, don't give"; + mes "in to the smell and try not to eat the ^4AA02CSatay^000000."; + changequest 9163,9164; + getitem 11533,2; + close; + } + else if (checkquest(9164) >= 0) goto L_Request; + else if (checkquest(9165) >= 0) { + mes .@n$; + mes "Oh, you delivered it!"; + mes "You've done good work."; + mes "It has been a good time for"; + mes "all of us to share and enjoy"; + mes "this happy occasion together."; + mes "Thank you."; + next; + mes .@n$; + mes "While you were on the way back"; + mes "from delivering the ^4AA02CSatay^000000,"; + mes "the ^4AA02CJaty Crown^000000 has been made."; + mes "Its ambience and radiance make it a"; + mes "truly flawless crown."; + next; + mes .@n$; + mes "Also, you brought more than enough"; + mes "materials, so after making the ^4AA02CJaty"; + mes "Crown^000000 we were able to craft a"; + mes "similar one for you to keep."; + next; + mes .@n$; + mes "It's not the same as the original,"; + mes "but it has its own specialty. It is"; + mes "my reward to thank you for what you"; + mes "have done."; + next; + mes .@n$; + mes "Made with our tribe's secret"; + mes "marinade, try the ^4AA02CSatay^000000."; + mes "It was made with all our heart"; + mes "especially for you, but don't"; + mes "forget to share it with friends."; + next; + mes .@n$; + mes "You've done good work."; + mes "Whatever you do in the future, I"; + mes "wish for you to have a life which"; + mes "is full of fortune and joy"; + mes "As Chief of the ^C35817Jaty Tribe^000000, I wish"; + mes "you the best of luck!!"; + set dewata_legend,6; + erasequest 9165; + getitem 11533,5; + getitem 18520,1; + close; + } + mes .@n$; + mes "With your support I am not"; + mes "worried about creating the"; + mes "^4AA02CJaty Crown^000000. I really appreciate it."; + next; + mes .@n$; + mes "A delightful day like today should"; + mes "be celebrated. Don't you think?"; + mes "So I prepared to sample the"; + mes "special food of our tribe, called ^4AA02CSatay^000000."; + next; + mes .@n$; + mes "But, this ^4AA02CSatay^000000 is too tasty for"; + mes "just the two of us to share, so we"; + mes "would like to share it with people"; + mes "out in the village."; + next; + mes .@n$; + mes "What do you think?"; + mes "In order to share news that"; + mes "the ^4AA02CJaty Crown^000000 is being"; + mes "sucessfully crafted, and to share"; + mes "the delicious ^4AA02CSatay^000000 with our"; + mes "friends, I need your help."; + next; + mes .@n$; + mes "Are you up for a short delivery job?"; + next; + if(select("Of course, I can help:Sorry, I am too busy to help.")==2) { + mes .@n$; + mes "I believed you would definitely help me..."; + mes "It's a little disappointing."; + mes "If you ever change your mind"; + mes "come speak with me again."; + close; + } + mes .@n$; + mes "Oh!, I knew you'd help."; + mes "Our tribe's warriors come to my"; + mes "mind before we share with anyone else."; + mes "Please share ^4AA02CSatay^000000 with the"; + mes "warriors in the village."; + next; + mes .@n$; + mes "For the moment I will give you 2 ^4AA02CSatay^000000."; + next; + mes .@n$; + mes "You may be tempted by the aroma"; + mes "of our ^4AA02CSatay^000000, and you may eat one."; + mes "But if you eat more than that you won't"; + mes "be able to share the ^4AA02CSatay^000000"; + mes "with our village friends."; + setquest 9158; + getitem 11533,2; + close; + } else if(dewata_legend == 6) { + mes .@n$; + mes "You've done good work."; + mes "Whatever you do in the future, I"; + mes "wish for you to have a life which"; + mes "is full of fortune and joy."; + mes "As Chief of the ^C35817Jaty Tribe^000000, I wish"; + mes "you the best of luck!!"; + close; + } + mes .@n$; + mes "I am the leader of this ^0000FFPaiko^000000 tribe."; + close; +} + +// NPC - Sage Kasyapa +//============================================================ + +dew_in01,22,48,3 script Sage Kasyapa#dew_ 541,{ + + if(dewata_legend == 2 || dewata_legend == 3) { + mes "[Sage Kasyapa]"; + mes "Instead of talking to me, why"; + mes "don't you talk to our tribe's"; + mes "leader, ^0000FFChief Paiko^000000?"; + close; + } else if(dewata_legend == 4) { + if (checkquest(9155) >= 0) { + mes "[Sage Kasyapa]"; + mes "I heard you could help making"; + mes "a crown for our tribe leader."; + mes "You will certainly be a big"; + mes "help to us... I trust my"; + mes "own eyes and the"; + mes "sparking light..."; + next; + mes "[Sage Kasyapa]"; + mes "The symbol of the Dayak Tribe"; + mes "and a famous mystical creature."; + mes "Find ^FF000015 ^4AA02CCendrawasih Feathers^000000"; + mes "and bring them to ^0000FFChief Paiko^000000."; + close; + } else if (checkquest(9156) >= 0) { + mes "[Sage Kasyapa]"; + mes "With the feathers that you have"; + mes "brought, creating a ^4AA02CJaty Crown^000000 is"; + mes "going much more smoothly."; + mes "Go see ^0000FFChief Paiko^000000."; + close; + } else if (checkquest(9157) >= 0) { + mes "[Sage Kasyapa]"; + mes "There is something"; + mes "I wish to give to you"; + mes "as a reward for your help."; + mes "Please, it would honor us if you would take it."; + next; + specialeffect2 EF_PNEUMA; + mes "[Sage Kasyapa]"; + mes "The reason I asked you to embark"; + mes "on this important mission is"; + mes "because of this feather."; + mes "Handed down from generation to"; + mes "generation, the legendary origin of"; + mes "the crown is this feather..."; + next; + mes "[Sage Kasyapa]"; + mes "I saw this feather begin to shine"; + mes "when you came here."; + mes "I knew you were a person who"; + mes "would endeavour to help us."; + mes "On behalf of my people,"; + mes "I give my thanks."; + next; + mes "[Sage Kasyapa]"; + mes "Also, the feather you received"; + mes "isn't just valuable on it's own,"; + mes "it also is an acknowledgment from our tribe."; + next; + mes "[Sage Kasyapa]"; + mes "Like ^C35817Krakatau Volcano^000000, when you"; + mes "venture into dangerous areas like"; + mes "that, if you display this feather,"; + mes "you can get help from the tribe."; + mes "Anyway, I really thank you."; + set dewata_legend,5; + erasequest 9157; + getitem 6406,1; + close; + } + mes "[Sage Kasyapa]"; + mes "I've been waiting for you."; + mes "Our tribe's leader has a favor"; + mes "to ask of you."; + mes "Please talk to ^0000FFChief Paiko^000000."; + close; + } else if(dewata_legend >= 5) { + mes "[Sage Kasyapa]"; + mes "Also, the feather you received"; + mes "isn't just valuable on it's own,"; + mes "it also is an acknowledgment from our tribe."; + next; + mes "[Sage Kasyapa]"; + mes "Like ^C35817Krakatau Volcano^000000, when you"; + mes "venture into dangerous areas like"; + mes "that, if you display this feather"; + mes "you can get help from the tribe."; + mes "Anyway, I really thank you."; + close; + } + mes "[Sage Kasyapa]"; + mes "Your earnest expression tells me"; + mes "that you have something to say"; + mes "you might as well tell me what it is."; + next; + if(select("I overheard talk about a crown...:Just looking for the gift shop.")==2) { + emotion e_hmm,0,"Tribal Chief Paiko#dew_"; + mes .@n$; + mes "Really?"; + mes "It looked as if your eyes"; + mes "wanted to say something."; + close; + } + mes "[Sage Kasyapa]"; + mes "Oh, you heard about the crown, eh?"; + mes "Ah, this old man's got loose lips."; + mes "We should have used a little more"; + mes "discretion..."; + next; + select("Anything I can do to help?"); + mes "[Sage Kasyapa]"; + mes "I can see in your eyes"; + mes "that you are a trustworthy sort... but..."; + next; + specialeffect EF_PNEUMA; + mes "- There is a brief twinkling"; + mes "of light. All of a sudden ^0000FFKasyapa^000000"; + mes "seems taken aback. -"; + next; + mes "[Sage Kasyapa]"; + mes "Ah, the feather......!"; + mes "Instead of talking to me, why don't"; + mes "you talk to our tribe's leader,"; + mes "^0000FFPaiko^000000?"; + set dewata_legend,2; + close; +} + +// NPC - Palm Tree +//============================================================ + +- script Palm Tree -1,{ + + if (checkquest(5039) >= 0 || checkquest(5046) >= 0 || checkquest(5048) >= 0 || checkquest(5050) >= 0) { + if ((checkquest(5039) >= 0) && countitem(6402) > 59 || (checkquest(5046) >= 0 && countitem(6402) > 19) || (checkquest(5048) >= 0 && countitem(6402) > 29) || (checkquest(5050) >= 0 && countitem(6402) > 39)) { + mes "- The palm tree denies your greedy hands. -"; + close; + } + mes "There's palm tree."; + mes "You can kick or shake it."; + mes "What do you want to do?"; + next; + switch(select("Shake the tree:Kick the tree")) { + case 1: + specialeffect EF_HITLINE2; + mes "You shake the palm tree."; + next; + mes "... ... ..."; + next; + set .@palm_rand,rand(1,20); + if (.@palm_rand > 0 && .@palm_rand < 5) { + set .@pstone,rand(1,3); + if (.@pstone == 1) { + mes "As you shake the palm tree like a"; + mes "polaroid picture..."; + mes "a ^FF0000stone^000000 falls out."; + } else if (.@pstone == 2) { + mes "As you shake the palm tree"; + mes "enough to move its branchs..."; + mes "a ^FF0000Stone^000000 falls out."; + } else if (.@pstone == 3) { + mes "As you shake the palm tree like"; + mes "a crazed Alchemist..."; + mes "a ^FF0000Stone^000000 falls out."; + } + getitem 7049,1; + } else if (.@palm_rand == 13 || .@palm_rand == 12) { + if(getequipid(EQI_HEAD_TOP) == 5009) { + mes "- Something smashes down on your"; + mes "head, right where that soft spot"; + mes "is, but it's ok, you're safe!"; + mes "'cuz you already equipped ^0000FFSafety Helmet^000000. -"; + close2; + specialeffect EF_BASH; + initnpctimer; + disablenpc "Palm Tree#"+strnpcinfo(2); + end; + } + mes "As you shake the palm tree with"; + mes "wreckless abandon..."; + mes "something smashes down on your"; + mes "head, right where that soft spot"; + mes "is, $#*@! that's a one in a million shot."; + close2; + initnpctimer; + disablenpc "Palm Tree#"+strnpcinfo(2); + warp "dew_fild01",371,211; + percentheal -10,0; + end; + } else if (.@palm_rand >= 5 && .@palm_rand < 9) { + set .@pleaf,rand(1,3); + if (.@pleaf == 1) { + mes "As you shake the palm tree like a"; + mes "salt shaker..."; + mes "a ^FF0000Great Leaf^000000 falls out."; + } else if (.@pleaf == 2) { + mes "As you shake the palm tree with"; + mes "furious violence..."; + mes "a ^FF0000Great Leaf^000000 falls out."; + } else if (.@pleaf == 3) { + mes "As you shake the palm tree"; + mes "enough to move its branchs..."; + mes "a ^FF0000Great Leaf^000000 falls out."; + } + getitem 7198,1; + } else if (.@palm_rand >= 9 && .@palm_rand < 12) { + set .@pfruit,rand(1,6); + if (.@pfruit == 1) { + mes "Once shaking a palm tree"; + mes "an ^0000FFOil Palm Fruit^000000 falls out."; + mes "- Fell in a Hurly-Burly.. -"; + mes "- Fell in a Hurly-Burly.. -"; + } else if (.@pfruit == 2) { + mes "As you shake the palm tree with"; + mes "all of your strength..."; + mes "tons of ^0000FFOil Palm Fruit^000000 crashes down from the tree."; + } else if (.@pfruit == 3) { + mes "As you shake the palm tree like"; + mes "a disobedient child..."; + mes "an ^0000FFOil Palm Fruit^000000 falls out."; + } else if (.@pfruit == 4) { + mes "As you shake the palm tree"; + mes "enough to move its branchs..."; + mes "an ^0000FFOil Palm Fruit^000000 falls out."; + } else if (.@pfruit == 5) { + mes "Once shaking a palm tree"; + mes "an ^0000FFOil Palm Fruit^000000 falls out."; + } else if (.@pfruit == 6) { + mes "As you shake the palm tree like"; + mes "a crazed Alchemist..."; + mes "an ^0000FFOil Palm Fruit^000000 falls out."; + } + getitem 6402,rand(1,5); + } else if (.@palm_rand > 13 && .@palm_rand < 17) { + set .@pworm,rand(1,3); + if (.@pworm == 1){ + mes "As you shake the palm tree like"; + mes "a disobedient child..."; + mes "a ^FF0000Worm Peeling^000000 falls out"; + } else if (.@pworm == 2) { + mes "As you shake the palm tree like"; + mes "a crazed Alchemist..."; + mes "a ^FF0000Worm Peeling^000000 falls out."; + } else if (.@pworm == 3) { + mes "As you shake the palm tree with"; + mes "all of your strength..."; + mes "tons of ^FF0000Worm Peeling^000000 crashes down from the tree."; + } + getitem 955,1; + } else if (.@palm_rand >= 17 && .@palm_rand <= 19) { + set .@pnothing,rand(1,3); + if (.@pnothing == 1) { + mes "As you shake the palm tree like"; + mes "a crazed Alchemist..."; + mes "but nothing happens."; + } else if (.@pnothing == 2) { + mes "As you shake the palm tree"; + mes "with wreckless abandon..."; + mes "but nothing happens."; + } else if (.@pnothing == 3) { + mes "As you shake the palm tree"; + mes "enough to move its branchs..."; + mes "but nothing happens."; + } + } + close2; + specialeffect EF_BASH; + initnpctimer; + disablenpc "Palm Tree#"+strnpcinfo(2); + end; + case 2: + specialeffect EF_BASH; + mes "You kick the palm tree swiftly with"; + mes "all your might."; + next; + mes "... ... ..."; + next; + set .@palm_rand,rand(1,20); + if (.@palm_rand > 0 && .@palm_rand < 5) { + set .@pstone,rand(1,3); + if (.@pstone == 1) { + mes "As you give the palm tree"; + mes "a big boot..."; + mes "a ^FF0000Stone^000000 falls out."; + } else if (.@pstone == 2) { + mes "As you give the palm tree"; + mes "a strong kick like a scorned"; + mes "woman..."; + mes "a ^FF0000stone^000000 falls out."; + } else if (.@pstone == 3) { + mes "As you give the palm tree"; + mes "a good'ole football punt..."; + mes "a ^FF0000stone^000000 falls out."; + } + getitem 7049,1; + } else if (.@palm_rand == 13 || .@palm_rand == 12) { + if(getequipid(EQI_HEAD_TOP) == 5009) { + mes "- Something smashes down on your"; + mes "head, right where that soft spot"; + mes "is, but it's ok, you're safe!"; + mes "'cuz you already equipped ^0000FFSafety Helmet^000000. -"; + close2; + specialeffect EF_BASH; + initnpctimer; + disablenpc "Palm Tree#"+strnpcinfo(2); + end; + } + mes "As you shake the palm tree with"; + mes "wreckless abandon..."; + mes "something smashes down on your"; + mes "head, right where that soft spot"; + mes "is, $#*@! that's a one in a million shot."; + close2; + initnpctimer; + disablenpc "Palm Tree#"+strnpcinfo(2); + warp "dew_fild01",371,211; + percentheal -10,0; + end; + } else if (.@palm_rand >= 5 && .@palm_rand < 9) { + set .@pleaf,rand(1,3); + if (.@pleaf == 1) { + mes "Once kicking a palm tree"; + mes "with all power"; + mes "a ^FF0000Great Leaf^000000 falls out."; + } else if (.@pleaf == 2) { + mes "As you give the palm tree"; + mes "a good'ole football punt..."; + mes "a ^FF0000Great Leaf^000000 falls out."; + } else if (.@pleaf == 3) { + mes "As you give the palm tree"; + mes "a quick kick to it's"; + mes "proverbial shin..."; + mes "a ^FF0000Great Leaf^000000 falls out."; + } + getitem 7198,1; + } else if (.@palm_rand >= 9 && .@palm_rand < 12) { + set .@pfruit,rand(1,6); + if (.@pfruit == 1) { + mes "Once kicking a palm tree"; + mes "with all power..."; + mes "an ^0000FFOil Palm Tree^000000 falls out."; + mes "- Fell in a Hurly-Burly.. -"; + mes "- Fell in a Hurly-Burly.. -"; + } else if (.@pfruit == 2) { + mes "As you give the palm tree"; + mes "a quick kick to it's"; + mes "proverbial shin..."; + mes "an ^0000FFOil Palm Fruit^000000 falls out."; + } else if (.@pfruit == 3) { + mes "As you give the palm tree"; + mes "a good 'ole punt..."; + mes "tons of ^0000FFOil Palm Fruit^000000 crashs down"; + mes "from the tree."; + } else if (.@pfruit == 4) { + mes "As you give the palm tree"; + mes "a chuck norris kick..."; + mes "an ^0000FFOil Palm Fruit^000000 falls out."; + } else if (.@pfruit == 5) { + mes "As you give the palm tree"; + mes "a strong dropkick..."; + mes "tons of ^0000FFOil Palm Fruit^000000 crashs down"; + mes "from the tree."; + } else if (.@pfruit == 6) { + mes "As you give the palm tree"; + mes "a good'ole football punt..."; + mes "an ^0000FFOil Palm Fruit^000000 falls out."; + } + getitem 6402,rand(1,5); + } else if (.@palm_rand > 13 && .@palm_rand < 17) { + set .@pworm,rand(1,3); + if (.@pworm == 1) { + mes "As you give the palm tree"; + mes "a strong dropkick..."; + mes "a ^FF0000Worm Peeling^000000 falls out"; + } else if (.@pworm == 2) { + mes "Once kicking a palm tree"; + mes "with all power..."; + mes "a ^FF0000Worm Peeling^000000 falls out."; + } else if (.@pworm == 3) { + mes "As you give the palm tree"; + mes "a chuck norris kick..."; + mes "tons of ^FF0000Worm Peeling^000000 crashes down from the tree."; + } + getitem 955,1; + } else if (.@palm_rand >= 17 && .@palm_rand <= 19) { + set .@pnothing,rand(1,3); + if (.@pnothing == 1) { + mes "As you give the palm tree"; + mes "a good'ole roundhouse..."; + mes "but nothing happens."; + } else if (.@pnothing == 2) { + mes "As you give the palm tree"; + mes "a strong kick like a scormed"; + mes "woman..."; + mes "but nothing happens."; + } else if (.@pnothing == 3) { + mes "As you give the palm tree"; + mes "a thunderous kick..."; + mes "but nothing happens."; + } + } + close2; + specialeffect EF_BASH; + initnpctimer; + disablenpc "Palm Tree#"+strnpcinfo(2); + end; + } + } else { + mes "- There's a palm tree facing the cool wind. -"; + close; + } + end; + +OnTimer60000: + enablenpc "Palm Tree#"+strnpcinfo(2); + stopnpctimer; + end; +} +dew_fild01,209,201,0 duplicate(Palm Tree) Palm Tree#drink01 844 +dew_fild01,338,121,0 duplicate(Palm Tree) Palm Tree#drink02 844 +dew_fild01,247,62,0 duplicate(Palm Tree) Palm Tree#drink03 844 +dew_fild01,358,136,0 duplicate(Palm Tree) Palm Tree#drink04 844 +dew_fild01,276,73,0 duplicate(Palm Tree) Palm Tree#drink05 844 +dew_fild01,326,147,0 duplicate(Palm Tree) Palm Tree#drink06 844 +dew_fild01,278,63,0 duplicate(Palm Tree) Palm Tree#drink07 844 +dew_fild01,334,107,0 duplicate(Palm Tree) Palm Tree#drink08 844 +dew_fild01,301,88,0 duplicate(Palm Tree) Palm Tree#drink09 844 +dew_fild01,307,146,0 duplicate(Palm Tree) Palm Tree#drink10 844 +dew_fild01,314,72,0 duplicate(Palm Tree) Palm Tree#drink11 844 +dew_fild01,325,159,0 duplicate(Palm Tree) Palm Tree#drink12 844 +dew_fild01,320,68,0 duplicate(Palm Tree) Palm Tree#drink13 844 +dew_fild01,339,163,0 duplicate(Palm Tree) Palm Tree#drink14 844 +dew_fild01,345,88,0 duplicate(Palm Tree) Palm Tree#drink15 844 +dew_fild01,346,193,0 duplicate(Palm Tree) Palm Tree#drink16 844 +dew_fild01,344,71,0 duplicate(Palm Tree) Palm Tree#drink17 844 +dew_fild01,355,193,0 duplicate(Palm Tree) Palm Tree#drink18 844 +dew_fild01,358,93,0 duplicate(Palm Tree) Palm Tree#drink19 844 +dew_fild01,341,261,0 duplicate(Palm Tree) Palm Tree#drink20 844 +dew_fild01,70,196,0 duplicate(Palm Tree) Palm Tree#drink21 844 +dew_fild01,363,219,0 duplicate(Palm Tree) Palm Tree#drink22 844 +dew_fild01,289,302,0 duplicate(Palm Tree) Palm Tree#drink23 844 +dew_fild01,97,145,0 duplicate(Palm Tree) Palm Tree#drink24 844 +dew_fild01,299,107,0 duplicate(Palm Tree) Palm Tree#drink25 844 +dew_fild01,206,99,0 duplicate(Palm Tree) Palm Tree#drink26 844 +dew_fild01,355,113,0 duplicate(Palm Tree) Palm Tree#drink27 844 +dew_fild01,188,72,0 duplicate(Palm Tree) Palm Tree#drink28 844 +dew_fild01,278,136,0 duplicate(Palm Tree) Palm Tree#drink29 844 +dew_fild01,238,80,0 duplicate(Palm Tree) Palm Tree#drink30 844 +dew_fild01,258,128,0 duplicate(Palm Tree) Palm Tree#drink31 844 +dew_fild01,252,97,0 duplicate(Palm Tree) Palm Tree#drink32 844 +dew_fild01,240,125,0 duplicate(Palm Tree) Palm Tree#drink33 844 +dew_fild01,256,98,0 duplicate(Palm Tree) Palm Tree#drink34 844 +dew_fild01,225,117,0 duplicate(Palm Tree) Palm Tree#drink35 844 +dew_fild01,119,42,0 duplicate(Palm Tree) Palm Tree#drink36 844 +dew_fild01,219,121,0 duplicate(Palm Tree) Palm Tree#drink37 844 +dew_fild01,279,93,0 duplicate(Palm Tree) Palm Tree#drink38 844 +dew_fild01,209,137,0 duplicate(Palm Tree) Palm Tree#drink39 844 +dew_fild01,206,156,0 duplicate(Palm Tree) Palm Tree#drink40 844 + +// NPC - Hideouts +//============================================================ + +dew_fild01,57,273,0 script #hideout 45,1,1,{ + if(dewata_legend >= 1) { + warp "dew_in01",16,34; + end; + } + mes "- You hear a faint conversation going on inside -"; + next; + mes "[Tribal Chief Paiko]"; + mes "Once again, I have failed to"; + mes "make the ^E66C2CJaty Crown^000000..."; + mes "I was sure that I could do it this time."; + mes "Why won't it work?"; + next; + mes "[Sage Kasyapa]"; + mes "The ^4AA02CJaty Crown^000000 has been known to"; + mes "have miraculous power since the"; + mes "time of the ancients."; + mes "But it's been said that only those"; + mes "who've earned a tribal honor"; + mes "would be able to use it."; + next; + mes "[Tribal Chief Paiko]"; + mes "^0000FFKasyapa^000000!!"; + mes "Are you saying that even though I"; + mes "am the leader of our tribe, I have"; + mes "not yet received that honor?"; + next; + mes "[Sage Kasyapa]"; + mes "Calm down, ^0000FFChief Paiko^000000..."; + mes "As the Great and Powerful Chief,"; + mes "you should be more than enough to qualify."; + next; + mes "[Sage Kasyapa]"; + mes "In my younger years I could have"; + mes "easily solved the problem, but this"; + mes "old man's mind cannot figure out"; + mes "what's missing."; + next; + mes "- The conversation trails off and"; + mes "you don't hear anymore. -"; + set dewata_legend,1; + close; +} + +dew_in01,16,31,0 script #hidein 45,1,1,{ + if(dewata_legend != 3) { + warp "dew_fild01",60,273; + end; + } + mes "- Kasyapa and Chief Paiko begin"; + mes "talking as you are about to"; + mes "leave... -"; + next; + mes "[Sage Kasyapa]"; + mes "I am unsure of what is missing, but"; + mes "that traveler could be a big help in"; + mes "creating the ^4AA02CJaty Crown^000000."; + mes "Of this I am certain."; + mes "The reason is..."; + next; + mes "[Tribal Chief Paiko]"; + mes "What is the reason?"; + next; + mes "[Sage Kasyapa]"; + mes "This ^E56717Cendrawasih Feather^000000 was owned"; + mes "by our first tribe leader when the"; + mes "crown was originally created."; + mes "It was stored as a treasured"; + mes "heirloom of our tribe."; + next; + mes "[Sage Kasyapa]"; + mes "But when the traveler came near,"; + mes "this feather started to shine, and"; + mes "I kept thinking that this is not"; + mes "just a coincidence"; + mes "This person will be the key to"; + mes "assisting us to make the crown."; + next; + mes "[Tribal Chief Paiko]"; + mes "Could it happen for sure?"; + mes "If so, I will give everything"; + mes "to support them..."; + set dewata_legend,4; + close; +} + +// NPC - Mastersmith Gatti +//============================================================ + +dew_fild01,127,240,4 script Gatti#weapon 813,{ + if (checkquest(5052) >= 0) { + mes "[Gatti]"; + mes "Were you recognized by the natives?"; + next; + mes "[Gatti]"; + mes "... ... ..."; + next; + if (dewata_legend >= 5) { + mes "[Gatti]"; + mes "Oh yes! Finally."; + mes "You also possess a strong energy."; + mes "Did you finally get the recognition from natives?"; + next; + select("Yes."); + mes "[Gatti]"; + mes "Oh! Just as I expected!"; + mes "I was so lucky to meet you."; + mes "Everything is going so well."; + next; + mes "[Gatti]"; + mes "I know I have no right to ask"; + mes "you for this, but a meeting like"; + mes "this is destiny..."; + next; + mes "[Gatti]"; + mes "- Gatti mumbles. -"; + next; + mes "[Gatti]"; + mes "The weapon material that I so"; + mes "longed for is ^0000FFComodo Leather^000000."; + mes "Please get me 100 of them."; + next; + mes "[Gatti]"; + mes "I'm so eager to make the weapon in"; + mes "the weapon blueprint."; + next; + mes "[Gatti]"; + mes "Please, before my passion fades out."; + next; + mes "[Gatti]"; + mes "Oh! And the Comodo Dragon is a very"; + mes "powerful monster, so please be careful."; + changequest 5052,5053; + close; + } + mes "[Gatti]"; + mes "Not yet, I guess. I'm asking around"; + mes "everywhere, but I couldn't find a"; + mes "way to get recognition from natives."; + mes "I don't know when I can finish"; + mes "making this weapon."; + next; + mes "[Gatti]"; + mes "If you get recognition before"; + mes "me, please DON'T forget to visit"; + mes "me."; + close; + } else if (checkquest(5053) >= 0) { + if (countitem(6403) > 99) { + mes "[Gatti]"; + mes "By the looks of your walk, you must"; + mes "have brought me 100 Comodo Leather. Hand it over to me."; + next; + mes "- Gatti takes the Comodo Leather from you. -"; + erasequest 5053; + set dewata_gatti,2; + delitem 6403,100; + close; + } + mes "[Gatti]"; + mes "Please be careful. The Comodo"; + mes "Dragon is very powerful monster."; + mes "And don't forget to bring me 100"; + mes "Comodo Leather on your"; + mes "way back."; + close; + } + if (dewata_gatti == 0) { + mes "[Gatti]"; + mes "Hey there, young man~ Are you from here?"; + next; + select("No, I'm not."); + mes "[Gatti]"; + mes "I'd like to ask you a question."; + mes "Where is this place?"; + next; + mes "- He seems to be asking for the"; + mes "Island name. -"; + next; + input .@dewataname$; + if (.@dewataname$ != "Dewata Island") { + mes "[Gatti]"; + mes "Is that so... "+.@dewataname$+"? "+.@dewataname$+"... "+.@dewataname$+"..."; + mes ""+.@dewataname$+"..."; + next; + mes "- The old man gave a deep sign of resignation and countinued speaking. -"; + next; + mes "[Gatti]"; + mes "Damn... My plan is ruined. I"; + mes "invested all my fortunes to get"; + mes "there, but I failed. I can't do"; + mes "anything now, my boat has been"; + mes "wrecked."; + next; + mes "- The old man starts to cry. -"; + mes "- Feeling awkward, you quickly leave. -"; + close; + } + mes "[Gatti]"; + mes "This is Dewata Island? You're sure"; + mes "this is Dewata Island?"; + next; + mes "[Gatti]"; + mes "Hahahahahahahahaha...!!!"; + next; + mes "- The old man started to laugh"; + mes "like a crazy person after"; + mes "hearing the name of the island."; + mes "You decide to ask a little bit later. -"; + set dewata_gatti,1; + close; + } else if (dewata_gatti == 1) { + select("Well, sir..."); + mes "[Gatti]"; + mes "Cough... cough..."; + next; + mes "[Gatti]"; + mes "Oh... Sorry~ Sorry. I was so happy"; + mes "that I finally arrived at Dewata"; + mes "Island."; + next; + mes "[Gatti]"; + mes "This is not a short story. Oh! I"; + mes "have to introduce myself first. I"; + mes "am Mastersmith Gatti, also an"; + mes "Adventurer."; + next; + mes "[Gatti]"; + mes "I found a mysterious weapon"; + mes "blueprint, but I don't remember"; + mes "exactly when I acquired it."; + next; + select("Weapon blueprint...?"); + mes "[Gatti]"; + mes "Yes! I traveled all around to find"; + mes "the materials for the weapon, but..."; + next; + select("But what?"); + mes "[Gatti]"; + mes "I couldn't find the last material anywhere."; + next; + mes "[Gatti]"; + mes "It was about to give up, but there"; + mes "was some fine print on the"; + mes "blueprint saying that it could be"; + mes "found on Dewata Island."; + next; + mes "[Gatti]"; + mes "I don't know why somebody put such"; + mes "an important thing in fine print."; + mes "Anyway, after reading that, I"; + mes "invested all my fortunes to find"; + mes "that Island."; + next; + select("Oh... Is that so?"); + mes "[Gatti]"; + mes "This island is strange. I arrived"; + mes "here a week ago, and everybody here"; + mes "has been avoiding me."; + next; + mes "[Gatti]"; + mes "Last week was so hard, but you"; + mes "saved me by telling me this is"; + mes "Dewata Island."; + mes "Thank you for telling me, and"; + mes "thank you for passing here at"; + mes "just the right time."; + next; + select("Uh... No problem."); + mes "[Gatti]"; + mes "Well... There was a little problem"; + mes "of my ship getting wrecked, but"; + mes "that's neither here nor there."; + next; + mes "[Gatti]"; + mes "Now that I found out this is"; + mes "Dewata Island, I should find"; + mes "the material for this great weapon."; + next; + mes "[Gatti]"; + mes "... ... ... ..."; + next; + mes "[Gatti]"; + mes "Ah! The material that I am looking"; + mes "for is ^FF0000Comodo Leather^000000."; + next; + select("^FF0000Comodo Leather?^000000"); + mes "[Gatti]"; + mes "Yes. In the blueprint, it's"; + mes "written that only a few"; + mes "of the Dewata Natives are"; + mes "worthy enough to fight"; + mes "against the Comodo Dragon."; + next; + mes "[Gatti]"; + mes "In order to fight the Comodo"; + mes "Dragon, you have to get recognized"; + mes "by the natives. I assume it'll be"; + mes "hard to get the recognition."; + next; + select("Of course, it must be..."); + mes "[Gatti]"; + mes "Let me ask you a favor."; + mes "If you get the recognition first,"; + mes "please don't forget to visit me."; + setquest 5052; + close; + } else if (dewata_gatti == 2) { + mes "[Gatti]"; + mes "Oh~ Look at this. How resilient.. So soft."; + next; + mes "[Gatti]"; + mes "Comodo Leather is the best material ever."; + next; + mes "[Gatti]"; + mes "Hmm... Like this?"; + next; + mes "[Gatti]"; + mes "Or like this? Yes! This is the way!"; + next; + mes "- Mastersmith Gatti enjoys"; + mes "processing the Leathers you've"; + mes "brought to make the weapon. -"; + mes "- You should wait a little while. -"; + set dewata_gatti,3; + close; + } else if (dewata_gatti == 3) { + if (checkquest(5054) >= 0) { + mes "[Gatti]"; + mes "You brought all the material already?"; + mes "You were also curious about the finished weapon? Haha."; + next; + mes "[Gatti]"; + mes ".... .... ...."; + next; + if (countitem(6403)>99 && countitem(999)>19 && countitem(984)>9 && countitem(6404)) { + mes "[Gatti]"; + mes "Great, we have enough. Wait a little."; + next; + specialeffect EF_REFINEOK; + mes "[Gatti]"; + mes "I finished making the weapon. This"; + mes "is called ^FF0000Keris^000000, according to the blueprint."; + next; + mes "[Gatti]"; + mes "I keep finding new stuff when I"; + mes "lay my eyes on this blueprint."; + next; + mes "[Gatti]"; + mes "I've learned how to make the"; + mes "weapon, so ask me anytime if you need it."; + set dewata_gatti,4; + getitem 13067,1; + delitem 6403,100; + delitem 999,20; + delitem 984,10; + delitem 6404,1; + erasequest 5054; + close; + } + mes "[Gatti]"; + mes "Hmm... I need more of those."; + mes "If my ship didn't get wrecked."; + mes "I could made it on my own, but..."; + next; + mes "- Gatti mumbles to himself. -"; + next; + mes "[Gatti]"; + mes "100 Comodo Leather, 20 Steel,"; + mes "and 10 Oridecon are what I need."; + next; + mes "[Gatti]"; + mes "If you bring them all,"; + mes "I'll make the best weapon ever."; + close; + } + select("Well... Gatti?"); + mes "[Gatti]"; + mes "Oh! Sorry, sorry! This leather is"; + mes "so interesting."; + next; + mes "[Gatti]"; + mes "I made a hilt out of the leather you brought me."; + next; + mes "[Gatti]"; + mes ".... .... .... ...."; + next; + select("Hilt?"); + mes "[Gatti]"; + mes "You don't know what a hilt is?"; + mes "That's what you call the handle of a weapon."; + next; + mes "- Gatti shows a thing that looks like the handle of a weapon. -"; + next; + mes "[Gatti]"; + mes "I tried making it like what's"; + mes "written in the blueprint, but"; + mes "I need more material."; + next; + select("Really?"); + mes "[Gatti]"; + mes ".... .... .... ...."; + next; + mes "[Gatti]"; + mes "Yes... To be frank with you,"; + mes "I ruined a lot of them trying"; + mes "different things."; + next; + mes "[Gatti]"; + mes "I know this is alot to ask,"; + mes "but can you get me 100 more"; + mes "Comodo Leather, 20 Steel, and 10 Oridecon?"; + next; + mes "[Gatti]"; + mes "I'll make you a best weapon ever."; + next; + mes "[Gatti]"; + mes "Oh! I almost forgot. Don't forget"; + mes "to bring the hilt that I just made you."; + next; + mes "[Gatti]"; + mes "A weapon must have a handle."; + getitem 6404,1; + setquest 5054; + close; + } else if (dewata_gatti >= 4) { + mes "[Gatti]"; + mes "You're ^FF0000"+strcharinfo(0)+"^000000?"; + mes "So, how's the Keris that I made it for you?"; + next; + switch(select("It's great!:I need another Keris.:Can I make it stronger?")) { + case 1: + mes "[Gatti]"; + mes "Yes, yes of course it's great."; + mes "I made that weapon so it must be good."; + close; + case 2: + if (countitem(6404) == 1) { + if (countitem(6403)>69 && countitem(999)>19 && countitem(984)>9) { + mes "[Gatti]"; + mes "You have all materials."; + mes "Wait just a little."; + next; + specialeffect EF_REFINEOK; + mes "[Gatti]"; + mes "Here is the Keris! Ask me anytime."; + getitem 13067,1; + delitem 6404,1; + delitem 6403,70; + delitem 999,20; + delitem 984,10; + close; + } + mes "[Gatti]"; + mes "You only have a Hilt. You'll need"; + mes "to bring me 10 Oridecon, 20 Steel,"; + mes "and 70 Comodo Leather."; + next; + mes "[Gatti]"; + mes "If you bring them, I'll make a"; + mes "brand new Keris."; + close; + } else if (countitem(6404) > 1) { + mes "[Gatti]"; + mes "You already have 1 Hilt in your inventory. What do you need 1 more Hilt for?"; + close; + } else if (countitem(6403)>49 && countitem(7201)) { + mes "[Gatti]"; + mes "You bought the material for the"; + mes "Hilt. I'll make it right away."; + next; + mes "[Gatti]"; + mes "Put in here, and process it like this..."; + next; + mes "[Gatti]"; + mes "Here you go. I can make a Keris if"; + mes "you bring me 10 Oridecon, 20 Steel,"; + mes "and 70 Comodo Leather."; + getitem 6404,1; + delitem 6403,50; + delitem 7201,1; + close; + } + mes "[Gatti]"; + mes "You want me to make one more"; + mes "Keris for you? In that case I"; + mes "need a Hilt, 50 Comodo Leather,"; + mes "and 1 Log. These are what I need to make a Hilt."; + close; + case 3: + mes "[Gatti]"; + mes "So, you want to enchant your"; + mes "weapon? The weapon gets broken"; + mes "from time to time during the"; + mes "process, but it doesn't"; + mes "happen that often."; + next; + mes "[Gatti]"; + mes "In another case, the enchantment"; + mes "may be applied to an item which"; + mes "you didn't mean to enchant."; + mes "So just bring ^5555ffONE Weapon^000000"; + mes "if you want the enchantment to be safe."; + next; + switch(select("Please enchant the weapon.","Things you need to know.","Maybe next time.")) { + case 1: + mes "[Gatti]"; + mes "^FFA500To enchant your Weapon^000000:"; + mes "- 100,000 Zeny"; + mes "- ^FF0000Weapon will lose refines and cards^000000."; + next; + if (countitem(13067) > 1) { + mes "[Gatti]"; + mes "Please come back with just ONE equipment to be enchanted."; + close; + } + mes "[Gatti]"; + mes "You want to enchant your"; + mes "^FF0000" + getitemname(13067) + "^000000?"; + mes "The cost of this work is ^0000FF100,000^000000 Zeny."; + next; + if(select("Do it, please!:May be next time..")==2) close; + if (Zeny < 100000) { + mes "[Gatti]"; + mes "I'd like to go ahead with this enchant attempt, but you're missing a few things."; + mes "You sure that you have enough Zeny."; + close; + } + delitem 13067,1; + set Zeny, Zeny-100000; + close2; + specialeffect2 EF_REPAIRWEAPON; + progressbar "FFFF00",3; + set .@Enchant_3,rand(4760,4802); + set .@Enchant_4,rand(4760,4802); + set .@ERate, rand(100); + if (.@ERate < 14) { // -- 14% Break chance + mes "[Gatti]"; + mes "Wah! I am so sorry, but it failed."; + mes "However, I am completely innocent."; + mes "This is your luck, and it was destined by god, okay?"; + mes "Don't be so disappointed, and try next time."; + next; + mes "[Gatti]"; + mes "I wish you good luck next time!"; + close; + } + getitem2 13067,1,1,0,0,0,0,.@Enchant_3,.@Enchant_4; + mes "[Gatti]"; + mes "Great, your weapon received the enchant."; + mes "It looks pretty well done. Congratulations!"; + next; + mes "[Gatti]"; + mes "See you again, adventurer!"; + close; + case 2: + mes "[Gatti]"; + mes "If you want to do it, I'll"; + mes "have to tell you some cautionary"; + mes "things before enchanting the"; + mes "weapon."; + next; + mes "[Gatti]"; + mes "I need 1 weapon of level"; + mes "3 or 4, and maximum slot of 2."; + mes "And 100,000 Zeny too."; + mes "As you know, I don't have any"; + mes "money right now because my"; + mes "ship got wrecked."; + next; + mes "[Gatti]"; + mes "If you have a weapon that is"; + mes "refined or inserted with cards"; + mes "in your inventory which you"; + mes "don't want to enchant, it"; + mes "could get destroyed."; + next; + mes "[Gatti]"; + mes "Or its upgrades could get"; + mes "changed during the"; + mes "enchantment process."; + next; + mes "[Gatti]"; + mes "If you don't want that to"; + mes "happen, put the refined"; + mes "weapon elsewhere before the enchantment."; + next; + mes "[Gatti]"; + mes "Sometimes the enchantment"; + mes "fails. The weapon doesn't get"; + mes "destroyed every time you fail."; + mes "However, you should know that"; + mes "the weapon gets destroyed from"; + mes "time to time."; + close; + case 3: + mes "[Gatti]"; + mes "Whenever you want to enchant"; + mes "weapon, just bring me the"; + mes "weapon you want to enchant"; + mes "and 100,000 Zeny."; + close; + } + } + } +} diff --git a/npc/re/quests/quests_dicastes.txt b/npc/re/quests/quests_dicastes.txt new file mode 100644 index 000000000..779e8f218 --- /dev/null +++ b/npc/re/quests/quests_dicastes.txt @@ -0,0 +1,7581 @@ +//===== rAthena Script ======================================= +//= El Dicastes Quest NPCs +//===== By: ================================================== +//= Gennosuke Kouga, Muad_Dib +//===== Current Version: ===================================== +//= 1.8a +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Quest NPCs related to Dewata: +//== Sapha's Visit, Doha's Secrect Order, Frede's Request, +//== Department Quests, Document Quests, +//== Chesire's Call, Cat Hands Enchantment +//== Cat Hand Agent +//===== Additional Comments: ================================= +//= 1.0 First version. 14107 lines, oh, the pain... +//= 1.1 Standardized and reduced by 7000+ lines. [Euphy] +//= 1.2 Further optimization. [Euphy] +//= 1.2a Small bug fix. [Euphy] +//= 1.3 Temporarly disabled Izlude Fish Tail?#33 NPC because of +//= the new Izlude Town Map. [Masao] +//= 1.4 Fixed minor typos. [Joseph] +//= 1.5 Removed "Mysterious Documents" duplicated in magic_books. [Euphy] +//= 1.6 Fixed missing checks for quest: Sapha's Visit. [Joseph] +//= 1.7 Updated to match the official script. [Joseph] +//= 1.8 Optimized and fixed invalid checkquest. [Joseph] +//= 1.8a Disabled "Fish Tails" until Izlude RE coordinates are found. [Euphy] +//============================================================ + +// Entrance +//============================================================ +manuk,321,182,5 script Entrance Manager#ep133 450,{ + if (!isequipped(2782)) { + mes "[Average Galten]"; + mes "¢¤¡ð¡ú? ¢£ ¡ù¡ð..."; + mes "¡ï¡ò¡Ð ¢¤ ?"; + mes "¡ñ¡ï..?"; + close; + } + if (ep13_3_invite >= 4) { + mes "[Entrance Manager]"; + mes "Are you visiting the capital city, El Dicastes?"; + next; + if(select("Yes.:No.") == 2) { + mes "[Entrance Manager]"; + mes "Then use the tunnel next time."; + close; + } + mes "[Entrance Manager]"; + mes "Be careful."; + close2; + warp "dic_dun01",33,212; + end; + } + mes "[Entrance Manager]"; + mes "Sorry."; + mes "I cannot let you pass because you are not a Sapha."; + close; +} + +dic_dun01,266,113,5 script Curious Sapha#ep13_3_ 449,{ + mes "[Curious Sapha]"; + if (isequipped(2782)) { + mes "Hello?"; + next; + switch(select("What are you doing here?:Buy research items.:Hello!:I want to help your research.")) { + case 1: + mes "[Curious Sapha]"; + mes "Do you see that dirty vigilante over there?"; + next; + mes "[Curious Sapha]"; + mes "He was attacked by Scarabas after falling into Scaraba Hall."; + mes "And he was the only one attacked even with others around him."; + next; + mes "[Curious Sapha]"; + mes "I think he slipped and fell on some secretion of the Queen Scaraba. I thought it was an accident was looking into it."; + next; + mes "[Curious Sapha]"; + mes "If the research results are correct, the Scarabas are very sensitive to the smell."; + mes "Or else say they go crazy over it. Almost as if they were losing it..."; + next; + mes "[Curious Sapha]"; + mes "I came to research the relationship between the Queen secretion component and the Scarabas."; + mes "So I created this into a perfume to carry it easily."; + next; + mes "[Curious Sapha]"; + mes "I might be able to use this perfume's reaction to Scarabas and make progress in research."; + close; + case 2: + if (!checkweight(1201,1)) { + mes "[Curious Sapha]"; + mes "You don't seem to have enough space."; + close; + } + if ((MaxWeight - Weight) < 2000) { + mes "[Curious Sapha]"; + mes "Your bags already seem too heavy."; + close; + } + mes "[Curious Sapha]"; + mes "You want to buy the Scaraba Perfume? A gift for home?"; + mes "Well, it has become a rare perfume."; + next; + mes "[Curious Sapha]"; + mes "I'll give you a deal and sell it by 500 Zeny each. But, try not to carry it with you into Scaraba Hall."; + mes "How many do you want? You can buy up to 100."; + next; + input .@input; + set .@deal, 500 * .@input; + if (.@deal == 0) { + mes "[Curious Sapha]"; + mes "You changed your mind?"; + close; + } + if (Zeny < .@deal) { + mes "[Curious Sapha]"; + mes "You don't have enough money."; + close; + } + mes "[Curious Sapha]"; + mes "Will you buy "+.@input+"?"; + next; + if(select("Yes:No") == 2) { + mes "[Curious Sapha]"; + mes "You changed your mind?"; + close; + } + set Zeny, Zeny - .@deal; + getitem 6437,.@input; //Scaraba_Perfume + mes "[Curious Sapha]"; + mes "Here you go. Scaraba might flock around you so don't use it near Scaraba Hall."; + close; + case 3: + mes "[Curious Sapha]"; + mes "Hello? You must be a traveler. This place is dangerous so please find your way out of this tunnel."; + close; + case 4: + mes "[Curious Sapha]"; + mes "Do you have any useful information?"; + mes "Please let me know!"; + input .@str$; + next; + mes "[Curious Sapha]"; + mes "It says ^0000FF"+.@str$+"^000000."; + next; + set .@his_rd_ms, rand(1,3); + if (.@his_rd_ms == 1) { + mes "[Curious Sapha]"; + mes "That is great information!"; + mes "I must start on the research."; + close; + } + else if (.@his_rd_ms == 2) { + mes "[Curious Sapha]"; + mes "I already know about that information but I'm really grateful for you to come all the way here to tell me."; + close; + } + else { + mes "[Curious Sapha]"; + mes "Hmm... do you think so?"; + mes "I have some doubts about your information. I'll think it over."; + close; + } + } + } + mes "¡ö¡ñ¡Ð ¡ò ¡õ?"; + next; + mes "- Cannot understand a word. -"; + close; +} + +// Vigilantes +//============================================================ +- script Vigilante#main -1,{ + if (compare(strnpcinfo(0),"ep133_26")) { + if (!isequipped(2782)) { + mes "[Vigilante]"; + mes "¡ô¡ó¡ö ¡÷ ¡þ¡ù¡ó?"; + mes "¢¤¡ö¡ø ¢³ ¡÷¢£¡ü ¡ø ¡Ð¡õ¡û..."; + next; + mes "The Vigilante says something and then shakes his head."; + mes "Looks like a negative reaction from the looks of his firm pose holding his shield in front of him."; + close; + } + mes "[Vigilante]"; + mes "Manuk is just before us."; + mes "Are you heading to Manuk?"; + next; + if (select("Yes.:No.") == 1) { + mes "[Vigilante]"; + mes "I will send you to Manuk."; + close2; + warp "manuk",326,180; + end; + } + mes "[Vigilante]"; + mes "Good luck."; + close; + } + if (!isequipped(2782)) { + mes "[Vigilante]"; + mes "¡ô¡ó¡ö ¡÷ ¡þ¡ù¡ó?"; + mes "¢¤¡ö¡ø ¢³ ¡÷¢£¡ü ¡ø ¡Ð¡õ¡û..."; + mes "¡ð¡ú¢± ¡ô ¡ò¡õ¡ú ¡õ..! "; + next; + mes "Cannot communicate with him."; + close; + } + if (ep13_3_secret < 6) { + mes "The area below is restricted because it is dangerous."; + mes "I cannot let you pass because you are here as guests."; + mes "Please follow the tunnel to get to the capital city."; + close; + } + mes "[Vigilante]"; + mes "Do you need something from the cave?"; + next; + if (select("Yes.:No.") == 1) { + mes "[Vigilante]"; + mes "Be careful."; + close2; + warp "dic_dun02",101,142; + end; + } + mes "[Vigilante]"; + mes "Please step aside because it is dangerous."; + mes "You won't know when those Scarabas will start rampaging.."; + close; + +} +dic_dun01,286,104,5 duplicate(Vigilante#main) Vigilante#ep133_23 450 +dic_dun01,294,106,3 duplicate(Vigilante#main) Vigilante#ep133_24 492 +dic_dun01,30,216,5 duplicate(Vigilante#main) Vigilante#ep133_26 492 + +dic_dun01,284,102,5 script Dirty Vigilante#ep13_3 450,{ + if (!isequipped(2782)) { + mes "[Vigilante]"; + mes "¡ô¡ó¡ö ¡÷ ¡þ¡ù¡ó¢¤¡ö¡ø ¢³ ¡÷¢£¡ü ¡ø ¡Ð¡õ¡û."; + mes "¡ð¡ú¢± ¡ô ¡ò¡õ¡ú ¡õ..! "; + next; + mes "Cannot understand a word."; + close; + } + if (ep13_3_secret < 6) { + mes "[Vigilante]"; + mes "Hey! This is no place for a rookie like you."; + mes "Those Scaraba can snatch you away!"; + close; + } + if (countitem(6437)) { + mes "[Vigilante]"; + mes "Do you need something from the cave?"; + next; + if (select("Yes.:No.") == 1) { + mes "[Vigilante]"; + mes "Ewww, what's this smell?"; + mes "Be careful. The smell from the Scaraba Secretion was picked up by other Scarabas."; + next; + if (select("Enter after spraying perfume.:Do not enter because it's dangerous.") == 1) { + if (!countitem(6437)) { + mes "- You Scaraba Perfume disappeared. -"; + close; + } + mes "[Vigilante]"; + mes "Okay. Then good luck to you. Be careful."; + delitem 6437,1; //Scaraba_Perfume + close2; + warp "dic_dun03",101,142; + end; + } + } + mes "[Vigilante]"; + mes "Please step aside because it is dangerous."; + mes "You won't know when those Scarabas will start to rampage."; + close; + } + mes "[Vigilante]"; + mes "Phew, what happened?! Why are they all over me"; + next; + mes "[Vigilante]"; + mes "I already had bad luck in falling into Scaraba Hall and being drenched with this awful ^FF0000stench^000000 my head is starting to ache!"; + next; + mes "- The vigilante complained while brushing off the traces of the Scarabas."; + close; +} + +mid_camp,216,246,0 script #ep133_event03 139,2,2,{ + end; +OnTouch: + if (ep13_3_secret == 23) { + donpcevent "Suspicious Guy#ep133_::OnEnable"; + cutin "ep13_loki01",2; + mes "[Low Voice]"; + mes "Hey."; + mes "Are you the human that met the newly appointed minister of Dicastes?"; + mes "What does he look like?"; + next; + mes "You feel yourself pressured by this"; + mes "suspicious guy and starts to talk about Ahat voluntarily."; + next; + cutin "ep13_loki02",2; + mes "[Black Clothed Guy]"; + mes "...Really?"; + mes "You've found it at last."; + set ep13_3_secret, 24; + next; + cutin "",255; + donpcevent "Suspicious Guy#ep133_::OnDisable"; + mes "The guy in all black disappeared suddenly."; + mes "Who was that?"; + close2; + } + end; +} + +mid_camp,218,250,3 script Suspicious Guy#ep133_ 494,{ + mes "[Suspicious Guy]"; + mes "....."; + hideonnpc strnpcinfo(0); + close; +OnInit: +OnDisable: + hideonnpc strnpcinfo(0); +OnEnable: + hideoffnpc "Suspicious Guy#ep133_"; + end; +} + +- script Guard#ep133_11 492,{ + if (!isequipped(2782)) { + mes "[Capital City Guard]"; + mes "¡ô¡ó¡ö ¡÷ ¡þ¡ù¡ó?"; + mes "¡ð¡ú¢± ¡ô ¡ò¡õ¡ú ¡õ..!"; + next; + mes "- Cannot communicate with him. -"; + close; + } + if (ep13_3_invite < 4) { + mes "[Capital City Guard]"; + mes "Access to the city is restricted from other races without permits."; + mes "Please go back."; + close2; + } + else if (ep13_3_invite == 5) { + mes "[Capital City Guard]"; + mes "Access to the city is restricted from other races without permits."; + mes "Please go back."; + next; + mes "[Capital City Guard]"; + mes "Hmmm? You are human."; + mes "If you went through that tunnel, you are here by Ravail's invitation?"; + next; + select("Yes."); + mes "[Capital City Guard]"; + mes "No wonder Vyhannus approved you."; + mes "Understood."; + mes "I approve your entrance and will guide you on what you should first do in El Dicastes."; + next; + mes "[Capital City Guard]"; + mes "First enter the fortress,"; + mes "and register yourself at Dicastes Diel located at the highest location in the north."; + mes "You must first register to b able to move freely."; + next; + mes "[Capital City Guard]"; + mes "You'll see Diel if you follow here towards the north."; + mes "You won't get lost."; + mes "You need to find the register window at the Diel public service center."; + close2; + warp "dicastes01",199,41; + end; + } + else if (ep13_3_invite > 5) { + mes "[Capital City Guard]"; + mes "Are you returning to El Dicastes?"; + next; + set .@m, select("Yes. Going to the castle.:No.") - 1; + mes "[Capital City Guard]"; + mes "Good luck."; + close2; + if (!.@m) warp "dicastes01",199,41; + end; + } + mes "[Capital City Guard]"; + mes "Unknown situation occurred. Case " + strnpcinfo(2); + mes "Please inquiry with a GM."; + close2; +} +dic_fild01,146,281,5 duplicate(Guard#ep133_11) Capital City Guard#1 492 +dic_fild01,153,281,3 duplicate(Guard#ep133_11) Capital City Guard#2 450 + +dic_in01,254,119,0 script Item Storage#01 844,{ + mes "This is the item storage."; + mes "There is some writing on the paper."; + next; + mes "+ Shay's precious safe +"; + mes "For those you want to use this safe!"; + mes "1. Is my cooking delicious?"; + mes "2. You have enough basic skills, right?"; + mes "3. It will be ^0000FF500 Zeny^000000, please!"; + next; + mes "You'll have to put in some coins to use it."; + mes "Insert Coins: Will you"; + mes "put in 500 Zeny?"; + next; + if(select("Use safe:No way.")==2) { + mes "["+strcharinfo(0)+"]"; + mes "I will use it later."; + close; + } + if (Zeny < 500) { + mes "Not enough Zeny."; + close; + } + set Zeny, Zeny-500; + close2; + openstorage; + end; +} + +// Civil Services +//============================================================ + +function script que_dic { + if (!getarg(0)) { + if (checkquest(getarg(1),HUNTING) != 2) return; + mes getarg(3); + } + else if (getarg(0) == 1) { + if (checkquest(getarg(1)) == -1) return; + if (countitem(getarg(3)) < getarg(4)) { + mes "It looks like you are short on the amount."; + close; + } + mes getarg(5); + mes getarg(6,""); + delitem getarg(3), getarg(4); + } + else if (getarg(0) == 2) { + for(set .@size, getargcount(); .@i <= .@size; set .@i, .@i + 1) { + if (checkquest(getarg(.@i)) >= 0) + erasequest getarg(.@i); + } + return; + } + getexp getarg(2),0; + erasequest getarg(1); + specialeffect2 EF_STEAL; + getitem 6304,1; + close; +} + +dic_in01,48,263,5 script Hunting Dept. 1 Manager 449,{ + if (checkweight(1201,1) == 0) { + mes "You have too many kinds of items. Let's try again after you reduce the number of items."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "Cannot proceed because the weight of your items is too heavy. Let's try again after you get rid of some weight."; + close; + } + if (!isequipped(2782)) { + mes "¡õ¢£¡ô"; + mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£"; + next; + mes "I don't feel confident in talking since you wouldn't understand anything."; + close; + } + if (ep13_3_invite < 6) { + mes "Sapha keeps a distance from you even when you try to talk. Looks like he called on Guard Galten. Time to go."; + close; + } + if (BaseLevel < 97) { + mes "[Hunting Dept. 1 Manager]"; + mes "Umm...What are you up to? Anything to do with me?"; + close; + } + if (checkquest(12159,PLAYTIME) == -1) { + mes "[Hunting Dept. 1 Manager]"; + mes "So you didn't get"; + mes "any requests yet."; + mes "Laponte will have piles"; + mes "of requests and might give"; + mes "you one. Try meeting him."; + close; + } + else if (checkquest(12159,PLAYTIME) == 2) { + mes "[Hunting Dept. 1 Manager]"; + mes "Time limit has expired for the existing request."; + next; + mes "[Hunting Dept. 1 Manager]"; + mes "If any incomplete request is found, it will be consider that you failed it and the request will be deleted."; + next; + mes "[Hunting Dept. 1 Manager]"; + mes "You can get a new request after the existing request record being removed, go to see Laponte."; + que_dic(2,12099,12100,12101,12102,12103,12104,12105,12159); + close; + } + mes "[Hunting Dept. 1 Manager]"; + mes "Welcome."; + mes "How can I help you?"; + next; + select("I completed the request."); + mes "[Hunting Dept. 1 Manager]"; + mes "Ah..."; + mes "You are done with the request?"; + mes "Let me check your records first."; + next; + mes "[Hunting Dept. 1 Manager]"; + set .@s$, "Oh, you completed all your requests. Confirmation complete."; + que_dic(0,12099,4000,.@s$); + que_dic(0,12100,49000,.@s$); + que_dic(0,12101,18000,.@s$); + que_dic(0,12102,45000,.@s$); + que_dic(0,12103,4000,.@s$); + que_dic(0,12104,73000,.@s$); + que_dic(0,12105,59000,.@s$); + mes "Um....." + strcharinfo(0) + ""; + mes "You will be in trouble if you lie about the request..."; + close; +} + +dic_in01,51,266,6 script Hunting Dept. 2 Manager 449,{ + if (checkweight(1201,1) == 0) { + mes "You have too many kinds of items. Let's try again after you reduce the number of items."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "Cannot proceed because the weight of your items is too heavy. Let's try again after you get rid of some weight."; + close; + } + if (!isequipped(2782)) { + mes "¡õ¢£¡ô"; + mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£"; + next; + mes "I don't feel confident in talking since you wouldn't understand anything."; + close; + } + if (ep13_3_invite < 6) { + mes "Sapha keeps a distance from you even when you try to talk. Looks like he called on Guard Galten. Time to go."; + close; + } + if (BaseLevel < 100) { + mes "[Hunting Dept. 2 Manager]"; + mes "Ha ha, you will need to train a little more to work with me."; + close; + } + if (checkquest(12160,PLAYTIME) == -1) { + mes "[Hunting Dept. 2 Manager]"; + mes "So you didn't get"; + mes "any requests yet."; + mes "Kalipo will have piles"; + mes "of requests and might give"; + mes "you one. Try to find him."; + close; + } + else if (checkquest(12160,PLAYTIME) == 2) { + mes "[Hunting Dept. 2 Manager]"; + mes "Kalipo seems to have another request for you."; + next; + mes "[Hunting Dept. 2 Manager]"; + mes "I will erase any other records including previous requests from Kalipo that you haven't completed yet."; + next; + mes "[Hunting Dept. 2 Manager]"; + mes "Your request history is cleared now. Please visit Kalipo."; + que_dic(2,12106,12107,12108,12109,12110,12111,12160); + close; + } + mes "[Hunting Dept. 2 Manager]"; + mes "Welcome."; + mes "How can I help you?"; + next; + select("I completed the request."); + mes "[Hunting Dept. 2 Manager]"; + mes "Ah..."; + mes "You are done with the request?"; + mes "Let me check your records first."; + next; + mes "[Hunting Dept. 2 Manager]"; + set .@s$, "Oh, you completed all your requests. Confirmation complete."; + que_dic(0,12106,77000,.@s$); + que_dic(0,12107,47000,.@s$); + que_dic(0,12108,50000,.@s$); + que_dic(0,12109,53000,.@s$); + que_dic(0,12110,30000,.@s$); + que_dic(0,12111,42000,.@s$); + mes "Umm.." + strcharinfo(0) + ""; + mes "Please check your request history again. There is a discrepancy with our documents."; + close; +} + +dic_in01,51,270,7 script Supply Dept. 1 Manager 449,{ + if (checkweight(1201,1) == 0) { + mes "You have too many kinds of items. Let's try again after you reduce the number of items."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "Cannot proceed because the weight of your items is too heavy. Let's try again after you get rid of some weight."; + close; + } + if (!isequipped(2782) < 1) { + mes "¡õ¢£¡ô"; + mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£"; + next; + mes "I don't feel confident in talking since you wouldn't understand anything."; + close; + } + if (ep13_3_invite < 6) { + mes "Sapha keeps a distance from you even when you try to talk. Looks like he called on Guard Galten. Time to go."; + close; + } + if (BaseLevel < 80) { + mes "[Supply Dept. 1 Manager]"; + mes "You gotta be strong enough to deal with Supply Dept. 1."; + close; + } + if (checkquest(12161,PLAYTIME) == -1) { + mes "[Supply Dept. 1 Manager]"; + mes "So you didn't get"; + mes "any requests yet."; + mes "Pura will have piles"; + mes "of requests and might give"; + mes "you one. Try meeting him."; + close; + } + else if (checkquest(12161,PLAYTIME) == 2) { + mes "[Supply Dept. 1 Manager]"; + mes "Pura is looking for you."; + next; + mes "[Supply Dept. 1 Manager]"; + mes "I erased all records related with the previous request. Go to meet Pura."; + next; + que_dic(2,12117,12118,12119,12120,12121,12122,12123,12124,12125,12126,12161); + close; + } + mes "[Supply Dept. 1 Manager]"; + mes "Welcome."; + mes "How can I help you?"; + next; + select("I completed the request."); + mes "[Supply Dept. 1 Manager]"; + mes "Ah..."; + mes "You are done with the request?"; + mes "Let me check your records first."; + next; + mes "[Supply Dept. 1 Manager]"; + set .@s$, "It's done. You can't start any other request till tomorrow, why don't you go to the famous pub and rest?"; + que_dic(1,12117,26300,6086,6,.@s$); + que_dic(1,12118,25600,6090,3,.@s$); + que_dic(1,12119,51100,6073,16,.@s$); + que_dic(1,12120,26300,1037,6,.@s$); + que_dic(1,12121,79900,7032,26,.@s$); + que_dic(1,12122,26300,6075,6,.@s$); + que_dic(1,12123,79900,7326,26,.@s$); + que_dic(1,12124,53000,12353,1,.@s$); + que_dic(1,12125,56700,936,18,.@s$); + que_dic(1,12126,37500,954,11,.@s$); + mes "Cannot find any record..."; + mes "Nothing... There is nothing that I can say ^990000Request completed!^000000."; + close; +} + +dic_in01,48,273,8 script Supply Dept. 2 Manager 449,{ + if (!checkweight(1201,1)) { + mes "You have too many kinds of items. Let's try again after you reduce the number of items."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "Cannot proceed because the weight of your items is too heavy. Let's try again after you get rid of some weight."; + close; + } + if (!isequipped(2782)) { + mes "¡õ¢£¡ô"; + mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£"; + next; + mes "I don't feel confident in talking since you wouldn't understand anything."; + close; + } + if (ep13_3_invite < 6) { + mes "Sapha keeps a distance from you even when you try to talk. Looks like he called on Guard Galten. Time to go."; + close; + } + if (BaseLevel < 80) { + mes "[Supply Dept. 2 Manager]"; + mes "No way, You can't stand the job of Supply Dept. 2 with that weak body."; + close; + } + if (checkquest(12162,PLAYTIME) == -1) { + mes "[Supply Dept. 2 Manager]"; + mes "So you didn't get"; + mes "any requests yet."; + mes "Tragis will have piles"; + mes "of requests and might give"; + mes "you one. Try meeting him."; + close; + } + else if (checkquest(12162,PLAYTIME) == 2) { + mes "[Supply Dept. 2 Manager]"; + mes "I erased all records related with the previous request. Tragis is looking for you so hurry up to meet him."; + next; + que_dic(2,12127,12128,12129,12130,12131,12132,12133,12134,12135,12136,12162); + close; + } + mes "[Supply Dept. 2 Manager]"; + mes "Welcome."; + mes "How can I help you?"; + next; + select("I completed the request."); + mes "[Supply Dept. 2 Manager]"; + mes "Ah..."; + mes "You are done with the request?"; + mes "Let me check your records first."; + next; + mes "[Supply Dept. 2 Manager]"; + set .@s$, "" + strcharinfo(0) + ", you handle your requests quite well. You are not like the pub owner who just sends requests here every day."; + que_dic(1,12127,65300,6023,5,.@s$); + que_dic(1,12128,65300,6020,21,.@s$); + que_dic(1,12129,82800,1042,27,.@s$); + que_dic(1,12130,79900,912,26,.@s$); + que_dic(1,12131,42800,943,13,.@s$); + que_dic(1,12132,51100,6041,16,.@s$); + que_dic(1,12133,79900,7100,26,.@s$); + que_dic(1,12134,37500,7198,11,.@s$); + que_dic(1,12135,51100,7188,16,.@s$); + que_dic(1,12136,31000,518,2,.@s$); + mes "I would like to complete a request for you but you have none going on now."; + close; +} + +dic_in01,43,273,1 script Transport Dept. 1 Mgr 449,{ + if (!checkweight(1201,1)) { + mes "You have too many kinds of items. Let's try again after you reduce the number of items."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "Cannot proceed because the weight of your items is too heavy. Let's try again after you get rid of some weight."; + close; + } + if (!isequipped(2782)) { + mes "¡õ¢£¡ô"; + mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£"; + next; + mes "I don't feel confident in talking since you wouldn't understand anything."; + close; + } + if (ep13_3_invite < 6) { + mes "Sapha keeps a distance from you even when you try to talk. Looks like he called on Guard Galten. Time to go."; + close; + } + if (BaseLevel < 80) { + mes "[Transport Dept. 1 Manager]"; + mes "You're not qualified. You won't last a day with your strength working here at Transport Dept. 1."; + close; + } + if (checkquest(12163,PLAYTIME) == -1) { + mes "[Transport Dept. 1 Manager]"; + mes "So you didn't get"; + mes "any requests yet."; + mes "Calyon will have piles"; + mes "of requests and might give"; + mes "you one. Try meeting him."; + close; + } + else if (checkquest(12163,PLAYTIME) == 2) { + mes "[Transport Dept. 1 Manager]"; + mes "I erased all records related with the previous request. Calyon is looking for you so hurry up to meet him."; + next; + que_dic(2,12137,12138,12139,12140,12141,12142,12143,12144,12145,12146,12147,12163); + close; + } + mes "[Transport Dept. 1 Manager]"; + mes "Welcome."; + mes "How can I help you?"; + next; + select("I completed the request."); + mes "[Transport Dept. 1 Manager]"; + mes "Ah..."; + mes "You are done with the request?"; + mes "Let me check your records first."; + next; + mes "[Transport Dept. 1 Manager]"; + set .@s$, "Quantity check finished. Ahhh, you going to rest? Then why don't you visit the famous pub of the Capital? They have no yummy food though...."; + que_dic(1,12137,30000,7143,4,.@s); + que_dic(1,12138,25000,744,5,.@s); + que_dic(1,12139,47500,748,1,.@s); + que_dic(1,12140,27500,736,15,.@s); + que_dic(1,12141,27000,746,10,.@s); + que_dic(1,12142,27500,740,15,.@s); + que_dic(1,12143,21600,925,50,.@s); + que_dic(1,12144,21400,965,50,.@s); + que_dic(1,12145,20900,964,20,.@s); + que_dic(1,12146,22400,911,30,.@s); + que_dic(1,12147,20800,910,40,.@s); + mes "Um......What do you want me to do?"; + next; + mes "[Transport Dept. 1 Manager]"; + mes "...."; + next; + mes "[Transport Dept. 1 Manager]"; + mes "You've got nothing that I can handle..."; + close; +} + +dic_in01,40,270,2 script Transport Dept. 2 Mgr 449,{ + if (!checkweight(1201,1)) { + mes "You have too many kinds of items. Let's try again after you reduce the number of items."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "Cannot proceed because the weight of your items is too heavy. Let's try again after you get rid of some weight."; + close; + } + if (!isequipped(2782)) { + mes "¡õ¢£¡ô"; + mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£"; + next; + mes "I don't feel confident in talking since you wouldn't understand anything."; + close; + } + if (ep13_3_invite < 6) { + mes "Sapha keeps a distance from you even when you try to talk. Looks like he called on Guard Galten. Time to go."; + close; + } + if (BaseLevel < 80) { + mes "[Transport Dept. 2 Manager]"; + mes "You're not qualified. You won't last a day with your strength working here at Transport Dept. 2."; + close; + } + if (checkquest(12164) == -1) { + mes "[Transport Dept. 2 Manager]"; + mes "So you didn't get"; + mes "any requests yet."; + mes "Moltuka will have piles"; + mes "of requests and might give"; + mes "you one. Try meeting him."; + close; + } + else if (checkquest(12164,PLAYTIME) == 2) { + mes "[Transport Dept. 2 Manager]"; + mes "I erased all records related with the previous request. Moltuka is looking for you so hurry up to meet him."; + next; + que_dic(2,12148,12149,12150,12151,12152,12153,12154,12155,12156,12157,12158,12164); + close; + } + mes "[Transport Dept. 2 Manager]"; + mes "Welcome."; + mes "How can I help you?"; + next; + select("I completed the request."); + mes "[Transport Dept. 2 Manager]"; + mes "Ah..."; + mes "You are done with the request?"; + mes "Let me check your records first."; + next; + mes "[Transport Dept. 2 Manager.]"; + set .@s$, "Well received. One less thing to worry about now."; + que_dic(1,12148,23000,528,100,.@s$); + que_dic(1,12149,20750,512,100,.@s$); + que_dic(1,12150,20750,515,100,.@s$); + que_dic(1,12151,20750,535,100,.@s$); + que_dic(1,12152,24500,516,50,.@s$); + que_dic(1,12153,20750,513,100,.@s$); + que_dic(1,12154,21250,517,50,.@s$); + que_dic(1,12155,24000,737,20,.@s$); + que_dic(1,12156,20037,747,5,.@s$); + que_dic(1,12157,23000,6265,2,.@s$); + que_dic(1,12158,23000,6264,2,.@s$); + mes "This is the first time in my 200 years of working at this department that a person comes back to complete a request without starting any."; + close; +} + + +dic_in01,40,193,1 script Papyrus#0001 453,{ + if (!checkweight(1201,1)) { + mes "You have too many items in your inventory."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "Your inventory is too heavy."; + close; + } + if (isequipped(2782)) { + mes "¡õ¢£¡ô"; + mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£"; + next; + mes "I don't feel confident in talking since you wouldn't understand anything."; + close; + } + if (ep13_3_invite < 6) { + mes "Sapha keeps a distance from you even when you try to talk. Looks like he called on Guard Galten. Time to go..."; + close; + } + if (BaseLevel < 80) { + mes "You won't need those documents even if you could read them. Looks like you haven't gotten enough training"; + close; + } + set .@map_hi, rand(1,4); + mes "[Papyrus]"; + if (.@map_hi == 1) mes "Welcome, I am Papyrus, the manager of the Archive room here."; + else if (.@map_hi == 2) mes "The number of adventurers visiting the Archive room has increased"; + else if (.@map_hi == 3) mes "This is the very place where Ancient Sapha forefathers created history"; + else mes "The Archive room holds transcendent knowledge beyond that of Midgard and Asgard"; + next; + if (countitem(6308) > 29) { + mes "[Papyrus]"; + mes "Oh... You've brought back plenty of unknown relics"; + next; + mes "[Papyrus]"; + mes "We exchange 11 Sapha Certifications for 30 Unknown Relics. Do you want to exchange?"; + next; + if (select("Next time:Exchange now") == 1) { + mes "[Papyrus]"; + mes "Ok, have it your way. I'm here if you change your mind"; + close; + } + mes "[Papyrus]"; + mes "Ok here's your 11 Sapha Certifications."; + delitem 6308,30; //Unidentified_Relic + getitem 6304,11; //Sapa_Feat_Cert + close; + } + if (countitem(6308) > 2) { + mes "[Papyrus]"; + mes "Wow~ "; + mes "You've found an Unknown Relic."; + mes "Do you want to exchange it with for 1 Sapha Certification?"; + next; + if (select("Next time:Exchange now") == 1) { + mes "[Papyrus]"; + mes "Ok, have it your way. I'm here if you change your mind"; + close; + } + mes "[Papyrus]"; + mes "Ok here's your 1 Sapha Certifications."; + delitem 6308,3; //Unidentified_Relic + getitem 6304,1; //Sapa_Feat_Cert + close; + } + mes "[Papyrus]"; + mes "How can I help you? "; + next; + switch (select("What is this place for? :How do I view documents?:What is an Unknown Relic? ")) { + case 1: + mes "[Papyrus]"; + mes "This is an important place where data of various relics collected, since our ancient forefathers, are kept."; + next; + mes "[Papyrus]"; + mes "You can say it's something similar to the human's museum. Take your time to look through our ancient records."; + next; + mes "[Papyrus]"; + mes "You'll never know if you'll find something that catches your adventurous eye."; + break; + case 2: + mes "[Papyrus]"; + mes "Some documents are written in Ancient Sapha Language so humans have trouble viewing all of the documents."; + next; + mes "[Papyrus]"; + mes "You can find recent documents on the left where I am standing."; + mes "You can also take notes on documents you found interesting."; + next; + mes "[Papyrus]"; + mes "I would appreciate it if you bring back any Unknown Relics you happen to find while exploring using your notes from here to me."; + break; + case 3: + mes "[Papyrus]"; + mes "Unknown Relics are relics that have not yet been verified and they are valuable research material for us."; + next; + mes "[Papyrus]"; + mes "Many of us researchers are studying life and death, the birth and extinction of the universe through the ancient relics"; + next; + mes "[Papyrus]"; + mes "If you find and bring an unknown relic to me, in exchange I will give you ^9900991 Sapha Certification^000000s for every ^9900993 Unknown Relic^000000s you bring."; + next; + mes "[Papyrus]"; + mes "If you bring ^99009930 relics^000000, I will exchange it for ^99009911 Sapha Certification^000000s."; + break; + } + close; +} + +// Document Packages +//============================================================ + +- script Document Package#main -1,{ + function eldicastes_dp; + if (isequipped(2782) < 1) { + mes "You can't make sense of the writing."; + close; + } + if (BaseLevel < 80) { + mes "This document archive doesn't look like it has any value to anyone with enough adventurer experience."; + close; + } + if (ep13_3_invite < 6) { + mes "When you try to open and read a document, a Sapha manager motions to call Guard Galten. Let's get out of here quickly."; + close; + } + if (checkquest(12165,PLAYTIME) == 2) { + mes "Feeling a bit better"; + erasequest 12165; + close; + } + else if (checkquest(12165,PLAYTIME) != -1) { + mes "Ugh... feel dizzy from simply staring at the document. Will come back after cooling down"; + close; + } + specialeffect2 EF_DISPELL; + progressbar "ffff00",4; + set .@doc,rand(1,70); + if (.@doc > 50 && .@doc <= 60) { + mes "No documents look out of the ordinary."; + close; + } else if (.@doc > 60 && .@doc <= 70) { + mes "You suddenly feel nauseated. You feel like this won't go away any time soon. Finding the documents will have to wait."; + setquest 12165; + close; + } + else if (.@doc == 1) eldicastes_dp(12209,"Horn","Hard wedge-like horn from some insects. Doesn't have much practical use.",""); + else if (.@doc == 2) eldicastes_dp(12195,"Horrendous Mouth","Tooth from a dead body.","Important material for research on time of death and health conditions. Useful in discovering human ecology."); + else if (.@doc == 3) eldicastes_dp(12186,"Orc's Fangs","Green skinned monster living in the woods. The creature is humanlike but is very hostile to humans.","Known to have a friendly relationship between the two races long ago."); + else if (.@doc == 4) eldicastes_dp(12172,"Frog Eggs","An egg from an amphibian living in warm areas. Unknown if this egg can hatch in Manuk's cold regions.",""); + else if (.@doc == 5) eldicastes_dp(12208,"Snail's Shells","Hard Carapace that protects the body of a huge snail. Creature fun to research out of pure curiousity.",""); + else if (.@doc == 6) eldicastes_dp(12188,"Powder of Butterfly","Powder from the winged insects from Midgard. Some humans use it for makeup or medicine.",""); + else if (.@doc == 7) eldicastes_dp(12167,"Reptile Tongue","Tongue of a monster living in the desert terrain of Midgard. Often used as medicine after drying.",""); + else if (.@doc == 8) eldicastes_dp(12168,"Scorpion Tail","Poisonous reptile tail from a creature living in the deserts.","Records say that humans can lose their life when attacked."); + else if (.@doc == 9) eldicastes_dp(12173,"Jellopy","Unknown substance in Manuk regions but found throughout Midgard.","Research required to see possibilities on using it for construction material."); + else if (.@doc == 10) eldicastes_dp(12166,"Tree Root","Humans are using this for firewood or construction material. Found commonly in the woods of Midgard.",""); + else if (.@doc == 11) eldicastes_dp(12169,"Stem","There is nothing like Midgard plants in Manuk.","These plants are used for food and medicine and some are even poisonous."); + else if (.@doc == 12) eldicastes_dp(12170,"Pointed Scale","Stem from a bumpy life form. Research required as the usage is unknown.",""); + else if (.@doc == 13) eldicastes_dp(12171,"Resin","Sap from an old tree collected and solidified. Very valuable in the human world.",""); + //else if (.@doc == 14) eldicastes_dp(12174,"Fish Tail","Humans eat meat called fish.","Can be used as important food supply for foreign adventurers visiting in the city."); + else if (.@doc == 15) eldicastes_dp(12175,"Worm Peeling","They say some Worm Peelings are valuable.","But this is based on the human's standard of value. Research required."); + else if (.@doc == 16) eldicastes_dp(12176,"Gill","There are Midgard creatures that live in the sea and breathe through gills.","Further research on their ecology will be useful."); + else if (.@doc == 17) eldicastes_dp(12177,"Tooth of Bat","Traces of a nocturnal creature unknown to Manuk. Not a strong creature from the size of its teeth.",""); + else if (.@doc == 18) eldicastes_dp(12178,"Fluff","Many of Midgard creatures are covered with soft hair.","Hair can be used as great cold protection. Further research required."); + else if (.@doc == 19) eldicastes_dp(12179,"Chrysalis","Large insect sack that is alive and contains who knows what.","Not active at all but the life structure within it is very unique and worth researching."); + else if (.@doc == 20) eldicastes_dp(12180,"Feather of Birds","Bird feather located throughout Midgard.","The feathers aren't great for cold protection but can be used as decorative accessories or tools for writing."); + else if (.@doc == 21) eldicastes_dp(12181,"Talon","Pointy talon convenient for making holes or simple accessories.","Very useful with the nails from large creatures from Manuk."); + else if (.@doc == 22) eldicastes_dp(12182,"Sticky Webfoot","Strange body structure found from Midgard amphibians. Evolved to better adapt to ocean life.",""); + else if (.@doc == 23) eldicastes_dp(12183,"Animal Skin","Leather from a mammal.","Very warm and soft and can be used in various ways. Processed in Midgard and valuable."); + else if (.@doc == 24) eldicastes_dp(12184,"Wolf Claw","Claw from a creature called wolf.","Usage is unknown but many curious Saphas are taking an interest in it."); + else if (.@doc == 25) eldicastes_dp(12185,"Mushroom Spore","Spores from a mushroom found throughout Midgard.","Looks like it can be cultivated here with a little research."); + else if (.@doc == 26) eldicastes_dp(12187,"Evil Horn","Item made from Evil Horns that appear in areas that aren't holy.","Sold at a high price but doesn't seem to be practical."); + else if (.@doc == 27) eldicastes_dp(12214,"Cactus Needle","Surface of a plant that survives in deserts with almost no moisture.",""); + else if (.@doc == 28) eldicastes_dp(12189,"Bill of Birds","Pointy bill convenient for making holes or simple accessories. Looks similar to bird claws.",""); + else if (.@doc == 29) eldicastes_dp(12190,"Snake Scale","Scales from a reptile that moves without legs.","Scales are shed from the creature and are used for simple craftwork."); + else if (.@doc == 30) eldicastes_dp(12191,"Insect Feeler","Bug feeler from an insect with keen nerves.","Research subject for its unique structure different from Manuk creatures."); + else if (.@doc == 31) eldicastes_dp(12192,"Immortal Heart","Heart that never stops beating. Obtained from mystical creatures called mermaids.","The driving force of the heart is still unknown and worth researching."); + else if (.@doc == 32) eldicastes_dp(12193,"Rotten Bandage","Bandage used for dead bodies. Looks like humans believed in the dead coming back for their bodies.",""); + else if (.@doc == 33) eldicastes_dp(12194,"Decayed Nail","Nail from a dead body. Important material for research on time of death and health conditions.","Useful in discovering human ecology."); + else if (.@doc == 34) eldicastes_dp(12215,"Stone Heart","They say a huge stone in a dead area in Midgard moves by itself.","The heart of the huge stone would be a rare research subject."); + else if (.@doc == 35) eldicastes_dp(12196,"Tentacle","Feeler from ocean creatures. Unlike those from insects, these show active movement.",""); + else if (.@doc == 36) eldicastes_dp(12197,"Shell","Shell protecting insects or crustacean creatures.","These creatures have a shell surrounding their skin and are very flexible in movement. Worth researching."); + else if (.@doc == 37) eldicastes_dp(12198,"Scale Shell","Shiny scales found from some reptiles.","The fluorescent substance contained on the surface can be used in various places."); + else if (.@doc == 38) eldicastes_dp(12199,"Venom Canine","Canine tooth with poison. Humans use this to make weapons for killing.",""); + else if (.@doc == 39) eldicastes_dp(12200,"Sticky Mucus","Sticky liquid with a bit of viscosity left.","Can be used as key material for construction and currently is used for some Manuk architecture style. Commonly found throughout Midgard."); + else if (.@doc == 40) eldicastes_dp(12201,"Bee Sting","Stinger taken from a living insect.","Some humans use it for medical treatment for its medicinal effect."); + else if (.@doc == 41) eldicastes_dp(12202,"Grasshopper's Leg","Back legs of an insect that can leap far. Fun to research its structure.",""); + else if (.@doc == 42) eldicastes_dp(12203,"Royal Jelly","A kind of wonder drug collected from a queen bee.","Humans love this but no efficacy found for Manuk."); + else if (.@doc == 43) eldicastes_dp(12204,"Yoyo Tail","Tail from a humanlike creature.","Research on why humans do not have this trace on them would be amusing but would hurt current alliance with the humans."); + else if (.@doc == 44) eldicastes_dp(12205,"Solid Shell","Shell evolved by some kind of environmental factor.","This can be great material to make various tool or armory."); + else if (.@doc == 45) eldicastes_dp(12206,"Yam","Edible when ripe, yellow food.","Humans like this very much. Haven't tried it yet but smells like ripe sweet Potatoes."); + else if (.@doc == 46) eldicastes_dp(12207,"Raccoon Leaf","They say there is an animal that can change its form with this pasted on it.","Worth research to validate if this rumor is true."); + else if (.@doc == 47) eldicastes_dp(12210,"Bear's Footskin","Humans collect hunted bear paws.","Usage is unknown. The humans that collect the paws are subjects for research."); + else if (.@doc == 48) eldicastes_dp(12211,"Feather","Warm hair as soft as downy hair.","Must be used for cold protection. Collectable throughout Midgard."); + else if (.@doc == 49) eldicastes_dp(12212,"Red Herb","Kind of medicinal red plant.","Humans use this to make recovery medicine. Plant worth researching."); + else if (.@doc == 50) eldicastes_dp(12213,"Carrot","Red colored plant. Pub owner requests it all the time. Worth research.",""); + close; + + function eldicastes_dp { + if (checkquest(getarg(0)) >= 0) { + mes "You've found a document you already have."; + close; + } + mes "^660066"+getarg(2)+"^000000"; + mes "^660066"+getarg(3)+"^000000"; + next; + mes "You've found a document about ^990099"+getarg(1)+"^000000. Check for details in the ^800080Quest Window^000000."; + specialeffect2 EF_STEAL; + setquest getarg(0); + close; + } +} +dic_in01,31,192,0 duplicate(Document Package#main) Document Package#0001 844 +dic_in01,31,187,0 duplicate(Document Package#main) Document Package#0002 844 +dic_in01,25,192,0 duplicate(Document Package#main) Document Package#0003 844 +dic_in01,25,187,0 duplicate(Document Package#main) Document Package#0004 844 + +// Unknown Relics +//============================================================ + +function script unknown_d { + if (checkquest(getarg(0)) == -1) { + mes "You see some traces of digging"; + close; + } + specialeffect2 EF_SPRINKLESAND; + specialeffect2 EF_BEGINSPELL_N1; + progressbar "ffff00",4; + erasequest getarg(0); + mes "You were able to find information on the "+getitemname(getarg(1))+"."; + specialeffect2 EF_STEAL; + getitem getarg(1),rand(1,4); + if (!rand(2)) { + next; + mes "In addition, you've obtained an unknown relic to report back to the Saphas."; + specialeffect2 EF_STEAL; + getitem 6308,1; //Unidentified_Relic + } + close; +} +prt_fild09,371,255,0 script Reptile Tongues 844,{ unknown_d(12167,903); } +prt_fild09,352,241,0 script Scorpion Tails 844,{ unknown_d(12168,904); } +pay_fild02,177,108,0 script Stems 844,{ unknown_d(12169,905); } +pay_fild02,105,113,0 script Pointed Scales 844,{ unknown_d(12170,906); } +pay_fild01,152,171,0 script Resin 844,{ unknown_d(12171,907); } +gef_fild01,104,111,0 script Spawn 844,{ unknown_d(12172,908); } +prt_fild08,299,332,0 script Jellopy 844,{ unknown_d(12173,909); } +//izlude,132,136,0 script Fish Tails 844,{ unknown_d(12174,1023); } +prt_fild05,303,169,0 script Worm Peelings 844,{ unknown_d(12175,955); } +iz_dun03,155,165,0 script Gills 844,{ unknown_d(12176,956); } +mjo_dun01,222,226,0 script Tooth of Bat 844,{ unknown_d(12177,913); } +prt_fild06,182,290,0 script Fluff 844,{ unknown_d(12178,914); } +prt_fild06,127,85,0 script Chrysalis 844,{ unknown_d(12179,915); } +moc_fild07,201,360,0 script Feather of Bird 844,{ unknown_d(12180,916); } +moc_fild12,116,122,0 script Talons 844,{ unknown_d(12181,917); } +prt_fild04,315,245,0 script Sticky Webfoot 844,{ unknown_d(12182,918); } +mjolnir_08,108,99,0 script Animal Skin 844,{ unknown_d(12183,919); } +moc_fild03,175,201,0 script Wolf Claws 844,{ unknown_d(12184,920); } +pay_fild08,188,153,0 script Mushroom Spores 844,{ unknown_d(12185,921); } +gef_fild03,251,109,0 script Orc's Fangs 844,{ unknown_d(12186,922); } +c_tower2,170,9,0 script Evil Horns 844,{ unknown_d(12187,923); } +gef_fild05,111,96,0 script Powder of Butterfly 844,{ unknown_d(12188,924); } +moc_fild11,237,273,0 script Bill of Birds 844,{ unknown_d(12189,925); } +pay_fild06,306,233,0 script Snake Scales 844,{ unknown_d(12190,926); } +pay_fild07,126,49,0 script Insect Feelers 844,{ unknown_d(12191,928); } +iz_dun02,112,96,0 script Immortal Hearts 844,{ unknown_d(12192,929); } +moc_pryd02,134,112,0 script Rotten Bandages 844,{ unknown_d(12193,930); } +moc_pryd02,36,75,0 script Decayed Nails 844,{ unknown_d(12194,957); } +moc_pryd02,148,184,0 script Horrendous Mouths 844,{ unknown_d(12195,958); } +iz_dun01,210,77,0 script Tentacles 844,{ unknown_d(12196,962); } +iz_dun01,191,92,0 script Shells 844,{ unknown_d(12197,935); } +mjolnir_04,191,154,0 script Scale Shells 844,{ unknown_d(12198,936); } +mjolnir_04,162,168,0 script Venom Canines 844,{ unknown_d(12199,937); } +prt_fild02,102,97,0 script Sticky Mucus 844,{ unknown_d(12200,938); } +mjolnir_09,99,100,0 script Bee Stings 844,{ unknown_d(12201,939); } +prt_fild07,76,122,0 script Grasshopper's Legs 844,{ unknown_d(12202,940); } +prt_fild03,64,35,0 script Royal Jelly 844,{ unknown_d(12203,526); } +prt_fild03,180,163,0 script Yoyo Tails 844,{ unknown_d(12204,942); } +prt_fild03,226,170,0 script Solid Shells 844,{ unknown_d(12205,943); } +prt_fild03,262,201,0 script Nice Sweet Potato 844,{ unknown_d(12206,549); } +prt_fild03,284,190,0 script Raccoon Leaf 844,{ unknown_d(12207,945); } +gef_fild09,67,46,0 script Snail's Shells 844,{ unknown_d(12208,946); } +prt_fild03,366,237,0 script Horns 844,{ unknown_d(12209,947); } +pay_fild07,269,164,0 script Bear's Footskin 844,{ unknown_d(12210,948); } +prt_fild02,142,116,0 script Feathers 844,{ unknown_d(12211,949); } +prt_fild02,97,209,0 script Red Herbs 844,{ unknown_d(12212,507); } +prt_fild02,280,328,0 script Carrots 844,{ unknown_d(12213,515); } +moc_fild01,169,62,0 script Cactus Needles 844,{ unknown_d(12214,952); } +cmd_fild08,324,163,0 script Stone Hearts 844,{ unknown_d(12215,953); } + +dic_in01,138,225,3 script Diel Guard#ep133_19 492,{ + if (!isequipped(2782)) { + mes "[Diel Guard]"; + mes "¡ô¡ó¡ö ¡÷ ¡þ¡ù¡ó?"; + mes "¢¤¡ö¡ø ¢³ ¡÷¢£¡ü ¡ø ¡Ð¡õ¡û..."; + mes "¡ð¡ú¢± ¡ô ¡ò¡õ¡ú ¡õ..!"; + next; + mes "Cannot communicate with him."; + close; + } + if (ep13_3_secret < 13) { + mes "[Diel Guard]"; + mes "You cannot go further."; + mes "This is the highest minister's office."; + mes "Only those with permission are allowed in."; + mes "Please go back."; + close; + } + else if (ep13_3_secret == 13) { + mes "[Diel Guard]"; + mes "Please stop."; + mes "Only those with permission are allowed to enter."; + next; + if (select("I have permission.:Go back.") == 1) { + mes "[Diel Guard]"; + mes "Wait..."; + mes strcharinfo(0) + "......ah... I see your name on the list."; + mes "I'm sorry."; + mes "Please go through."; + close2; + warp "dic_in01",241,177; + end; + } + mes "[Diel Guard]"; + mes "Sigh..."; + mes "Please understand."; + mes "There are many that try to meet the minister."; + mes "That is why security is heavy."; + close; + } + else if (ep13_3_secret > 13) { + mes "[Diel Guard]"; + mes "Ah, you are " + strcharinfo(0) + ".."; + mes "I received an order from Ahat to let you through anytime."; + mes "Please go up."; + close2; + warp "dic_in01",241,177; + end; + } + mes "[Diel Guard]"; + mes "You cannot go further."; + mes "This is the highest minister's office."; + mes "Only those with permission are allowed in."; + mes "Please go back."; + close; +} + +dic_in01,242,182,0 script Elevator#5f_to_4f 844,{ + select("Administrative Office"); + warp "dic_in01",138,221; + end; +} + +dic_in01,263,193,3 script Diel Guard#ep133_20 450,{ + if (!isequipped(2782)) { + mes "[Diel Guard]"; + mes "¡ô¡ó¡ö ¡÷ ¡þ¡ù¡ó?"; + mes "¢¤¡ö¡ø ¢³ ¡÷¢£¡ü ¡ø ¡Ð¡õ¡û..."; + mes "¡ð¡ú¢± ¡ô ¡ò¡õ¡ú ¡õ..!"; + next; + mes "Cannot communicate with him."; + close; + } + if (ep13_3_secret < 13) { + mes "[Diel Guard]"; + mes "Please stop."; + mes "You cannot go further."; + close; + } + else if ((ep13_3_secret > 11) && (ep13_3_secret < 19)) { + mes "[Diel Guard]"; + mes "Are you here to meet Ahat?"; + mes "You are on the list."; + close2; + warp "dic_in01",299,251; + end; + } + else if (ep13_3_secret > 18) { + if (ep13_3_ahtdayq == 1) { + mes "[Diel Guard]"; + mes "You just came back from Ahat's errand?"; + mes "He is waiting inside."; + mes "Please go in."; + } + else if (countitem(6304) > 0) { + mes "[Diel Guard]"; + mes "Are you here to meet Ahat?"; + mes "You are on the list."; + mes "Please go in."; + delitem 6304,1; //Sapa_Feat_Cert + } + else { + mes "[Diel Guard]"; + mes "You need 1 exploit certification to meet Ahat."; + mes "At least this is a special treatment for you."; + close; + } + close2; + warp "dic_in01",299,251; + end; + } + mes "[Diel Guard]"; + mes "This is a restricted area."; + mes "You need permission to go any further."; + close; +} + +dic_in01,299,268,0 script #ep133_event01 139,4,4,{ + end; +OnTouch: + if (ep13_3_secret == 13) { + mes "As soon as you enter the room, someone"; + mes "pushes down your head to force you to bow."; + soundeffect "wander_man_move.wav",0; + sc_start SC_Blind,60000,0; + next; + mes "[Ringing Voice]"; + mes "That is fine, Cheshire."; + mes "Are you here to see me?"; + next; + mes "[Ringing Voice]"; + mes "Hold up your head and come closer."; + mes "Conversations are meant to have with eye contact."; + next; + cutin (Sex?"ep13_ahat_f":"ep13_ahat_m"),1; + mes "You hold up your head at the sound of Ahat's voice"; + mes "But you see a human in high-ranking Sapha clothing in front of you."; + sc_end SC_Blind; + emotion e_omg,1; + set ep13_3_secret, 14; + erasequest 7198; + close2; + cutin "",255; + } + end; +} + +dic_in01,294,276,5 script Secret Adjutant#ep133_2 498,{ + // if ((GetInventoryRemainCount 1301 3 == 2) || (GetInventoryRemainCount 1301 3 == 3)) { + if ((MaxWeight - Weight) < 1000) { + mes "- You can too many items to proceed with the quest. -"; + close; + } + cutin "ep13_cheshire_h",0; + if (ep13_3_secret < 16) { + mes "[Cheshire]"; + mes "........"; + mes "........Humph."; + close2; + } + else if (ep13_3_secret == 16) { + mes "- Cheshire stands quietly next to Ahat with his head and face covered with a bandana."; + mes "You see a tail behind Cheshire's hip for a split second. -"; + next; + select("Tail?"); + mes "[Cheshire]"; + mes "What are you looking at?!"; + mes "What tail are you talking about."; + next; + select("Have you ever been near the triangle?"); + mes "[Cheshire]"; + mes ".. Hey, what are you talking about?"; + mes "What do you want to say?"; + next; + cutin (Sex?"ep13_ahat_f":"ep13_ahat_m"),2; + mes "[Ahat]"; + mes "" + strcharinfo(0) + "...."; + mes "All you need to do is follow Cheshire's orders."; + mes "Don't ask stupid questions. This is an order."; + mes "Cheshire. continue."; + next; + cutin "ep13_cheshire_h",0; + mes "[Cheshire]"; + mes "Hmm..here is what you need to do."; + mes "There is a huge crack south from the city."; + mes "There are many.."; + mes "accidents happening near the crack."; + next; + mes "[Cheshire]"; + mes "I need you to go and clear out any traces."; + mes "You'll find ^4d4dffclotted bloodstains, remnants of spells, and pieces of skin^000000."; + next; + mes "[Cheshire]"; + mes "Clear them out without anyone knowing."; + mes "And bring them here instead of throwing them away anywhere."; + mes "Bring back at least 10 of each."; + set ep13_3_secret, 17; + setquest 7199; + next; + mes "[Cheshire]"; + mes "You mustn't be seen by anyone."; + mes "You mustn't tell the Saphas."; + mes "Work in absolute secrecy!"; + close2; + } + else if (ep13_3_secret == 17) { + if (countitem(6306) > 9 && countitem(6305) > 9 && countitem(6307) > 9) { + mes "[Cheshire]"; + mes "..... ..you"; + mes "Are useful, aren't you?"; + mes "That will be all for today."; + mes "We will need to work little by little so we don't draw attention."; + delitem 6306,10; //Solid_Bloodstain + delitem 6305,10; //Frozen_Skin_Piece + delitem 6307,10; //Suspicious_Magic_Stone + set ep13_3_secret, 18; + erasequest 7199; + setquest 7200; + set ep13_3_ahtdayq, 2; + close2; + } + else { + mes "[Cheshire]"; + mes "Erase the various traces nearby the crack."; + mes "Your job is to collect and bring back clotted bloodstains, remnants of magic spells, and pieces of skin."; + next; + mes "[Cheshire]"; + mes "This cannot be done in a day so please bring back at least 10 of each."; + mes "Got it?"; + close2; + } + } + else if (ep13_3_secret == 18) { + mes "[Cheshire]"; + mes "Your work is done with me."; + mes "Do you have something for Ahat?"; + close2; + } + else { + if (ep13_3_ahtdayq == 1) { + if ((countitem(6306) > 9) && (countitem(6305) > 9) && (countitem(6307) > 9)) { + mes "[Cheshire]"; + mes "Ok. Confirmed."; + mes "Good."; + mes "You used an exploit certification to get here, didn't you?"; + mes "I'll return it to you."; + next; + mes "[Cheshire]"; + mes "We will do this again tomorrow."; + mes "Ahat seems to trust you very much."; + mes "Let's do are best."; + delitem 6306,10; //Solid_Bloodstain + delitem 6305,10; //Frozen_Skin_Piece + delitem 6307,10; //Suspicious_Magic_Stone + set ep13_3_ahtdayq, 2; + getitem 6304,1; //Sapa_Feat_Cert + getexp 70000,0; + getexp 0,30000; + erasequest 7201; + setquest 7200; + close2; + } + else { + mes "[Cheshire]"; + mes "As always, go and collect traces nearby the crack north from here."; + mes "Clotted Bloodstain, Piece of Frozen Skin, Strange Magic Stone.."; + mes "10 of each."; + close2; + } + } + else if (ep13_3_ahtdayq == 2) { + if (checkquest(7200,PLAYTIME) == 0 || checkquest(7200,PLAYTIME) == 1) { + mes "[Cheshire]"; + mes "Not just yet."; + mes "We must plan the cleanup near the crack carefully."; + mes "Come back later."; + close2; + } + else if (checkquest(7200,PLAYTIME) == 2) { + mes "[Cheshire]"; + mes "Back to work today."; + mes "Clotted Bloodstain, Piece of Frozen Skin, Strange Magic Stone.."; + mes "Bring them back quietly."; + next; + mes "[Cheshire]"; + mes "Collect 10 of each as always."; + mes "Got it?"; + set ep13_3_ahtdayq, 1; + if (checkquest(7200,PLAYTIME) >= 0) erasequest 7200; + setquest 7201; + next; + mes "You've received a request from Cheshire to clean up the crack area."; + mes "Ahat and Cheshire still have no clue."; + close2; + } + else { + mes "This mustn't happen.Case4"; + mes "Request help from GM."; + close2; + } + } + else { + mes "This mustn't happen.Case5"; + mes "Request help from GM."; + close2; + } + } + cutin "",255; + end; +} + +dic_in01,300,280,5 script Minister Ahat#ep133_21 493,{ + // if ((GetInventoryRemainCount 1301 3 == 2) || (GetInventoryRemainCount 1301 3 == 3)) { + if ((MaxWeight - Weight) < 1000) { + mes "- You can too many items to proceed with the quest. -"; + close; + } + if (ep13_3_secret < 13) { + mes "[Minister Ahat]"; + mes "Who?"; + mes "I don't remember giving you permission to enter."; + close2; + warp "dic_in01",262,191; + end; + } + else if (ep13_3_secret == 13) { + mes "As soon as you try to approach Ahat, someone"; + mes "pushes down your head to force you to bow."; + soundeffect "wander_man_move.wav",0; + SC_Start SC_Blind,60000,0; + next; + mes "[Ringing Voice]"; + mes "That is fine, Cheshire."; + mes "Are you here to see me?"; + next; + mes "[Ringing Voice]"; + mes "Hold up your head and come closer."; + mes "Conversations are meant to have with eye contact."; + next; + cutin (Sex?"ep13_ahat_f":"ep13_ahat_m"),2; + mes "You hold up your head at the sound of Ahat's voice"; + mes "But you see a human in high-ranking Sapha clothing in front of you."; + SC_End SC_Blind; + emotion e_omg,1; + set ep13_3_secret, 14; + erasequest 7198; + close2; + } + else if (ep13_3_secret == 14) { + cutin (Sex?"ep13_ahat_f":"ep13_ahat_m"),2; + mes "[Ahat]"; + mes "Surprised?"; + mes "Because I look like a human just like you?"; + next; + select("You aren't a Sapha?:Human?!!!!!:Pretty..!!:So handsome..!"); + mes "[Ahat]"; + mes "Hahaha... that's fine."; + mes "I understand you can't help being surprised at my appearance."; + mes "How do I look to you?"; + next; + mes "[Ahat]"; + mes "A perfect male?"; + mes "A perfect female?"; + mes "Doesn't matter."; + next; + mes "[Ahat]"; + mes "Who you see in front of you is not me."; + mes "Lie to a lie."; + mes "A vision in a wavering reflection."; + next; + mes "[Ahat]"; + mes "Just an image from a memory in your fixed concept.."; + mes "Look deep into your depths."; + next; + mes "Ahat's voice rings pleasantly in your ears."; + mes "Each syllable he says takes effect on your body."; + next; + mes "You see someone smiling peaceful at you from afar..."; + next; + mes "[Soft Voice]"; + mes "Who is the master?"; + next; + mes "- Ahat seems to be casting a powerful spell."; + mes "This might be his real ability. -"; + next; + select("Stop that!:Demon go away!"); + mes "[Ahat]"; + mes ".. useless resistance..."; + mes "But this is fun from time to time."; + mes "I can always cast a spell on you anytime."; + next; + mes "[Ahat]"; + mes "Now.. hold up your head and look into my eyes.."; + mes "...."; + next; + while (.@ahtlove < 4) { + set .@ahtlove, .@ahtlove + 1; + mes "- Ahat tries to hypnotize you again."; + mes "He must have erased himself by doing this over and over again.-"; + next; + if (.@ahtlove == 1) { + select("Overcome with willpower."); + mes "[Ahat]"; + mes "Amusing."; + mes "Don't you think, Cheshire?"; + mes "Hahaha. Playing hard to get.. this will be fun.."; + next; + } + else if (.@ahtlove == 2) { + select("You close your eyes.."); + mes "[Ahat]"; + mes "No, no.. you mustn't close them."; + mes "Cheshire."; + next; + mes "- As soon as the order was made"; + mes "Ahat's aide comes to make you stare at Ahat.-"; + next; + } + else if (.@ahtlove == 3) { + select("Try to sing a song."); + mes "[Ahat]"; + mes "Humans are funny."; + mes "But you need to listen to me so I will make you quiet for awhile."; + next; + mes "[Ahat]"; + mes "No use on resisting."; + mes "Just leave everything to me."; + next; + } + else { + select("Try to twist your body."); + mes "[Ahat]"; + mes "Amusing."; + mes "Don't you think, Cheshire?"; + mes "Hahaha. Playing hard to get.. this will be fun.."; + next; + mes "[Ahat]"; + mes "Stop that because you look pathetic."; + mes "Just relax and let loose for my spell."; + next; + } + } + mes "[Ahat]"; + mes "You are resisting."; + mes "So you didn't just come here."; + mes "Let's see how much you can stand."; + next; + mes "[Ahat]"; + mes "Who is your master?"; + next; + if (select("Pretend to be under the spell.:Well, you tell me") == 1) { + mes "- You start acting like you are hypnotized."; + mes "Ahat looks satisfied. -"; + next; + } + else { + mes "[" + strcharinfo(0) + "]"; + mes "You!!!"; + mes "I'm in love!"; + mes "I will die for you!"; + next; + mes "- You start acting like you are hypnotized.-"; + next; + mes "[Ahat]"; + mes "........ ah, no."; + mes "No need to kill yourself"; + mes "Now you are under my spell."; + mes "...."; + next; + } + mes "[Ahat]"; + mes "Who are you to me?"; + next; + if (select("A foot stool!:Loyal servant.") == 1) { + mes "[Ahat]"; + mes "I don't need a foot stool."; + mes "Let's talk after a minute."; + } + else { + mes "[Ahat]"; + mes "I see."; + mes "You are my loyal servant."; + mes "My hands and feet."; + } + set ep13_3_secret, 15; + close2; + } + else if (ep13_3_secret == 15) { + cutin (Sex?"ep13_ahat_f":"ep13_ahat_m"),2; + mes "[Ahat]"; + mes "My loyal evil servant."; + mes "Come closer."; + next; + if (select("What am I doing?:Your wish is my command.") == 1) { + mes "[Ahat]"; + mes "Aren't you stubborn."; + mes "My spell doesn't work on you?"; + mes "Or it was broken.."; + mes "Or because you don't have your strength back."; + next; + mes "- Ahat casts another powerful spell.-"; + next; + mes "[Ahat]"; + mes "Who is your master?"; + next; + select("My master is Ahat."); + } + mes "[Ahat]"; + mes "Good. You are now allowed to come and go freely."; + mes "You will work for me starting now."; + next; + mes "[Ahat]"; + mes "Here is your first mission."; + mes "A crack of dimension occurred south from El Dicastes. Do you know about it?"; + next; + mes "[Ahat]"; + mes "There are many traces around the crack."; + mes "You're mission is to go find these tracks and erase them."; + next; + mes "[Ahat]"; + mes "Cheshire, let him know the details of this mission."; + mes "^4d4dffI'm very tired from casting a spell because I'm not fully awaken.^000000"; + next; + mes "[Ahat]"; + mes "You will now talk about us meeting to the Naga people."; + mes "Tell them that I look like a Sapha and always work alone in my office."; + next; + mes "[Ahat]"; + mes "Never talk about Cheshire."; + mes "Cheshire is never here."; + mes "You must follow Cheshire's orders from now on."; + mes "Go now."; + next; + mes "- Ahat doesn't suspect a thing yet."; + mes "He seems to believe that his spell was complete. -"; + set ep13_3_secret, 16; + close2; + } + else if (ep13_3_secret == 16) { + cutin (Sex?"ep13_ahat_f":"ep13_ahat_m"),2; + mes "[Ahat]"; + mes "You must follow Cheshire's orders from now on."; + mes "Go now."; + next; + mes "- Ahat doesn't suspect a thing yet."; + mes "He seems to believe that his spell was complete. -"; + close2; + } + else if (ep13_3_secret == 17) { + cutin (Sex?"ep13_ahat_f":"ep13_ahat_m"),2; + mes "[Ahat]"; + mes "Cheshire's orders are important for future plans."; + mes "Make no mistakes and never leave traces that may lead to me."; + mes "This is your master's orders."; + close2; + } + else if (ep13_3_secret == 18) { + cutin (Sex?"ep13_ahat_f":"ep13_ahat_m"),2; + mes "[Ahat]"; + mes "Do you have something to say?"; + mes "You've done well in the crack area."; + next; + select("What are those?"); + mes "[Ahat]"; + mes "Well..."; + mes "You don't need to know now."; + mes "Or probably never need to know."; + mes "Ho ho."; + next; + mes "[Ahat]"; + mes "Where will your sword point at.."; + mes "the day you get to know.."; + mes "Now leave me since I'm tired."; + next; + mes "[Ahat]"; + mes "I'm still the Jarute of Dicastes and have piles of work to do."; + mes "Because it is difficult to satisfy everyone with only one loaf of bread."; + next; + mes "[Ahat]"; + mes "And this is something to reward you for your deeds."; + mes "Nothing much but I hope you like it."; + set ep13_3_secret, 19; + getitem 2790,1; //Bradium_Brooch + close2; + } + else { + cutin (Sex?"ep13_ahat_f":"ep13_ahat_m"),2; + mes "[Ahat]"; + mes "Follow Cheshire's orders for the time being and clear the area nearby the crack."; + next; + mes "-Ahat still thinks you are under her spell."; + mes "Let's follow along with Cheshire's orders and act normal. -"; + close2; + } + cutin "",255; + end; +} + +dic_in01,138,188,0 script #ep133_event02 139,4,4,{ +OnTouch: + if (ep13_3_secret == 19) { + if (!isequipped(2782)) { + mes "[Quiet Voice]"; + mes "¡þ¡ù¡ó ¢¤¡ö¡ø...."; + mes "¡ò¡õ¡ú ¡÷¢£¡ü ¡ø ¡Ð¡õ¡û..."; + } + else { + mes "[Quiet Voice]"; + mes "Sorry."; + mes "Just a moment."; + } + close2; + warp "dic_in01",155,188; + } + end; +} + +dic_in01,158,188,3 script Jarute HesLanta#ep133_2 451,{ + if (!isequipped(2782)) { + mes "[Jarute HesLanta]"; + mes "¡ô¡ó¡ö ¡÷ ¡þ¡ù¡ó?"; + mes "¢¤¡ö¡ø ¢³ ¡÷¢£¡ü ¡ø ¡Ð¡õ¡û..."; + mes "¡ð¡ú¢± ¡ô ¡ò¡õ¡ú ¡õ..!"; + next; + mes "Cannot communicate with him."; + mes "Sapha's minister looks hopeless."; + mes "Gestures with an expression of abandonment."; + next; + select("Is he asking me to leave?:Or doesn't have a clue on something?"); + mes "I follow the gesture the minister did and then the minister sighs and nods her head."; + close2; + warp "dic_in01",144,188; + end; + } + if (ep13_3_secret < 19) { + mes "[HesLanta]"; + mes "You are from the Midgard expedition."; + mes "I heard many stories of you being active around here."; + next; + mes "[HesLanta]"; + mes "Ah, it is a bit far, isn't it?"; + mes "There is an invisible wall between this room and the corridor."; + mes "But of course I can move around freely."; + next; + mes "[HesLanta]"; + mes "There is nothing threatening Diel but we've put this wall up just in case."; + mes "By the way this isn't magical but is made by a magnetic field."; + next; + mes "[HesLanta]"; + mes "Oh no, I'm talking too much."; + mes "Sorry. There aren't many people that come here. I got excited."; + next; + mes "[HesLanta]"; + mes "You've come to help Ahat?"; + mes "Haha.. good luck."; + close; + } + else if (ep13_3_secret == 19 || ep13_3_secret == 20) { + if (ep13_3_secret == 19) { + mes "[HesLanta]"; + mes "I'm sorry to bring you here suddenly."; + mes "But I wanted to check someone."; + next; + mes "[HesLanta]"; + mes "Jarute.. What did Ahat look like to you?"; + next; + set .@m, select("I don't understand your question.:My master.") - 1; + if (.@m) { + mes "[HesLanta]"; + mes "....huh....?"; + mes "You do? I guess I made a mistake."; + mes "Sorry."; + next; + mes "HesLanta is upset with my reply."; + mes "His expression is complex and dark."; + set ep13_3_secret, 20; + close; + } + mes "[HesLanta]"; + mes "I'll rephrase my question."; + mes "Have you found anything strange about Ahat?"; + next; + select("Why are you asking?"); + mes "[HesLanta]"; + mes "Well, because I don't trust Ahat."; + mes "There are too many odd things about Ahat."; + next; + select("Are you allowed to say that?"); + } + else if (ep13_3_secret == 20) { + mes "[HesLanta]"; + mes "Ah, sorry."; + mes "You can't get out?"; + mes "It was designed that way."; + mes "I will send you out"; + next; + select("I was joking before."); + mes "[" + strcharinfo(0) + "]"; + mes "I want to know about Ahat too."; + mes "I want to talk about him with you."; + mes "But aren't you too defenseless while I'm talking like this?"; + next; + } + mes "[HesLanta]"; + mes "Well. Are you Ahat's servant?"; + mes "Then that is strange too."; + mes "Why would Ahat use a non-Sapha as a servant?"; + mes "Why are you serving Ahat?"; + next; + select("What if I hurt you?"); + mes "[HesLanta]"; + mes "Try it if you can."; + mes "My office is special and you won't be able to leave here."; + mes "And nobody can come in to help you either."; + next; + mes "[HesLanta]"; + mes "But this room is open to anyone."; + mes "If you have any bad intentions in hurting me then brave Galtens will come"; + mes "and teach you a lesson."; + next; + mes "[HesLanta]"; + mes "Another thing. If things flow like that then you and Ahat won't stand a chance."; + next; + mes "[HesLanta]"; + mes "I'm now risking my life"; + mes "to unveil Ahat's identity."; + mes "Sapha's don't fear death."; + next; + mes "[HesLanta]"; + mes "If I were to die at your hands"; + mes "I will have no regrets as long as I reveal the truth."; + next; + select("Okay. Stop it."); + mes "[HesLanta]"; + mes "Now you understand."; + mes "I'll ask you again."; + mes "Have you found anything suspicious about Ahat?"; + next; + mes "[HesLanta]"; + mes "Ahat almost never meets anyone else except for Ravail."; + mes "But he allowed you to visit him means there is something going on."; + next; + select("He casted a spell on me."); + mes "[HesLanta]"; + mes "Hypnotize? Why would he?"; + mes "Wait, that means you are under Ahat's spell...!!"; + mes "Oh no!"; + next; + select("No!:That's not it!"); + mes "[" + strcharinfo(0) + "]"; + mes "I'm not under the spell!"; + mes "I only pretend that I am. I'm also investigating Ahat!"; + next; + mes "[HesLanta]"; + mes "Huh? What does that mean?"; + mes "Are you acting right now?"; + next; + mes "You take out the traces you've found near the crack."; + mes "And start to explain what Ahat ordered you to do."; + next; + mes "[HesLanta]"; + mes "... you went through that.."; + mes "He is strange."; + mes "I only thought he was a Sapha colleague that avoided the curse."; + mes "So everything started from the crack."; + next; + select("He is human."); + mes "[" + strcharinfo(0) + "]"; + mes "El Dicastes only recently allowed humans to visit."; + mes "Why would a human take the place of a Sapha Jarute?"; + next; + mes "[HesLanta]"; + mes "Human?"; + mes "He is a Sapha. And a very beautiful and noble one."; + mes "When we first found him at the crack. We all thought the same thing."; + next; + mes "[HesLanta]"; + mes "The only Sapha that avoided the curse."; + mes "Because Ahat doesn't use Bradium."; + mes "Our race will get stiff and die by this curse"; + mes "but he is delicate, elegant and beautiful."; + next; + mes "[HesLanta]"; + mes "There was a bright light when the earth split with a huge roaring sound north from here."; + mes "And this beautiful Sapha was found next to the crack."; + next; + mes "[HesLanta]"; + mes "He was not a Sapha from Dicastes."; + mes "We took him to Ravail and wise Ravail concluded."; + next; + mes "[HesLanta]"; + mes "When we came here to avoid the god's curse,"; + mes "we have found a friend that was lucky enough to not be cursed."; + next; + mes "[HesLanta]"; + mes "Ahat climbed the ladder up to where he is now after gaining Ravail's trust."; + mes "His working abilities is amazing."; + mes "He is the perfect Sapha."; + set ep13_3_secret, 21; + next; + mes "HesLanta starts to think deeply after saying this."; + close; + } + else if (ep13_3_secret == 21) { + mes "[HesLanta]"; + mes "Ah, sorry."; + mes "I was thinking."; + mes "Crack.. hypnotism.. and the evidence you showed me."; + next; + mes "[HesLanta]"; + mes "I don't know why you think Ahat is human but"; + mes "that can also be part of his spell."; + next; + mes "[HesLanta]"; + mes "The reason he casted a spell.."; + mes "was to clean up the traces near the crack."; + mes "and he chose a non-Sapha, you.."; + next; + mes "[HesLanta]"; + mes "Because we Saphas mustn't know about the crack traces."; + mes "That means, Ahat is.."; + mes "^4d4dffcleaning up his traces that started from the crack^000000."; + next; + select("Erasing his own traces from the crack!!"); + mes "[HesLanta]"; + mes "Yes."; + mes "He is trying to cover up something related to the crack."; + mes "But what is it?"; + next; + mes "[HesLanta]"; + mes "When Ahat was first found near the crack, he had ^4d4dffno memory^000000."; + mes "Isn't that strange?"; + next; + mes "[HesLanta]"; + mes "I only get suspicious more and more when I hear your story."; + mes "But why I can't agree with this story is..."; + next; + mes "[HesLanta]"; + mes "Ahat is pure."; + mes "He is truly working for Sapha and Dicastes."; + next; + select("Then why are you investigating Ahat?"); + mes "[HesLanta]"; + mes "Ahat is loyal and is working wonders for the Sapha community but."; + next; + mes "[HesLanta]"; + mes "Ravail's trust and popularity from other Saphas is"; + mes "is concentrating Dicastes's power to one place."; + next; + mes "[HesLanta]"; + mes "The power is focused on Ahat."; + mes "When power should be spread out evenly throughout departments."; + next; + mes "[HesLanta]"; + mes "That is how everyone can monitor and check each other..."; + mes "and try their best and not stray to the wrong side of the road"; + mes "that is how we can live together."; + next; + mes "[HesLanta]"; + mes "But if power is concentrated to one place and used wrongly?"; + mes "All administrative are decided upon Ahat. Then what can he do with just a nod or shake of his head"; + next; + mes "[HesLanta]"; + mes "I'm scared of that."; + mes "He is beautiful. But beauty comes with thorns."; + next; + mes "[HesLanta]"; + mes "Ahat has slowly become the center."; + mes "If what he was holding in his was not bread but a sword.."; + mes "......."; + next; + mes "[HesLanta]"; + mes "I've gone too emotional."; + mes "Sorry."; + mes "My mind is so complicated now after hearing your story."; + next; + select("Do you know about Cheshire?"); + mes "[HesLanta]"; + mes "You mean the aide?"; + mes "Yes I do but most Sapha's don't."; + mes "Everyone near Ahat knows Cheshire."; + next; + mes "[HesLanta]"; + mes "^4d4dffCheshire is a feline Ahat brought with him^000000."; + mes "Ahat took care of injured Cheshire and brought him with him."; + mes "We have cats around so we didn't think much of him."; + next; + mes "[HesLanta]"; + mes "Because this land is their second homeland."; + mes "There may be other felines living elsewhere."; + mes "But he always covers his face with a bandana because he looks different from Saphas."; + next; + mes "[HesLanta]"; + mes "But why are you asking?"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Nothing."; + mes "I was only curious personally."; + mes "What are you going to do now?"; + next; + mes "[HesLanta]"; + mes "I will continue to keep an eye on Ahat."; + mes "Until I know the truth that is."; + next; + mes "You try to summarize what you talked about with HesLanta while he thinks things through."; + next; + while (1) { + if (.@yes == 5) { + mes "[" + strcharinfo(0) + "]"; + mes "To summarize."; + mes "The report robber is Cheshire."; + mes "Cheshire is Ahat's servant and they are related to the crack."; + mes "They are trying to hide something or someone at the crack"; + mes "and the crack was created by the evil lord Morroc!"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Ahat is the evil lord?"; + mes "No..."; + mes "This is unbelievable."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "I must go back to the expedition camp to report to Doha!"; + set ep13_3_secret, 22; + setquest 7203; + close; + } + else if (.@yes == 0) { + mes "[" + strcharinfo(0) + "]"; + mes "First the report culprit was.."; + next; + switch (select("Cheshire:Ahat:BK")) { + case 1: + mes "[" + strcharinfo(0) + "]"; + mes "It was Cheshire"; + mes "Cheshire is a feline."; + mes "and the bandana was to hid his ears."; + set .@yes, .@yes + 1; + break; + case 2: + mes "[" + strcharinfo(0) + "]"; + mes "Ahat? It can't be him."; + mes "Ahat doesn't fit the witness information."; + mes "Let's rethink this."; + break; + case 3: + mes "[" + strcharinfo(0) + "]"; + mes "BK?"; + mes "Nonsense"; + mes "Let's rethink this."; + break; + } + next; + } + else if (.@yes == 1) { + mes "[" + strcharinfo(0) + "]"; + mes "Why would Cheshire try to steal the report?"; + next; + if (select("No idea.:To make the conflict between 3 countries worse") == 1) { + mes "[" + strcharinfo(0) + "]"; + mes "We don't know the actual reason at this point."; + mes "But what will Cheshire gain out of this?"; + } + else { + mes "[" + strcharinfo(0) + "]"; + mes "To bring conflict between the three countries?"; + mes "What will Cheshire gain out of this?"; + } + set .@yes, .@yes + 1; + next; + } + else if (.@yes == 2) { + mes "[" + strcharinfo(0) + "]"; + mes "Cheshire's master is Ahat."; + mes "So all his actions are to.."; + next; + if (select("Cheshire is plotting on his own.:Ahat must be ordering him.") == 1) { + mes "[" + strcharinfo(0) + "]"; + mes "Cheshire arbitrary?"; + mes "Are you sure?"; + } + else { + mes "[" + strcharinfo(0) + "]"; + mes "Yes. Ahat must have order him."; + mes "But why would Ahat do that?"; + mes "Conflict between three countries? Or the report content?"; + set .@yes, .@yes + 1; + } + next; + } + else if (.@yes == 3) { + mes "[" + strcharinfo(0) + "]"; + mes "Let's think Ahat over."; + mes "Ahat came from the crack."; + mes "and has no records before that."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "And tries to erase all traces found near the crack."; + mes "And Ahat wants to eliminate..."; + next; + if (select("Ahat himself.:Morroc because of the crack?") == 1) { + mes "[" + strcharinfo(0) + "]"; + mes "Yes, Ahat might be a trace of himself."; + mes "Saphas want to hide something that is why they hired me"; + mes "that doesn't belong to any influence can be used as a puppet to do his dirty work."; + } + else { + mes "[" + strcharinfo(0) + "]"; + mes "A bit dramatic but we cannot rule out the evil lord Morroc."; + mes "Because the crack was created by the evil lord Morroc himself."; + } + set .@yes, .@yes + 1; + next; + } + else if (.@yes == 4) { + mes "[" + strcharinfo(0) + "]"; + mes "Ahat and the crack and then Morroc.."; + mes "I can tell there is a relationship between them but I can't pinpoint it."; + mes "And in the expedition's report..."; + next; + if (select("Content of conflict between three countries.. :Content about evil lord Morroc..") == 1) { + mes "[" + strcharinfo(0) + "]"; + mes "There was something about the conflict between three countries.."; + mes "But.. I don't think it all adds up?"; + mes "Let's think it over."; + } + else { + mes "[" + strcharinfo(0) + "]"; + mes "Yes. There is a report from the tracking team led by Echinacea."; + mes "It was about the evil lord Morroc."; + set .@yes, .@yes + 1; + } + next; + } + else { + mes "[" + strcharinfo(0) + "]"; + mes "Oh no. I don't know."; + mes "Let's think it over."; + set .@yes, 0; + next; + } + } + } + else if (ep13_3_secret == 22) { + cutin "ep13_heslanta",2; + mes "[HesLanta]"; + mes "You made a decision."; + mes "What are you going to do now?"; + mes "If possible, please help Ahat and keep a close eye on him."; + next; + mes "[HesLanta]"; + mes "I will prepare myself to confront him whenever he becomes a threat."; + mes "This is the best I can do now."; + next; + mes "[HesLanta]"; + mes "I only hope nothing sad will happen."; + mes "........"; + next; + mes "[HesLanta]"; + mes "I'm sorry to take your time. I will send you out now."; + mes "It was great to talk with you today."; + next; + switch (select("Me too.")) { + } + mes "[HesLanta]"; + mes "Let's keep our meeting a secret, alright?"; + mes "Hahaha."; + close2; + warp "dic_in01",144,188; + cutin "",255; + end; + } + set .@yessay, rand(1,3); + if (.@yessay == 1) { + mes "[HesLanta]"; + mes "I'm very tired because I had too much work today."; + mes "Ravail can only favor Ahat because he does this all by himself."; + next; + mes "[HesLanta]"; + mes "I must do my best too."; + mes "I don't want to do less than Ahat."; + mes "I meant in many aspects."; + close; + } + else if (.@yessay == 2) { + mes "[HesLanta]"; + mes "Ahat takes a walk with Cheshire sometimes."; + mes "They don't go far but often to the Jorhi Forest around dawn."; + next; + mes "[HesLanta]"; + mes "You get to see him walking if you are lucky."; + mes "Cheshire wears convenient clothes when walking, if that satisfies your curiosity."; + close; + } + mes "[HesLanta]"; + mes "You are always up and about."; + mes "I'm always watching Ahat."; + mes "Do you think I'm overdoing it?"; + next; + mes "[HesLanta]"; + mes "No, I wish I was wrong."; + mes "But this unknown anxiety makes me more suspicious about Ahat."; + next; + mes "[HesLanta]"; + mes "It is very tragic and sad to become suspicious of someone."; + mes "It is more worse if you can never share the sadness with anyone."; + next; + if (select("You are fine.:Then give up now.") == 1) { + mes "[HesLanta]"; + mes "Really?"; + mes "I feel a lot better."; + mes "This is called pampering, right?"; + close; + } + mes "[HesLanta]"; + mes "Sorry."; + mes "I must have taken much of your time."; + mes "I must become more stronger."; + close; +} + +dicastes01,223,190,1 script Calyon#pa8029 453,{ + mes "[Calyon]"; + if (isequipped(2782)) { + if (ep13_3_invite == 5) { + if (BaseLevel < 80) { + mes "Sorry, a minimum base level of 80 or higher is required to obtain my request."; + close; } + if (checkquest(12163,PLAYTIME) == 2) { + mes "Calculate your request activities with the ^800080Transport Dept. 1 Manager^000000 at Operations and then come back."; + close; + } else if (checkquest(12163,PLAYTIME) != -1) { + mes "We're done for the day. You can report back to the ^800080Transport Dept. 1 Manager^000000 at Operations. Good luck."; + close; } + mes "Welcome."; + mes "What brings you here?"; + next; + if(select("Please explain the request to me.", "Please give me a request.")==1) { + mes "[Calyon]"; + mes "The Transport Dept. 1 and 2 brings in rare items that are not available here."; + next; + mes "[Calyon]"; + mes "It is one of the key departments that obtains the rich supplies mostly from the Midgard Continent."; + next; + mes "[Calyon]"; + mes "Please see me any time once you are ready."; + close; + } + set .@calyonrequest,rand(1,11); + mes "[Calyon]"; + mes "Finally, I have a request for you. It is an important one so I need you to be focused."; + next; + mes "[Calyon]"; + if (.@calyonrequest == 1) { + setquest 12139; + setquest 12163; + mes "The high minister is looking for the Midgard product, Witherless Roses these days."; + mes "Not sure if it's a good gift but some have seen him with it on his head and showing it off."; + next; + mes "[Calyon]"; + mes "So... I know this is difficult to ask for but please bring me 1 Witherless Rose. This is just between you and me."; + next; + mes "You have received a request named ^800080Respect for Taste^000000."; + } else if (.@calyonrequest == 2) { + setquest 12137; + setquest 12163; + mes "The industrial research center researches ways of refining Bradium efficiently but they are always short on test materials."; + next; + mes "[Calyon]"; + mes "I heard there is a merchant in the adventurer's city who sells Glass Tubes. I will need 4 of them."; + next; + mes "You have received a request named ^800080Tools for Experiment^000000."; + } else if (.@calyonrequest == 3) { + setquest 12138; + setquest 12163; + mes "The pub owner said he wants to give a gift to all his regular Sapha customers."; + next; + mes "[Calyon]"; + mes "But doesn't know what to give. If you see any interesting gifts in Midgard, can bring back 5 of them?"; + next; + mes "You have received a request named ^800080Fine Gift Samples^000000."; + } else if (.@calyonrequest == 4) { + setquest 12140; + setquest 12163; + mes "A request from the pub owner. He says he can't use disposable leaf plates for regular customers."; + next; + mes "[Calyon]"; + mes "He is asking for 15 solid, white chinas from Midgard."; + next; + mes "You have received a request named ^800080Courtesy for Regular^000000."; + } else if (.@calyonrequest == 5) { + setquest 12141; + setquest 12163; + mes "I have a personal request. I heard there is a round transparent handicraft in Midgard."; + mes "I think they are called Glass Beads."; + next; + mes "[Calyon]"; + mes "We have similar manufactured items here but nothing compared to the elaborate sphere there."; + mes "Please get me 10 of them."; + next; + mes "You have received a request named ^800080Special Package^000000."; + } else if (.@calyonrequest == 6) { + setquest 12142; + setquest 12163; + mes "Hmm... I don't know how to start. The high minister is requesting for puppets from Midgard."; + mes "I don't know what it is but since the high minister is asking for it, it must be used for a very important purpose."; + next; + mes "[Calyon]"; + mes "Please bring 15 of them."; + next; + mes "You have received a request named ^800080Dangerous Request^000000."; + } else if (.@calyonrequest == 7) { + setquest 12143; + setquest 12163; + mes "I heard there is a trend among many of my colleagues here about a musical accessory made from a Bill of Birds from Midgard."; + next; + mes "[Calyon]"; + mes "I'm thinking of distributing them within the Operations building."; + mes "Can you buy and bring back 50 of them?"; + next; + mes "You have received a request named ^800080Strange Trend^000000."; + } else if (.@calyonrequest == 8) { + setquest 12144; + setquest 12163; + mes "The pub owner said he wanted to decorate the pub with something called Clam Shells."; + mes "Please bring back about 50 of them."; + next; + mes "[Calyon]"; + mes "I have no idea how he will use them but I think he has a very unique taste after being acquainted with many adventurers."; + next; + mes "You have received a request named ^800080Unknown Usage^000000."; + } else if (.@calyonrequest == 9) { + setquest 12145; + setquest 12163; + mes "We don't have cuisine for ourselves but many adventurers seem to enjoy the art of eating."; + mes "So the pub owner needs a plate for his new cuisine."; + next; + mes "[Calyon]"; + mes "He asked for 20 Crab Shells."; + mes "I have no idea where you can get them but... good luck."; + next; + mes "You have received a request named ^800080Other World Cuisine^000000."; + } else if (.@calyonrequest == 10) { + setquest 12146; + setquest 12163; + mes "I think the most useful Midgard item is Scells."; + next; + mes "[Calyon]"; + mes "Use Scells to fill any crack or holes in a building and then mix and plaster grinded Garlet to it and the building is maintained quick and simple."; + mes "Can you bring back 30 of them?"; + next; + mes "You have received a request named ^800080Filling in Cracks^000000."; + } else if (.@calyonrequest == 11) { + setquest 12147; + setquest 12163; + mes "Garlets are an element in building maintenance."; + mes "It is one of the most important materials in buildings."; + next; + mes "[Calyon]"; + mes "Before Garlets were available, we crushed and used Zargons but they have become difficult to come by."; + mes "Please bring back 40 of them."; + next; + mes "You have received a request named ^800080Adhesive Material^000000."; } + mes "You can check details of the request and who to report back to by opening the ^800080Quest Window^000000."; + mes "You have 23 hours to complete this mission."; + close; + } + mes "- The Sapha keeps a distance from you even when you try to talk."; + mes "It looks like he is calling for a Galten. Time to go. -"; + close; + } + mes "¡õ¢£¡ô"; + mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£"; + next; + mes "- I can't understand him... -"; + close; +} + +dicastes01,211,178,2 script Moltuka#pa0829 453,{ + if (!checkweight(1201,1)) { + mes "You have too many kinds of items. Let's try again after you reduce the number of items."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "Cannot proceed because the weight of your items is too heavy. Let's try again after you get rid of some weight."; + close; + } + if (!isequipped(2782)) { + mes "¡õ¢£¡ô"; + mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£"; + next; + mes "I don't feel confident in talking since you wouldn't understand anything."; + close; + } + if (ep13_3_invite < 6) { + mes "Sapha keeps a distance from you even when you try to talk. Looks like he called on Guard Galten. Time to go."; + close; + } + if (BaseLevel < 80) { + mes "[Moltuka]"; + mes "Ha ha, come back again after you are trained more. I have no request that fits you."; + close; + } + if (checkquest(12164,PLAYTIME) == 2) { + mes "[Moltuka]"; + mes "Have you met the ^990099Transport Dept. 2 Manager^000000 at Operations? I will give you a new request after you clear your request history."; + close; + } + else if (checkquest(12164,PLAYTIME) != -1) { + mes "[Moltuka]"; + mes "I don't have any requests for you now. Report back to the ^990099Transport Dept. 2 Manager^000000 at Operations after you complete all requests."; + close; + } + mes "[Moltuka]"; + mes "Welcome."; + mes "What brings you here?"; + next; + if (select("Please explain the request to me.:Please give me a request.") == 1) { + mes "[Moltuka]"; + mes "You'd rather go to see Calyon for him to explain you about Transport 1,2 Department."; + next; + mes "[Moltuka]"; + mes "Since I am not good at speaking."; + close; + } + mes "[Moltuka]"; + mes "Request...Yeah, there is some. Wait a second."; + next; + mes "[Moltuka]"; + mes "........ (rummaging)"; + next; + mes "[Moltuka]"; + mes "..............(rustling sound)"; + next; + set .@tut_13, rand(1,11); + if (.@tut_13 == 1) { + setquest 12148; + setquest 12164; + mes "[Moltuka]"; + mes "Those Tatachos are so quick if we want to catch them which is pretty hard."; + next; + mes "[Moltuka]"; + mes "So the galtens here lure them with Monster's Feed. It's said that there is an expert who does that job, please get 100 Monster's feed."; + next; + mes "I got you a request named ^880088Bait for Tatacho Hunting^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close2; + setquest 12148; + setquest 12164; + end; + } + else if (.@tut_13 == 2) { + setquest 12149; + setquest 12164; + mes "[Moltuka]"; + mes "The pub owner wants some apple to learn how to cook well."; + next; + mes "[Moltuka]"; + mes "But I never heard of any adventurers from Midgard who were fond of his food. Anyway he says that he will try, so get 100 apples for him."; + next; + mes "I got you a request named ^880088Swordmanship Practice^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close2; + setquest 12149; + setquest 12164; + end; + } + else if (.@tut_13 == 3) { + setquest 12150; + setquest 12164; + mes "[Moltuka]"; + mes "This is a request from the pub owner. He wants some reddish vegetable in order to have a colorful dish."; + next; + mes "[Moltuka]"; + mes "Well..... Carrot, is it? Anyway it's being called with that name in your land... I don't really have any expectation. Sorry. I just was talking myself before. Please do prepare 100 of them."; + next; + mes "I got you a request named ^880088Pretty reddish vegetable^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close2; + setquest 12150; + setquest 12164; + end; + } + else if (.@tut_13 == 4) { + setquest 12151; + setquest 12164; + mes "[Moltuka]"; + mes "It's said that there had been an explosion in the pub. People say it was because of some vegetable named Pumpkin which was being thoroughly roasted on the fire."; + next; + mes "[Moltuka]"; + mes "for this incident, no pumpkin left. So it will be appreciated if you can find 100 pumpkins."; + next; + mes "I got you a request named ^880088Tenacity of the pub owner^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close2; + setquest 12151; + setquest 12164; + end; + } + else if (.@tut_13 == 5) { + setquest 12152; + setquest 12164; + mes "[Moltuka]"; + mes "The pub owner has requested that.... He misses sweet potato which he used to eat when he was young. He wants 50 sweet potatos."; + next; + mes "[Moltuka]"; + mes "I can understand him since he is away from home for long time. By chance you visit Midgard, please try to get them."; + next; + mes "I got you a request named ^880088Taste like home cooking^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close2; + setquest 12152; + setquest 12164; + end; + } + else if (.@tut_13 == 6) { + setquest 12153; + setquest 12164; + mes "[Moltuka]"; + mes "The pub owner wants to cook something strange. He said it will be Roasted Banana but I reckon he's cooked something similar before... "; + next; + mes "[Moltuka]"; + mes "Well, I can't remember much. Anyway... You need to get 100 Bananas."; + next; + mes "I got you a request named ^880088Harzardous plant when burnt^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close2; + setquest 12153; + setquest 12164; + end; + } + else if (.@tut_13 == 7) { + setquest 12154; + setquest 12164; + mes "[Moltuka]"; + mes "This request is from the pub owner. He wants some meat."; + next; + mes "[Moltuka]"; + mes "Nothing else in his request direction. It will be enough with 50 chunks. I wonder if he really is running his business..."; + next; + mes "I got you a request named ^880088Unexpectedly Normal^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close2; + setquest 12154; + setquest 12164; + end; + } + else if (.@tut_13 == 8) { + setquest 12155; + setquest 12164; + mes "[Moltuka]"; + mes "I'd like to give a present to the pub owner. This is a personal request so you don't have to get stressed for this. Few days ago, I saw the pub owner frustrated with all broken ladles."; + next; + mes "[Moltuka]"; + mes "It seemed that he made it himself by I felt pitiful for him, so I want you to get 20 black ladles which can be purchased in Midgard."; + next; + mes "I got you a request named ^880088Gift with heart^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close2; + setquest 12155; + setquest 12164; + end; + } + else if (.@tut_13 == 9) { + setquest 12156; + setquest 12164; + mes "[Moltuka]"; + mes "The high minister wanted mirrors made from Midgard crystal. There are many Manukan mirrors but he seems to prefer to Midgard ones."; + next; + mes "[Moltuka]"; + mes "I am actually a bit worried but there must be a reason for our 'wise' high minister."; + next; + mes "I got you a request named ^880088Respect for Taste 2^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close2; + setquest 12156; + setquest 12164; + end; + } + else if (.@tut_13 == 10) { + setquest 12157; + setquest 12164; + mes "[Moltuka]"; + mes "The pub owner is requesting something this time. He wants 2 Pineapples and wants you to know that..."; + next; + mes "[Moltuka]"; + mes "I might try to make a special cocktail. I am confident of doing it since I did make good poison."; + next; + mes "I got you a request named ^880088Resolution of the pub owner^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close2; + setquest 12157; + setquest 12164; + end; + } + else if (.@tut_13 == 11) { + setquest 12158; + setquest 12164; + mes "[Moltuka]"; + mes "Again....The pub owner's request. He wants 2 Melons and wants you to know that..."; + next; + mes "[Moltuka]"; + mes "I might try to make a special cocktail. I am confident of doing it since I did make good poison."; + next; + mes "I got you a request named ^880088Rage of the pub owner^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close2; + setquest 12158; + setquest 12164; + end; + } +} + +dicastes01,175,217,5 script Kalipo#pa0829 453,{ + if (!checkweight(1201,1)) { + mes "You have too many kinds of items. Let's try again after you reduce the number of items."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "Cannot proceed because the weight of your items is too heavy. Let's try again after you get rid of some weight."; + close; + } + if (!isequipped(2782)) { + mes "¡õ¢£¡ô"; + mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£"; + next; + mes "I don't feel confident in talking since you wouldn't understand anything."; + close; + } + if (ep13_3_invite < 6) { + mes "Sapha keeps a distance from you even when you try to talk. Looks like he called on Guard Galten. Time to go."; + close; + } + if (BaseLevel < 100) { + mes "[Kalipo]"; + mes "Ha ha ha, many other adventurers are giving a helping hand. I'll see you next time."; + close; + } + if (checkquest(12160,PLAYTIME) == 2) { + mes "[Kalipo]"; + mes "Please come back after checking"; + mes "previous requests with the ^990099Hunting Dept. 2 Manager^000000."; + close; + } + else if (checkquest(12160,PLAYTIME) > -1) { + mes "[Kalipo]"; + mes "I do not have any additional requests. Please report to the ^990099Hunting Dept. 2 Manager^000000 at Operations to report request completion."; + close; + } + mes "[Kalipo]"; + mes "Welcome."; + mes "Are you here for a request?"; + next; + if (select("Please explain the request to me.:Please give me a request.") == 1) { + mes "[Kalipo]"; + mes "As you know better"; + mes "and Laponte explained to you"; + mes "already"; + mes "I just can offer you"; + mes "one single request a day."; + next; + mes "[Kalipo]"; + mes "For sure"; + mes "you will get more interesting"; + mes "request, after"; + mes "you raise your levels"; + mes "don't feel bad with"; + mes "the simple request at first"; + close; + } + mes "[Kalipo]"; + mes "I will check the list of"; + mes "requests that came in today."; + next; + mes "[Kalipo]"; + mes "Hmm.."; + mes "I actually have something"; + mes "just right for you."; + next; + set .@tut_lv, (BaseLevel); + set .@rand, rand(100,BaseLevel); + if (.@rand < 109) { + setquest 12106; + setquest 12160; + mes "[Kalipo]"; + mes "Our scout who went to Rapine is being attacked by cute child looking monsters."; + next; + mes "[Kalipo]"; + mes "So we need to hunt them inevitably, and you are the one for hunting them since you are not from Rapine."; + next; + mes "I got you a request named ^990099A child on the flower^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@rand < 112) { + setquest 12107; + setquest 12160; + mes "[Kalipo]"; + mes "Are you aware of the child looking flower, Pinguicula? People say there has been a mutant of that flower."; + next; + mes "[Kalipo]"; + mes "They are very violent and aggressive so the troops from Rapine have been sent to slay them. Please go to check up and treat it before they are spread all over the area."; + next; + mes "I got you a request named ^990099Twisted Love^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@rand < 116) { + setquest 12108; + setquest 12160; + mes "[Kalipo]"; + mes "Some mineral collectors are missing, and it seems to be done by nepenthes for sure."; + next; + mes "[Kalipo]"; + mes "Nepenthes is similar to Mandragora. We gotta do something in order to protect people from more damage."; + next; + mes "I got you a request named ^990099Dangerous Plant Removal^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@rand < 119) { + setquest 12109; + setquest 12160; + mes "[Kalipo]"; + mes "They've discovered the centipede larva habitat. We can remove them now so there will be less mom centipedes."; + next; + mes "[Kalipo]"; + mes "Would you find them and kill them? You will have to be careful with the mom centipedes around them."; + next; + mes "I got you a request named ^990099Larva Extermination^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@rand < 124) { + setquest 12110; + setquest 12160; + mes "[Kalipo]"; + mes "Miners heading to Nidhogg's nest, it's been reported that the miners were attacked by a strange thing."; + next; + mes "[Kalipo]"; + mes "It's said that it was human looking water, but it must be an evil thing which is not water spirit. Perhaps the Nidhogg Dungeon is the origin so please visit there to check up."; + next; + mes "I got you a request named ^990099Demon of Water^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else { + setquest 12111; + setquest 12160; + mes "[Kalipo]"; + mes "Tatachos were originally beautiful birds, and they could fly. But since they settled here where there is no natural enemy, they started to be fat and lazy,"; + next; + mes "[Kalipo]"; + mes "And finally they became like now, so ugly birds. You will be a good natural enemy for them."; + next; + mes "I got you a request named ^990099Bird with ugly face^000000 You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } +} + +dicastes01,187,230,5 script Laponte#pa0829 453,{ + if (checkweight(1201,1) == 0) { + mes "You have too many kinds of items. Let's try again after you reduce the number of items."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "Cannot proceed because the weight of your items is too heavy. Let's try again after you get rid of some weight."; + close; + } + if (!isequipped(2782)) { + mes "¡õ¢£¡ô"; + mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£"; + next; + mes "I don't feel confident in talking since you wouldn't understand anything."; + close; + } + if (ep13_3_invite < 6) { + mes "Sapha keeps a distance from you even when you try to talk. Looks like he called on Guard Galten. Time to go."; + close; + } + if (BaseLevel < 97) { + mes "[Laponte]"; + mes "Ha ha ha, many other adventurers are giving a helping hand. I'll see you next time."; + close; + } + if (checkquest(12159,PLAYTIME) > -1 && checkquest(12159,PLAYTIME) < 2) { + mes "[Laponte]"; + mes "I do not have any additional requests. Please report to the ^990099Hunting Dept. 1 Manager^000000 at Operations to report request completion."; + close; + } + else if (checkquest(12159,PLAYTIME) == 2) { + mes "[Laponte]"; + mes "Please come back after checking"; + mes "previous requests with the ^990099Hunting Dept. 1 Manager^000000."; + close; + } + mes "[Laponte]"; + mes "Welcome."; + mes "Are you here for a request?"; + next; + if (select("Please explain the request to me.:Please give me a request.") == 1) { + mes "[Laponte]"; + mes "I'm responsible of allocating"; + mes "requests from other departments"; + mes "related to hunting"; + mes "monsters to"; + mes "adventurers."; + next; + mes "[Laponte]"; + mes "Each adventurer is randomly assigned"; + mes "to one request each day"; + mes "and the range of the request"; + mes "assigned is limited to"; + mes "the adventurer's training level."; + next; + mes "[Laponte]"; + mes "Advanced jobs are assigned"; + mes "to adventurers who"; + mes "advance in their battle skills"; + mes "so no need to be upset if"; + mes "your first few requests are small."; + close; + } + mes "[Laponte]"; + mes "I will check the list of"; + mes "requests that came in today."; + next; + mes "[Laponte]"; + mes "Hmm.."; + mes "I actually have something"; + mes "just right for you."; + next; + set .@rand, rand(97,BaseLevel); + if (.@rand < 103) { + setquest 12099; + setquest 12159; + mes "[Laponte]"; + mes "This is a very small request. Baby dragons that hatch near Yggdrasilberry roots are reported to be hatching nearby."; + next; + mes "[Laponte]"; + mes "Eliminating the baby dragon is important but we mustn't ignore that removing the root cause will prevent this request from coming up again in the future."; + next; + mes "I got you a request named ^880088Remove Root Cause^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@rand < 109) { + setquest 12100; + setquest 12159; + mes "[Laponte]"; + mes "Received reports of sightings of an unknown huge winged insect near the Rapine camp recently."; + next; + mes "[Laponte]"; + mes "We don't know how far the infestation of this insect may spread so please exterminate as many as you spot."; + next; + mes "I got you a request named ^880088Violent Winged Insect^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@rand < 115) { + setquest 12101; + setquest 12159; + mes "[Laponte]"; + mes "This just came in from colleagues working in the mine."; + next; + mes "[Laponte]"; + mes "The baby dragons living near Yggdrasilberry roots are destroying the grounds near the mines. It will get dangerous if we don't take care of it."; + next; + mes "[Laponte]"; + mes "Please wipe out the baby dragons near Yggdrasilberry."; + next; + mes "I got you a request named ^880088Work Interference^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@rand < 118) { + setquest 12102; + setquest 12159; + mes "[Laponte]"; + mes "A new race called Naga was found inhabiting the swamp near the Rapine camp."; + next; + mes "[Laponte]"; + mes "The problem is that they are primitive intellectuals and are violent."; + next; + mes "[Laponte]"; + mes "We will have many conflicts with them in the future if they expand their colony. Please go eliminate the adult Nagas."; + next; + mes "I got you a request named ^880088Intelligent Snakes^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@rand < 121) { + setquest 12103; + setquest 12159; + mes "[Laponte]"; + mes "We get continuous reports of sightings of a legendary winged white horse near by the Rapine base."; + next; + mes "[Laponte]"; + mes "Can you go there in person and take a look? ... "; + next; + mes "[Laponte]"; + mes "It could be a hallucination so please make sure to touch it with your bare hand to make sure it is a living creature."; + next; + mes "I got you a request named ^880088Legendary Creature^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@rand < 125) { + setquest 12104; + setquest 12159; + mes "[Laponte]"; + mes "Centipede's reproduction is another problem but also their appetite is threatening own survival."; + next; + mes "[Laponte]"; + mes "They absorb Bradium minerals and damage our mining grounds"; + next; + mes "[Laponte]"; + mes "Many of our Sapha colleagues have lost their lives to the Centipedes. Please exterminate them."; + next; + mes "I got you a request named ^880088Insects with an Appetite^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else { + setquest 12105; + setquest 12159; + mes "[Laponte]"; + mes "Got a report that Bradium raw minerals in the mines are alive."; + next; + mes "[Laponte]"; + mes "Looks like Bradium raw minerals were turned into Golems by an ancient spell and now we may need to close down our mines because of them. Can you please go and eliminate them? "; + next; + mes "I got you a request named ^880088Moving Rocks^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } +} + +dicastes01,208,230,3 script Pura#pa0829 453,{ + if (!checkweight(1201,1)) { + mes "You have too many kinds of items. Let's try again after you reduce the number of items."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "Cannot proceed because the weight of your items is too heavy. Let's try again after you get rid of some weight."; + close; + } + if (!isequipped(2782)) { + mes "¡õ¢£¡ô"; + mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£"; + next; + mes "I don't feel confident in talking since you wouldn't understand anything."; + close; + } + if (ep13_3_invite < 6) { + mes "Sapha keeps a distance from you even when you try to talk. Looks like he called on Guard Galten. Time to go."; + close; + } + if (BaseLevel < 80) { + mes "[Pura]"; + mes "That's okay."; + mes "We are not that unfortunate to receive help from you."; + close; + } + if (checkquest(12161,PLAYTIME) == 2) { + mes "[Pura]"; + mes "Have you already met the ^990099Supply Dept. 1 Manager^000000 at Operations? I will give you a new request after you clear your request history."; + close; + } + else if (checkquest(12161,PLAYTIME) > -1) { + mes "[Pura]"; + mes "I don't have any requests for you now. Report back to the ^990099Supply Dept. 1 Manager^000000 at Operations after you complete all requests."; + close; + } + mes "[Pura]"; + mes "Welcome."; + mes "What brings you here?"; + next; + if (select("Please explain the request to me.:Please give me a request.") == 1) { + mes "[Pura]"; + mes "Adventurers help me"; + mes "deliver various items"; + mes "produced here to"; + mes "other parts of the"; + mes "area."; + next; + mes "[Pura]"; + mes "There is no restrictions"; + mes "to the job but"; + mes "some jobs are difficult than others."; + next; + mes "[Pura]"; + mes "Please see me any time"; + mes "once you are ready."; + close; + } + mes "[Pura]"; + mes "I will check the list of"; + mes "requests that came in today."; + next; + mes "[Pura]"; + mes "Hmm.."; + mes "I actually have something"; + mes "just right for you."; + next; + set .@tut_13, rand(1,10); + if (.@tut_13 == 1) { + setquest 12117; + setquest 12161; + mes "[Pura]"; + mes "They say that this area was a wetland very long ago. But for some reason the environment has changed gradually over the years."; + next; + mes "[Pura]"; + mes "There is a patch of land nearby the Rapine camp that is still preserved. Can you bring back a Withered Flower sample? It will be a good sample to research on environmental changes."; + next; + mes "I got you a request named ^880088Withered Flower^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 2) { + setquest 12118; + setquest 12161; + mes "[Pura]"; + mes "The Bradium refine machinery is broken and now we are short supplying refined Bradium to our colleagues working at the mine."; + next; + mes "[Pura]"; + mes "So we are using all our adventurers to help collect refined Bradium. Please bring back 3 refined Bradiums from the Bradium Golem."; + next; + mes "I got you a request named ^880088Welcomed Mineral^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 3) { + setquest 12119; + setquest 12161; + mes "[Pura]"; + mes "I have a request to bring in 16 Dragon's Manes."; + next; + mes "[Pura]"; + mes "Dragon's Mane is only dropped in small volumes by the Dracos and is very valuable. It is used in our indigenous designs in our flags, clothes and field equipment."; + next; + mes "I got you a request named ^880088Valuable Textile^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 4) { + setquest 12120; + setquest 12161; + mes "[Pura]"; + mes "This is a request from the pub for the food of people from other worlds. They want Dragon Tails to use as a cooking ingredient for field food that can be stored extensively."; + next; + mes "[Pura]"; + mes "So humans like this. Please bring back 6 of them."; + next; + mes "I got you a request named ^880088Curious Meat^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 5) { + setquest 12121; + setquest 12161; + mes "[Pura]"; + mes "The path that goes out of the city is now a hazardous icy road because of the snow we've been getting."; + next; + mes "[Pura]"; + mes "Spreading Pieces of Egg Shells will help and we need a lot of them. Around 26 or so will do."; + next; + mes "I got you a request named ^880088Materials to Clear Snow^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 6) { + setquest 12122; + setquest 12161; + mes "[Pura]"; + mes "The Bradium Processing Machinery emits tremendous heat when used and cannot be stabilized with any kind of water."; + next; + mes "[Pura]"; + mes "So we mix Crystalized Teardrops obtained from Aqua Elementals from melted snow. This is a material we need daily so please bring back 6 of them."; + next; + mes "I got you a request named ^880088Best Cooler Material^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 7) { + setquest 12123; + setquest 12161; + mes "[Pura]"; + mes "The Supply Manager has urgently requested paint to use on building maintenance throughout the city."; + next; + mes "[Pura]"; + mes "He can make enough paint by using the Fluorescent Liquid obtained from Aqua Elementals. Please bring back 26 containers of it."; + next; + mes "I got you a request named ^880088Best Paint^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 8) { + setquest 12124; + setquest 12161; + mes "[Pura]"; + mes "The valuable interior water bottle in the minister's room is broken. They won't be able to find who did it because there are so many visitors every day."; + next; + mes "[Pura]"; + mes "Can you please bring me this valuable item from Aqua Elemental? I only need 1."; + next; + mes "I got you a request named ^880088Rare Valuable^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 9) { + setquest 12125; + setquest 12161; + mes "[Pura]"; + mes "Lining supplies for armor for the Guards are all out."; + next; + mes "[Pura]"; + mes "The scale shell from Naga are perfect lining material. Please bring back 18 of them."; + next; + mes "I got you a request named ^880088Armory Material^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else { + setquest 12126; + setquest 12161; + mes "[Pura]"; + mes "I got you a request named lining material for armor supplied to the guard commanders. They are different from ordinary lining."; + next; + mes "[Pura]"; + mes "Please bring me 11 shining scales of Naga. I don't think it will be much trouble for you."; + next; + mes "I got you a request named ^880088Advanced Armory Material^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + close; +} + +dicastes01,225,211,3 script Tragis#pa0829 453,{ + if (!checkweight(1201,1)) { + mes "You have too many kinds of items. Let's try again after you reduce the number of items."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "Cannot proceed because the weight of your items is too heavy. Let's try again after you get rid of some weight."; + close; + } + if (!isequipped(2782)) { + mes "¡õ¢£¡ô"; + mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£"; + next; + mes "I don't feel confident in talking since you wouldn't understand anything."; + close; + } + if (ep13_3_invite < 6) { + mes "Sapha keeps a distance from you even when you try to talk. Looks like he called on Guard Galten. Time to go."; + close; + } + if (BaseLevel < 80) { + mes "[Tragis]"; + mes "It is pretty embarassing that you are looking for a request with your level, you know that?"; + close; + } + if (checkquest(12162,PLAYTIME) == 2) { + mes "[Tragis]"; + mes "Calculate your request activities with the ^990099Supply Dept. 2 Manager^000000 at Operations and then come back."; + close; + } + else if (checkquest(12162,PLAYTIME) > -1) { + mes "[Tragis]"; + mes "I don't have any requests for you now. Report back to the ^990099Supply Dept. 2 Manager^000000 at Operations after you complete all requests."; + close; + } + mes "[Tragis]"; + mes "Welcome."; + mes "What brings you here?"; + next; + if (select("Please explain the request to me.:Please give me a request.") == 1) { + mes "[Tragis]"; + mes "Pura will explain the detail about the supply job. I'm soooo busy as you can see."; + close; + } + mes "[Tragis]"; + mes "I just got a request. It's good that none of us wasted time."; + next; + set .@tut_13, rand(1,10); + if (.@tut_13 == 1) { + setquest 12127; + setquest 12162; + mes "[Tragis]"; + mes "It's time to repair the trumpets for Mine supervisors."; + next; + mes "[Tragis]"; + mes "Because those trumpets are necessary to control the miners. The mystic horn from Cornus is the perfect trumpet material, please get 5 pieces of them."; + next; + mes "I got you a request named ^880088Supervisor's Tool^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 2) { + setquest 12128; + setquest 12162; + mes "[Tragis]"; + mes "It seems that there isn't enough amount of fur which is for the adventurers."; + next; + mes "[Tragis]"; + mes "It will be necessary to get some fur from Tatacho. 21 lumps will be enough."; + next; + mes "I got you a request named ^880088Preparation for Heating^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 3) { + setquest 12129; + setquest 12162; + mes "[Tragis]"; + mes "There was a request from the pub to collect 27 bug legs."; + next; + mes "[Tragis]"; + mes "They don't wanna reveal the reason why they need them. Anyway, thank you."; + next; + mes "I got you a request named ^880088Suspicious Food^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 4) { + setquest 12130; + setquest 12162; + mes "[Tragis]"; + mes "Zargon is very popular among the residents here. It's a beautiful, round shaped ball and can be used as a adhesive when its powder is mixed with water."; + next; + mes "[Tragis]"; + mes "Heard that it's very common material from the adventurers' land. Would you get some? It will be enough with 26 Zargons."; + next; + mes "I got you a request named ^880088Useful Material^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 5) { + setquest 12131; + setquest 12162; + mes "[Tragis]"; + mes "There is a request which is to find a material to be used for every quarter's building repair work."; + next; + mes "[Tragis]"; + mes "Please get 13 Solid shells which can be obtained from Centipede and Centipede Larva. It will be very useful for the repair work."; + next; + mes "I got you a request named ^880088Essential Material for Construction^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 6) { + setquest 12132; + setquest 12162; + mes "[Tragis]"; + mes "There is a request which is to find a material to be used for every quarter's building repair work."; + next; + mes "[Tragis]"; + mes "You need to get 16 Strong vines which can be got from nepenthes. It's a vital material for building repair work."; + next; + mes "I got you a request named ^880088Essential Material for Construction 2^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 7) { + setquest 12133; + setquest 12162; + mes "[Tragis]"; + mes "The guard need many sharp leaves for a decoration reason. Some other adventurers started searching them."; + next; + mes "[Tragis]"; + mes "They need pretty many quantity of the leaves so they want 26 sharp leaves from you. I know it's hard. Wish you good luck!"; + next; + mes "I got you a request named ^880088Decoration arrangement^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 8) { + setquest 12134; + setquest 12162; + mes "[Tragis]"; + mes "The pub owner is in trouble due to many adventurers from outside."; + next; + mes "[Tragis]"; + mes "He wishes to have an utensil which can be used simply and instantly, something like a wide leaf."; + next; + mes "I got you a request named ^880088Instant Receptacle^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else if (.@tut_13 == 9) { + setquest 12135; + setquest 12162; + mes "[Tragis]"; + mes "There have been couple of attacks in mine. It must be those Nepenthes that were trying to attack miners."; + next; + mes "[Tragis]"; + mes "In order to make the medicine, we need 16 brown roots. Find and bring them."; + next; + mes "I got you a request named ^880088Not enough medicine^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } + else { + setquest 12136; + setquest 12162; + mes "[Tragis]"; + mes "The pub owner came by and blamed and blamed about the big appetite of you guys."; + next; + mes "[Tragis]"; + mes "He said he has no more stock of honey and fruits. 2 jugs of honey will be enough to soothe him."; + next; + mes "I got you a request named ^880088Honey robber^000000. You can check details of the request and who to report back to by opening the ^990099Quest Window^000000."; + close; + } +} + +// Doha's Secret Orders +//============================================================ + +mid_campin,168,170,3 script Inspector Doha#ep133 59,{ +// if ((GetInventoryRemainCount 1301 3 == 2) || (GetInventoryRemainCount 1301 3 == 3)) { + if ((MaxWeight - Weight) < 1000) { + mes "- You can too many items to proceed with the quest. -"; + close; + } + if (ep13_3_secret < 1) { + mes "[Doha]"; + mes "What is it?"; + mes "You don't look like you have any business with me."; + mes "If you don't, please leave now."; + close; + } + else if (ep13_3_secret == 1) { + mes "[Doha]"; + mes "Who is asking?"; + mes "If you are in the wrong room, please leave now."; + next; + if (select("Came to meet the inspector.:Sorry.") == 1) { + mes "[Doha]"; + mes "Me?"; + mes "Are you the person the captain was speaking of?"; + mes "What was the name..."; + mes strcharinfo(0) + "?"; + next; + mes "[Doha]"; + mes "Hmm.. I don't know why you were chosen but I guess they trusted you enough."; + mes "I heard you were chosen to visit El Dicastes, the capital city of Sapha."; + next; + mes "[Doha]"; + mes "I have a secret mission for you regarding this visit."; + mes "More like an order."; + next; + mes "[Doha]"; + mes "I'm the inspector dispatched from the home country because of the report case."; + mes "We are working on investigating the truth behind the reported case."; + next; + select("Report case?"); + mes "[Doha]"; + mes "You haven't heard of it?"; + mes "I thought you already knew.."; + mes "So you're not the one that collected the report back then?"; + next; + mes "[Doha]"; + mes "When the expedition was dispatched before"; + mes "there was a general report on our research results on various categories"; + mes "and the messenger that was carrying this report back to home country was attacked."; + next; + mes "[Doha]"; + mes "Luckily the report wasn't stolen completely"; + mes "and we did get the report after painstakingly restoring it."; + mes "The important thing is who did this."; + next; + mes "[Doha]"; + mes "As you already know the expedition here is an alliance of 3 countries."; + mes "And we aren't all in good terms."; + mes "That is why Hibba Agip was put in charge by the captain and upper management because he isn't attached to any of the countries."; + next; + mes "[Doha]"; + mes "But the important thing is which country was behind this"; + mes "and why would they do such a thing when we must promote peace and cooperation."; + next; + mes "[Doha]"; + mes "That is why I was dispatched here to investigate on."; + mes "I've come across an unexpected information during my investigation."; + next; + mes "[Doha]"; + mes "Do you know the Cat Merchant?"; + mes "They are also doing business nearby."; + mes "One of the Cat Merchants"; + mes "spilled this information to me."; + next; + mes "[Doha]"; + mes "I was investigating at the location assumed to be where the attack took place"; + mes "when I met a cat. Well.. I don't know what else I'm supposed to call them."; + next; + mes "[Doha]"; + mes "But it turns out, I was lucky to meet this cat."; + mes "Because he turned out to be a witness to the case."; + next; + select("Witness!:Who did it?"); + mes "[Doha]"; + mes "Sigh..."; + mes "He did witness the case but the description I got was..."; + mes "suspicious at first."; + next; + mes "[Doha]"; + mes "Well... the cat said in his own words."; + mes "he might be one of us because he was very agile and quick."; + next; + select("Same race? Cat?"); + mes "[Doha]"; + mes "Yes."; + mes "I heard the cat say that with my own ears."; + mes "He said he went back to the place to see if it was a lost friend of his."; + next; + mes "[Doha]"; + mes "Hmm... my throat is soar from talking too much."; + mes "Let's continue later after I get some rest."; + mes "I think I need a cup of water."; + set ep13_3_secret, 2; + close; + } + mes "[Doha]"; + mes "Thank you."; + mes "I'm a little tired now."; + mes "I hope to see you next time."; + close; + } + else if (ep13_3_secret == 2) { + mes "[Doha]"; + mes "Wow.... they say this is the water melted from the snow from the snowy fields."; + mes "Very refreshing, don't you agree?"; + mes "...."; + next; + mes "[Doha]"; + mes "Then back to the story."; + mes "So I asked why the cat thought it was his own kind."; + next; + mes "[Doha]"; + mes "He said the attacker had a wonderful tail and attractive ears."; + mes "Hard to believe."; + next; + select("It was a cat?"); + mes "[Doha]"; + mes "No. I asked the same question."; + mes "And he said the attacker looked more like me."; + mes "Meaning humanlike to be precise."; + next; + mes "[Doha]"; + mes "Yes. A human male."; + mes "He said ^4d4dff the attacker had attractive ears and a sleek and glossary tail^000000!"; + next; + select("Could it be a hobby?"); + mes "[Doha]"; + mes "Are you talking about the Kitty Band that was popular in Prontera?"; + mes "If a full grown male was wearing one of those... and also a tail?"; + next; + if (select("Was he in disguise?:Taste should be respected.") == 1) { + mes "[Doha]"; + mes "I agree."; + mes "I think one of the countries is behind this."; + mes "I honestly think both the Sapha and Rapine won't get anything out of this."; + next; + mes "[Doha]"; + mes "I guess it will only be a way of hiding you are from."; + mes "Disguised as a cat, that is!"; + next; + } + else { + mes "[Doha]"; + mes "...................."; + mes "............Of course"; + mes "different tastes should be respected."; + next; + mes "[Doha]"; + mes "....Ahem."; + mes "My conclusion is"; + mes "Someone disguised themselves ridiculously in order to hide where they came from!"; + next; + } + mes "[Doha]"; + mes "So what we need to do now is"; + mes "Finding a guy with cat ears."; + mes "But I'm not so sure he will have them on him now."; + next; + mes "[Doha]"; + mes "But as the Cat Merchant mentioned, we shouldn't rule out the possibility that he might be from a third party."; + mes "Then what could his motives be."; + next; + mes "[Doha]"; + mes "Let's start simple before it gets too complicated."; + mes "I heard you are visiting El Dicastes, the capital city of Sapha."; + next; + mes "[Doha]"; + mes "Whether it is a cat or dog"; + mes "Please try to collect information on a guy with animal ears."; + next; + mes "[Doha]"; + mes "I will continue on searching and investigating Manuk and Splendide from here."; + mes "I need you to investigate during your journey and also at El Dicastes."; + next; + mes "[Doha]"; + mes "This is a very important mission."; + mes "There is a delicate conflict between the three countries"; + mes "and there might be a possibility of an unknown third party."; + next; + mes "[Doha]"; + mes "And why did the attacker only interfered instead of stealing the whole report."; + mes "we need to the purpose."; + next; + mes "[Doha]"; + mes "Please bring back some clues. Anything you come by during your journey"; + mes "Please report back to me if you have anything leads."; + set ep13_3_secret, 3; + changequest 7185,7186; + close; + } + else if (ep13_3_secret == 3) { + mes "[Doha]"; + mes "I will investigate Manuk and Splendide."; + mes "So you will have to look for clues in El Dicastes."; + next; + mes "[Doha]"; + mes "About the guy with animal ears."; + mes "It will be a tough mission but I know you will do well."; + close; + } + else if (ep13_3_secret > 3 && ep13_3_secret < 22) { + mes "[Doha]"; + mes "How is the investigation going?"; + mes "Please try your best."; + mes "not to break the parallel relationship between countries."; + close; + } + else if (ep13_3_secret == 22) { + if (countitem(6306) && countitem(6305) && countitem(6307)) { + mes "[Doha]"; + mes "How is the investigation going?"; + mes "Do you have any significant status?"; + next; + mes "You share the details regarding Diel, Cheshire, Ahat and the crack of dimension."; + mes "You give him a clot of blood, shells and a magical stone as evidence."; + next; + mes "[Doha]"; + mes "Hmm.."; + mes "I actually gave the same mission to all other people heading for El Dicastes."; + next; + mes "[Doha]"; + mes "They have all brought information based on assumptions."; + mes "Meaning your evidences are not much different from the others."; + next; + mes "[Doha]"; + mes "At least we found out one thing."; + mes "At least we now know that the attacker is not from the three countries of Midgard."; + mes "But this is only an assumption."; + next; + mes "[Doha]"; + mes "Details of the report will be verified by a superior authority and a schedule for the next step will be given."; + mes "Thank you."; + next; + mes "[Doha]"; + mes "Please have this."; + mes "This is a reward for your services up to now."; + mes "You deserve this for the hardship you are going through in another world."; + delitem 6306,1; //Solid_Bloodstain + delitem 6305,1; //Frozen_Skin_Piece + delitem 6307,1; //Suspicious_Magic_Stone + set ep13_3_secret, 23; + getitem 2553,1; //Dragon_Manteau + erasequest 7202; + completequest 7203; + next; + mes "[Doha]"; + mes "...."; + mes "Sapha and Rapine, which ever."; + mes "I have something more urgent."; + next; + select("Can you repeat that?"); + mes "[Doha]"; + mes "..? "; + mes "I didn't say a thing."; + mes "I guess you heard wrong."; + mes "Will you leave now? Because I have to organize a report."; + close; + } + mes "You are missing evidence to submit with your report:"; + mes "Clotted Bloodstain, Piece of Frozen Skin, Strange Magic Stone."; + mes "You will have to collect the items again."; + close; + } + mes "[Doha]"; + mes "There won't be any changes to the current policy."; + mes "Home land will continue to review the contents of your reports."; + mes "[Doha]"; + mes "All we can do for now is"; + mes "do our best, right?"; + mes "He says its kindly but his eyes have a get out and do your work kind of look."; + close; +} + +dic_in01,245,119,4 script Shay#ep133_13 884,{ + // if ((GetInventoryRemainCount 1301 3 == 2) || (GetInventoryRemainCount 1301 3 == 3)) { + if ((MaxWeight - Weight) < 1000) { + mes "- You can too many items to proceed with the quest. -"; + close; + } + cutin "ep13_shy",2; + mes "[Shay]"; + switch (rand(1,5)) { + Case 1: mes ".. Burman Flone."; break; + Case 2: mes "What?"; break; + Case 3: mes "Boring. What is it?"; break; + Case 4: mes "Sigh... Ready to order?"; break; + Case 5: + mes "Another failure?."; + mes "I'm talking to myself. Don't bother."; + mes "What do you want?"; + break; + } + next; + switch (select("Order.:Talk.:Never mind.")) { + case 1: + mes "[Shay]"; + mes "What will it be?"; + mes "I have Tropical Sograt and Vermilion on the Beach flown in from Morroc."; + mes "A bit on the expensive side though."; + next; + if (select("Tropical Sorgrat - 2000z:Vermilion on the Beach - 2000z:Anything else?") == 3) { + mes "[Shay]"; + mes "Here.. "; + mes "......Hmmm..."; + mes "Nah."; + break; + } + setarray .@str$[1], "Tropical Sorgrat","Vermillion on the Beach."; + setarray .@item[1], 12112,12113; + if (Zeny > 1999) { + mes "[Shay]"; + mes "Here is your "+.@str$[@menu]+"."; + set Zeny, Zeny - 2000; + getitem .@item[@menu],1; //Tropical_Sograt + break; + } + mes "[Shay]"; + mes .@str$[@menu]+" is 2000 Zeny."; + mes "What is it so expensive?"; + mes "Then you try to bring it all the way here."; + break; + case 2: + if (ep13_3_invite < 6) { + mes "[Shay]"; + mes "If you haven't registered at Diel yet, you better do it soon."; + mes "That is the only way to start receiving requests and guarantee your safety here."; + next; + mes "[Shay]"; + mes "To avoid conflicts apart from diplomatic trouble"; + mes "it is always better to respect each sides agreement."; + mes "Don't you agree?"; + break; + } + else { + if (ep13_3_secret < 3) { + mes "[Shay]"; + mes "Not that busy but I don't want to do it."; + break; + } + else if (ep13_3_secret == 3) { + mes "[Shay]"; + mes "I don't want to talk about personal stuff."; + mes "But do you have any questions?"; + next; + switch (select("Tell me about yourself:About Sapha:About other races:....Hmm..")) { + case 1: + mes "[Shay]"; + mes "Me?"; + mes ".If you are asking about my name, it is written on my badge here."; + mes "It's Shay."; + next; + select("Not that"); + mes "[Shay]"; + mes "Hmm. Then should I tell you the story on how I settled here?"; + mes "The first to apply to expedite here"; + mes "where the Assassins."; + next; + mes "[Shay]"; + mes "I was one of them."; + mes "That is how I got to reach this place before anyone else did"; + mes "And that is how the base of the expedition camp was built."; + next; + mes "[Shay]"; + mes "But you know."; + mes "I thought I'd return to my hometown and retire."; + mes "But El Dicastes contacted me."; + next; + mes "[Shay]"; + mes "They requested if I could open a place for us outsides to feel comfortable with."; + mes "They also were considerate enough to build it in Midgard style."; + next; + mes "[Shay]"; + mes "So the framework and style,"; + mes "architect was brought in.."; + mes "and then I found myself managing the whole project?"; + next; + mes "[Shay]"; + mes "And..."; + mes "that is how I got here."; + mes "I've been here ever since!"; + next; + mes "[Shay]"; + mes "I don't remember what my original job was."; + mes "Little rusty on the Katar, I guess..."; + next; + mes "Shay suddenly has a lonely expression and sighs deeply about his situation."; + mes "Looks very tired."; + break; + case 2: + mes "[Shay]"; + mes "Sapha?"; + mes "You are surrounded by Saphas."; + mes "......"; + next; + mes "[Shay]"; + mes "What are you asking me?"; + mes "Just ask any Sapha passing by."; + mes "Ask 'what are you'."; + break; + case 3: + mes "[Shay]"; + mes "Other races?"; + mes "Talking about Sapha?"; + next; + if (select("With cat ears.:With butterfly wings.") == 1) { + mes "[Shay]"; + mes "Cat?"; + mes "Are you talking about the Cat Merchant?"; + mes "They are camped outside of the capital gate."; + next; + mes "[Shay]"; + mes "They even mined and fished near the expedition camp."; + mes "They are currently trying to expand their business"; + next; + mes "[Shay]"; + mes "Well.. bigger then them?"; + mes "Not sure. Haven't heard of it."; + mes "Why don't you ^4d4dffask Sapha's around here?^000000"; + set ep13_3_secret, 4; + erasequest 7186; + setquest 7187; + break; + } + mes "[Shay]"; + mes "Butterfly wings? Are you talking about Rapine?"; + mes "Don't know them?"; + mes "You really no nothing."; + next; + mes "[Shay]"; + mes "If you want to know about Rapine, go to Splendide."; + mes "They are rough and tough."; + break; + case 4: + mes "[Shay]"; + mes "What..."; + mes "I'm not that busy but don't bother me too much."; + break; + } + break; + } + else if (ep13_3_secret == 4) { + mes "[Shay]"; + mes "What is it now?"; + mes "Any luck?"; + next; + setarray .@ward$, + "7188","The Knits at the square are interested in Ahat.", + "7189","I heard from Pioms that most of the Saphas are interested in the minister.", + "7190","Galtens are interested in the Cat Merchant for their cat ears."; + mes "[" + strcharinfo(0) + "]"; + mes "I'm trying to organize the information I've collected."; + for (set .@size, getarraysize(.@ward$); .@i < .@size; set .@i, .@i + 2) + if (checkquest(atoi(.@ward$[.@i])) >= 0) { + set .@sealall, .@sealall + 1; + mes .@ward$[.@i+1]; + } + if (!.@sealall) mes "But what should I do with the collected information?"; + next; + if (.@sealall < 3) { + mes "[" + strcharinfo(0) + "]"; + mes "Moan..."; + mes "[Shay]"; + mes "You look lost like as if nothing makes sense anymore."; + mes "They solution is simply to ask around."; + next; + mes "[Shay]"; + mes "There are many Saphas working at the factory, drill hall, square and anywhere else."; + mes "There are the Cat Merchants outside of the castle, too."; + break; + } + mes "[" + strcharinfo(0) + "]"; + mes "Everybody"; + mes "is talking about the minister these days!"; + mes "What is with this Ahat anyway."; + next; + mes "[Shay]"; + mes "I haven't even seen the minister."; + mes "I heard many say that he is beautiful."; + next; + mes "[Shay]"; + mes "Anyway........"; + mes "Try this."; + mes "I've been working on this for some time and hope that this can go on the menu."; + next; + mes "- Shay places a baked pie with the base made out of carrots."; + mes "Topped with something that looks like apples or bananas."; + mes "You immediate think it is too risky to try. ?"; + next; + select("The minced ingredient is..."); + mes "[Shay]"; + mes "An apple pie."; + mes "I garnished it with bananas."; + mes "Doesn't look like it but this is an apple pie."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "But why is there a carrot in a pie."; + mes "And there is no hint of apples."; + next; + mes "[Shay]"; + mes "Stop!!!!!!!!!!!!!"; + specialeffect2 EF_HIT1; + specialeffect2 EF_HIT2; + percentheal -30,0; + next; + mes "-Shay got all upset and threw something sticky and smelly."; + mes "The pie left Shay's palm and landed square in your face. -"; + next; + mes "[Shay]"; + mes "Oops.. umph.. hmph..."; + mes "Phew... sigh..."; + mes "..........."; + next; + mes "[Shay]"; + mes "S..Sorry. Aello told me to help you but.."; + mes "......."; + mes "I couldn't help myself."; + next; + mes "[Shay]"; + mes "Ha.. there is a cat named BK among the Cat Merchants."; + mes "He might have the information you want."; + mes "... Go.. meet BK."; + next; + mes "[Shay]"; + mes "And if he ignores you, tell him that ^4d4dffShay's special drink will be delivered^000000."; + set ep13_3_secret, 5; + erasequest 7188; + erasequest 7189; + erasequest 7190; + changequest 7187,7191; + break; + } + else if (ep13_3_secret > 4 && ep13_3_secret < 9) { + mes "[Shay]"; + mes "You can find the Cat Merchants outside of the gate."; + mes "They seem like a small group of wanders."; + mes "You'll see their tent southeast from the gate."; + next; + mes "[Shay]"; + mes "BK is the one that holds information around there."; + mes "He will be able to help you."; + break; + } + else if (ep13_3_secret == 9) { + mes "[Shay]"; + mes "You say BK said that?"; + mes "So it is..."; + mes "I did think Ahat was beautiful than normal."; + next; + mes "[Shay]"; + mes "But according to the Saphas' stories I hear in this pub"; + mes "they all have a different version of Ahat."; + next; + mes "[Shay]"; + mes "But BK said Ahat isn't a Sapha?"; + mes "That only means that its not the looks that is different but may be completely a different race."; + next; + mes "[Shay]"; + mes "We can only investigate."; + mes "They say he came from the crack so let's investigate the crack."; + next; + mes "[Shay]"; + mes "But there is a crack here too?"; + mes "..Too many ill-fates."; + mes "Bit sorrowful."; + set ep13_3_secret, 10; + changequest 7192,7193; + break; + } + else if (ep13_3_secret == 10) { + mes "[Shay]"; + mes "It is always better to go to the site."; + mes "Because it is difficult to meet the minister."; + next; + mes "[Shay]"; + mes "The crack here must have been created when the crack in Morroc appeared."; + mes "If he did it."; + next; + mes "[Shay]"; + mes "You'll find a crack northeast from El Dicastes."; + mes "Try investigating there."; + break; + } + else if (ep13_3_secret == 11) { + mes "[Shay]"; + mes "Any luck?"; + next; + setarray .@quest, 7194,7195,7196; + setarray .@item, 6306,6305,6307; + setarray .@str$, "bloodstain","frozen piece of skin","strange magical stone fragment"; + + for (set .@size, getarraysize(.@item); .@i < .@size; set .@i, .@i + 1) { + if (countitem(.@item[.@i])) { + mes "- You show the " + .@str$[.@i] + " you collected from near the crack.-"; + set .@crack, 1; + next; + break; + } + } + if (!.@crack) { + mes "- You do not have the item needed for the quest. Case3"; + mes "If your quest item was destroyed, request help from GM.-"; + break; + } + mes "[Shay]"; + mes ".. I didn't expect this."; + mes "Then who is Ahat..?"; + mes "...I smell something fishy."; + next; + mes "[Shay]"; + mes "I don't know since I haven't seen Ahat in person but"; + mes "we must find out what all this means."; + next; + select("Do you trust BK?"); + mes "[Shay]"; + mes "At least BK doesn't lie."; + mes "The BK I know never lies."; + mes "Why are these found near the crack?"; + mes "Why was Ahat near the crack.."; + next; + select("Do you want to meet in person?"); + mes "[Shay]"; + mes "You can't just waltz in him."; + mes "It's even harder for outsiders like us to meet him."; + mes "Hm..."; + next; + mes "[Shay]"; + mes "We can try collected exploit certifications."; + mes "Those who did great deeds get the opportunity to meet the minister."; + next; + mes "[Shay]"; + mes "The Cat Merchants are also collected exploit certifications. They want to meet the minister in person so they can negotiate business."; + next; + mes "[Shay]"; + mes "You can receive exploit certifications from handling requests throughout the city."; + mes "If you want to meet the minister Ahat..."; + next; + mes "[Shay]"; + mes "You'll need at least ^4d4dff3 exploit certifications^000000."; + mes "Go ^4d4dffask around in Diel^000000 for more information."; + next; + mes "[Shay]"; + mes "Sapha that registers adventurers in Diel."; + mes "Was his name ^4d4dffRhawyne^000000. Ask him."; + next; + select("Don't you have any exploit certification of Sapha?"); + mes "[Shay]"; + mes "................"; + mes "Do you think I'm that free?"; + mes "I'm not the one receiving request, I'm the one that makes the requests!!"; + next; + mes "[Shay]"; + mes "Tsk."; + mes "First, think of what you have to do."; + mes "Meet Ahat by collecting exploit certifications."; + mes "And then find doubt what is the relationship between him and the crack."; + set ep13_3_secret, 12; + for (set .@i, 0; .@i < getarraysize(.@quest); set .@i, .@i + 1) + if (checkquest(.@quest[.@i]) >= 0) erasequest .@quest[.@i]; + setquest 7197; + break; + } + else if (ep13_3_secret == 12) { + mes "[Shay]"; + mes "Start with collecting exploit certifications."; + mes "You'll need at least 3 certifications to meet the minister."; + next; + mes "[Shay]"; + mes "Once you have your certifications, go make a request to meet the minister at the Adventurer's reception desk in Diel."; + mes "Rhawyne will help you."; + break; + } + else if (ep13_3_secret == 13) { + mes "[Shay]"; + mes "So.. you got permitted?"; + mes "I'm also curious who this Ahat character is."; + next; + mes "[Shay]"; + mes "Good. I'll prepare some food until you come back."; + mes "I just found this amazing chocolate recipe a few days ago."; + next; + select("Oh..no.."); + mes "[Shay]"; + mes "When I was in Morroc."; + mes "A colleague from the guild used to make chocolate stuff you see?"; + mes "I thought it would be simple since he was making it."; + next; + select("So....."); + mes "[Shay]"; + mes "Wait till you taste it."; + mes "Now, get going."; + break; + } + else if ((ep13_3_secret > 13) && (ep13_3_secret < 17)) { + mes "[Shay]"; + mes "How was the minister?"; + next; + if (select("Strange.:..Beautiful...") == 1) { + mes "[Shay]"; + mes "So.. how strange."; + mes "..was it bad or good?"; + mes "No, that isn't important. Try to remember what you were there for."; + break; + } + mes "[Shay]"; + mes "Huh? Really?"; + mes "You can tell the beauty even if the race is different."; + mes "Do you job instead of dreaming about his appearance."; + break; + } + else if ((ep13_3_secret > 16) && (ep13_3_secret < 19)) { + mes "[Shay]"; + mes "Hmm..."; + mes "Clearing the crack area?"; + mes "Sounds weird."; + mes "Something smells fishy."; + next; + mes "[Shay]"; + mes "Don't forget to bring back evidence."; + mes "And to pretend you are hypnotized."; + mes "Good. This is our secret."; + next; + mes "[Shay]"; + mes "Funny how things come about."; + mes "But you really are talkative."; + mes "You are telling me everything. Tsk."; + break; + } + else if (ep13_3_secret > 18 && ep13_3_secret < 22) { + mes "[Shay]"; + mes "Did you know?"; + mes "There is another skillful Jarute."; + mes "Name is HesLanta."; + next; + mes "[Shay]"; + mes "He sometimes come back and shares his stories."; + mes "But I think he also has a story to tell."; + next; + mes "[Shay]"; + mes "It's only a thought but"; + mes "It might be good to talk to those near Ahat too."; + next; + mes "[Shay]"; + mes "How about talking to the Jarute named HesLanta?"; + mes "You don't have nothing to lose, anyway."; + break; + } + else if (ep13_3_secret == 22) { + mes "[Shay]"; + mes "Why are you here again?"; + mes "Are you working?"; + next; + if (select("Mission completed!:Came to thank you.") == 1) { + mes "[Shay]"; + mes "Really?"; + mes "Good for you."; + mes "....."; + mes "Mission. Haven't heard that word for ages."; + next; + mes "[Shay]"; + mes "Now go."; + mes "I'm busy."; + mes "New ingredients are coming in today."; + mes "Go now."; + break; + } + mes "[Shay]"; + mes "If you are that grateful, each all my new cuisines till the last bite."; + next; + select("Ah, that is um..."); + mes "[Shay]"; + mes "Huh? Get lost."; + mes "Ungrateful...."; + break; + } + set .@shysay, rand(1,3); + if (.@shysay == 1) { + mes "[Shay]"; + mes "What do you want?"; + next; + switch (select("Tell me about yourself:About Sapha:....Hmm..")) { + case 1: + mes "[Shay]"; + mes "Me?"; + mes "Didn't I tell you before?"; + next; + select("Nope.."); + mes "[Shay]"; + mes "No, I told you my story before."; + mes "But since you have bad memory, I'll tell you again."; + next; + mes "[Shay]"; + mes "Hmm. Then should I tell you the story on how I settled here?"; + mes "The first to apply to expedite here"; + mes "where the Assassins."; + next; + mes "[Shay]"; + mes "I was one of them."; + mes "That is how I got to reach this place before anyone else did"; + mes "And that is how the base of the expedition camp was built."; + next; + mes "[Shay]"; + mes "But you know."; + mes "I thought I'd return to my hometown and retire."; + mes "But El Dicastes contacted me."; + next; + mes "[Shay]"; + mes "They requested if I could open a place for us outsides to feel comfortable with."; + mes "They also were considerate enough to build it in Midgard style."; + next; + mes "[Shay]"; + mes "So the framework and style,"; + mes "architect was brought in.."; + mes "and then I found myself managing the whole project?"; + next; + mes "[Shay]"; + mes "And..."; + mes "that is how I got here."; + mes "I've been here ever since!"; + next; + mes "[Shay]"; + mes "I don't remember what my original job was."; + mes "Little rusty on the Katar, I guess..."; + next; + mes "Shay suddenly has a lonely expression and sighs deeply about his situation."; + mes "Looks very tired."; + break; + case 2: + mes "[Shay]"; + mes "Sapha?"; + mes "You are surrounded by Saphas."; + mes "......"; + next; + mes "[Shay]"; + mes "What are you asking me?"; + mes "Just ask any Sapha passing by."; + mes "Ask 'what are you'."; + break; + case 3: + mes "[Shay]"; + mes "What..."; + mes "I'm not that busy but don't bother me too much."; + break; + } + break; + } + else if (.@shysay == 2) { + mes "[Shay]"; + mes "What did you bring here now?"; + mes "........."; + mes "What? No?"; + next; + mes "[Shay]"; + mes "Tsk.... boring."; + break; + } + else { + mes "[Shay]"; + mes "Why is strawberry chocolate so difficult to make?"; + mes "Why is my chocolate falling apart?"; + next; + mes "[Shay]"; + mes "Also this chocolate pie."; + mes "How do I bake it just the right golden color?"; + mes "Why can't it be white or black?"; + mes "It isn't the pie that is important. It's the chocolate that is."; + next; + mes "[Shay]"; + mes "How did my colleague make this?!"; + mes "............"; + mes "...Do girls like this?"; + next; + if (select("They normally do like homemade chocolate.:No. only aliens.") == 1) { + mes "[Shay]"; + mes "I see."; + mes "So..."; + mes "Are you married?"; + break; + } + mes "[Shay]"; + mes "You're alone, right?"; + mes "...."; + mes "Sorry."; + mes "We're in the same boat."; + break; + } + } + case 3: + mes "[Shay]"; + mes "Suit yourself."; + break; + } + close2; + cutin "",255; + end; +} + +dicastes01,207,210,5 script Walking Knit#ep133_15 449,{ + if (!isequipped(2782)) { + mes "[Knit]"; + mes "¡õ¢£¡ô"; + mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£"; + next; + mes "Cannot communicate with him."; + close; + } + if (ep13_3_secret == 4) { + mes "[Knit]"; + mes "Welcome, human."; + mes "I'm finally used to meeting other races like you."; + next; + if (select("Are there races other than humans?:What are you doing?") == 1) { + mes "[Knit]"; + mes "There were Rapine before you came."; + mes "And of course there are still."; + mes "But they are over the Kamidal mountains."; + next; + mes "[Knit]"; + mes "And then the cats.."; + mes "Ah, did you see the group of cats in front of the castle?"; + mes "They are really soft and cuddly unlike us."; + next; + if (checkquest(7188) >= -1) { + mes "[Knit]"; + mes "And especially their ear and tail!!"; + next; + select("Have you seen this man?"); + mes "[Knit]"; + mes "Eh? Huh?"; + mes "Man? Human male?"; + mes "A human male with cat ears?"; + mes "Never heard such thing.."; + next; + mes "[Knit]"; + mes "Humans are amazing!"; + mes "Didn't even think of that...!"; + mes "....."; + next; + mes "[Knit]"; + mes "But they are really lovely."; + mes "Those cute cats.."; + next; + mes "[Knit]"; + mes "But Ahat is also loveable even for a Sapha."; + mes "....if my hair is like a dry winter tree.."; + mes "Ahat's hair is like new sprouts in early spring....."; + next; + mes "[Knit]"; + mes "I can't believe how he does his work for Dicastes"; + mes "and still maintain such great hair."; + mes "I can almost see a glow."; + next; + mes "[Knit]"; + mes "Ah.....his skin is divine."; + mes "But he never comes out from his office high up in Dicastes Diel."; + next; + mes "[Knit]"; + mes "But I guess it would be better for Ahat's complexion..."; + mes "to stay warm and safe like a crystal bird in Diel instead of being out in the winter weather!"; + next; + mes "- Continues to talk about Ahat."; + mes "Don't think I'll get any more information. -"; + setquest 7188; + close; + } + mes "[Knit]"; + mes "They are really lovely."; + mes "Those cute cats.."; + next; + mes "[Knit]"; + mes "But Ahat is also loveable even for a Sapha."; + mes "....if my hair is like a dry winter tree.."; + mes "Ahat's hair is like new sprouts in early spring....."; + next; + mes "[Knit]"; + mes "Ah.. I'm so jealous, envious.."; + close; + } + mes "[Knit]"; + mes "As you can see, I'm taking a walk."; + mes "I should walk from time to time to prevent myself from getting stiff."; + mes "I really don't like to get stiff."; + close; + } + mes "[Knit]"; + mes "Don't you think cats are amazing."; + mes "I heard from where you came from, you have pets.."; + next; + mes "[Knit]"; + mes "Is it okay to raise other creatures?"; + mes "Do they want that?"; + mes "It's a difficult issue.."; + close2; +} + +dicastes01,112,248,5 script Resting Piom#ep133_16 491,{ + mes "[Piom]"; + if (!isequipped(2782)) { + mes "¡ñ¡÷¢¤ ¡ö ¢±¡ñ¡ú?"; + mes "¡ò¢³~!"; + mes "¡Ð¢²¢¤ ¢± ¡ü¡ñ¡õ ¢³ ¡ð !!!"; + next; + mes "Cannot communicate with him."; + close; + } + if (ep13_3_secret == 4) { + mes "[Piom]"; + mes "Phew.. I need to rest."; + mes "Huh? You're... human!"; + mes "Why are you here?"; + next; + if (checkquest(7189) >= -1) { + select("About a human with cat ears.."); + mes "[Piom]"; + mes "HAHAHAHA!!!"; + mes "HAHAHAHA!!!"; + mes "There are so many asking about that recently."; + mes "Is there any conflict with the Cat Merchants?"; + next; + mes "[Piom]"; + mes "Haha.. ... funny."; + mes "Human with cat ears. Never heard of such thing."; + mes "But you seem to be new around here."; + next; + mes "[Piom]"; + mes "Don't waste your time on something ridiculous as that"; + mes "That's it! I think you are the right person."; + next; + mes "[Piom]"; + mes "The minister stays at the top of Diel"; + mes "Try meeting the minister."; + mes "He is a wonderful person."; + mes "A role model to all Saphas!"; + next; + mes "[Piom]"; + mes "You need to know about Saphas if you are staying in El Dicastes, right?"; + mes "Don't spend time with a dusty Piom like me, and go meet Ahat."; + mes "You will love him."; + next; + mes "- Continues to talk about Ahat."; + mes "Don't think I'll get any more information. -"; + setquest 7189; + close; + } + mes "[Piom]"; + mes "Don't follow cats around"; + mes "Go and meet Ahat."; + mes "He is really beautiful."; + close; + } + mes "[Piom]"; + mes "As you can see, I'm taking a rest."; + mes "I like my job but it is so tiresome."; + mes "But I'm happier than when I was a Knit."; + next; + mes "[Piom]"; + mes "I can't think straight."; + mes "I didn't like working through documents the Knits do."; + mes "But then Galtens have to carry heavy weapons."; + next; + mes "[Piom]"; + mes "The last thing I did was mine and refine Bradium"; + mes "and I loved it!"; + mes "And to think that my work keeps everyone healthy"; + mes "is rewarding."; + close; +} + +dicastes01,249,140,3 script Training Galten#ep133_17 450,{ + if (!isequipped(2782)) { + mes "[Galten]"; + mes "¡ø¡ô¡ü ¡ø ¡ø¡ô¡ü"; + mes "¡ø¡ô¡ü"; + next; + mes "Cannot communicate with him."; + close; + } + if (ep13_3_secret == 4) { + mes "[Galten]"; + mes "Hmm...another peaceful day."; + mes "Hmm? Aren't you the outsider that came here awhile ago?"; + mes "Have you come to see the training grounds?"; + next; + if (checkquest(7190) >= -1) { + select("About a human with cat ears.."); + mes "[Galten]"; + mes "Cat ears?"; + mes "Is there someone like that?"; + mes "Humans are like that?"; + next; + mes "[Galten]"; + mes "What? No?"; + mes "Then why are you looking him.."; + mes "Why don't you go meet Ahat instead of wasting your time."; + next; + mes "[Galten]"; + mes "Anyone that wants to be strong"; + mes "should meet Ahat."; + mes "He is a very strong Sapha."; + next; + mes "[Galten]"; + mes "He may be a Jarute working through piles of documents"; + mes "but he must be hiding his power!"; + next; + mes "[Galten]"; + mes "Everyone says Ahat is like a delicate spring sprout"; + mes "but I don't agree!"; + mes "I've never seen a stronger Sapha before."; + mes "But I don't quite understand why he didn't become a Galten..."; + next; + mes "- Continues to talk about Ahat."; + mes "Don't think I'll get any more information. -"; + setquest 7190; + close; + } + mes "[Galten]"; + mes "Ahat..."; + mes "He is a strong Sapha."; + mes "He may be a minister working through piles of documents"; + mes "but he must be hiding his power!"; + next; + mes "[Galten]"; + mes "Everyone says Ahat is like a delicate spring sprout"; + mes "but I don't agree!"; + mes "I've never seen a stronger Sapha before."; + mes "But I don't quite understand why he didn't become a Galten..."; + next; + mes "[Galten]"; + mes "Maybe he is physically strong but has a warm heart.."; + mes "but you never know..."; + close; + } + mes "[Galten]"; + mes "You seem to be an experienced adventurer."; + mes "I would like to try you out"; + mes ".. Hahahah"; + mes "Just joking. I cannot fight a guest to our land."; + close; +} + +dic_fild01,231,174,5 script BK#ep133_18 496,{ + if (ep13_3_secret < 3) { + mes "[BK]"; + mes "Ha. I'm the information collector of the Cat Merchants."; + mes "Ask me anything...but.."; + mes "Meow.. I'm not an easy cat you see."; + next; + mes "[BK]"; + mes "Go away, Ha"; + close; + } + else if ((ep13_3_secret == 3) || (ep13_3_secret == 4)) { + mes "[BK]"; + mes "Hmph..."; + mes "What is it?"; + mes "... Oh, a human in the capital city of Sapha."; + mes "Meow..."; + next; + if (select("About a man with cat ears:What are you?") == 1) { + mes "[BK]"; + mes "Ha, I'm BK. The Cat Merchants' infamous information collector."; + mes "But I have no information to share with you."; + next; + mes "[BK]"; + mes "I'm not an easy cat you see."; + mes "Meow... meow"; + mes "Meow.. cat ears. Hahaha.. I heard of some.. meow.."; + next; + mes "[BK]"; + mes "I'm not telling you~!"; + close; + } + mes "[BK]"; + mes "Ha. I'm the information collector of the Cat Merchants."; + mes "Ask me anything...but.."; + mes "Meow.. I'm not an easy cat you see."; + close; + } + else if (ep13_3_secret == 5) { + mes "[BK]"; + mes "Ha. I'm the information collector of the Cat Merchants."; + mes ".............."; + mes "I don't give out information just to anyone."; + mes "Meow..."; + next; + mes "- BK of the Cat Merchant group is being difficult."; + mes "What did Shay tell you to do?-"; + next; + input .@inputstr$; + if (.@inputstr$ == "Shay's special drink will be delivered" || .@inputstr$ == "Shay's special drink will be delivered.") { + mes "[" + strcharinfo(0) + "]"; + mes "Hmm. If you don't cooperate,"; + mes "Shay's special drink will be delivered."; + mes "By Shay himself!"; + next; + mes "[BK]"; + mes "What?!"; + mes "What do you want."; + mes "Why are you harassing me."; + mes "Bully... sob"; + emotion e_sob; + next; + mes "[BK]"; + mes "Okay. I will cooperate."; + mes "But with some conditions."; + mes "First, you must tell Shay that I cooperated with you."; + next; + mes "[BK]"; + mes "Second, we must meet the minister to expand our business."; + mes "But need exploit certifications to meet him."; + next; + mes "[BK]"; + mes "So I'll sell my information for exploit certifications."; + mes "Tell me when you are ready."; + set ep13_3_secret, 6; + close; + } + mes "[" + strcharinfo(0) + "]"; + mes "" + .@inputstr$ + ".....?"; + mes "Hmm.. I think you are wrong?"; + mes "What was it.."; + next; + mes "[BK]"; + mes "What. Are you threatening me with that?"; + mes "Meow.. You don't know my well enough~!!"; + close; + } + else if (ep13_3_secret == 6) { + mes "[BK]"; + mes "... So what do you want to know?"; + next; + switch (select("About other feline races")) { + } + mes "[BK]"; + mes "Feline? Are you asking about us cats?"; + mes "Well~"; + mes "Don't know about races..but.. hahah.."; + next; + mes "- BK asks for an exploit certification. -"; + next; + if (select("No way.:Give.") == 1) { + mes "[BK]"; + mes "Humph"; + mes "We made a deal."; + mes "Give an Exploit certification of Sapha to BK."; + close; + } + if (countitem(6304)) { + mes "[BK]"; + mes "Haha.. good, good."; + mes "I don't know anything outside of our race"; + mes "but I did see ^4d4dffsomeone with cute ears that has been visiting the Dicastes Diel^000000."; + next; + mes "[BK]"; + mes "I even saw him meet the ^4d4dffnew minister^000000 alone."; + mes "Hu hu..."; + mes "Satisfied?"; + delitem 6304,1; //Sapa_Feat_Cert + set ep13_3_secret, 7; + next; + mes "- BK says this and takes the exploit certification out of your hand."; + mes "Information on the person with animal ears Doha mentioned!-"; + close; + } + mes "[BK]"; + mes "I will give you information"; + mes "and you give me an exploit certification"; + mes "great teamwork, don't you agree?"; + next; + mes "[BK]"; + mes "If you want to know my information, you have to give me an exploit certification."; + close; + } + else if (ep13_3_secret == 7 || ep13_3_secret == 8) { + if (ep13_3_secret == 7) { + mes "[BK]"; + mes "...Didn't I just tell you about the man with cat ears?"; + mes "I've seen him with the minister in Diel."; + next; + if (select("About Ravail?:Who is the minister?") == 1) { + mes "[BK]"; + mes "Ravail is the high minister."; + mes "Something like a Chief."; + mes "They also call him elder."; + mes "We would call him leader?"; + next; + mes "[BK]"; + mes ".......ah........."; + mes "I should have gotten an exploit certification before answering."; + close; + } + mes "[BK]"; + mes "The infamous"; + mes "^4d4dffAhat^000000."; + mes "The new minister..."; + mes "(BK rubs his front paws together)"; + next; + if (select("Give a certification.:No way.") == 2) { + mes "[BK]"; + mes "No, no, contract violation."; + mes "I have nothing to say if you don't give me a certification."; + close; + } + if (!countitem(6304)) { + mes "[BK]"; + mes "I have nothing to say if you don't give me a certification."; + close; + } + mes "[BK]"; + mes "The new minister is not from around here."; + mes "There is a huge crack down there."; + next; + mes "[BK]"; + mes "The new minister was picked up ^4d4dffnear the crack^000000."; + mes "He must be an alien!"; + delitem 6304,1; //Sapa_Feat_Cert + set ep13_3_secret, 8; + next; + select("What do you think so?"); + } + else if (ep13_3_secret == 8) { + mes "[BK]"; + mes "What is it now?"; + mes "Another minister story?"; + next; + if (select("That the minister is an alien?:Nothing...") == 2) { + mes "[BK]"; + mes "MEOW~"; + mes "I thought you brought Shay's food here as a reward."; + mes "(BK shivers at the thought)"; + next; + mes "[BK]"; + mes "Eeeew..."; + mes "I can't even imagine it."; + mes "...........Ha! Don't tell Shay this!"; + close; + } + } + if (countitem(6304)) { + mes "[BK]"; + mes "Because he isn't Sapha!"; + next; + select("He isn't a Sapha?"); + mes "[BK]"; + mes "Yes."; + mes "But isn't it strange."; + mes "All the Saphas here think he is a beautiful Sapha..."; + mes "But I've seen him from a distance and he wasn't."; + next; + mes "[BK]"; + mes "To me, he is a feline."; + mes "He might even be a lost friend of mine."; + next; + mes "[BK]"; + mes "Well, I don't understand why because all Saphas"; + mes "are beautiful."; + delitem 6304,1; //Sapa_Feat_Cert + set ep13_3_secret, 9; + changequest 7191,7192; + next; + mes "- BK says this and takes the exploit certification out of your hand."; + mes "Shocking information that the Sapha minister Ahat is not a Sapha!-"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "...I must find out."; + mes ".. Near the crack he said..."; + mes "Should I talk to Shay?"; + close; + } + mes "- BK holds up a front paw at my question."; + mes "The pink jelly like paws are asking for an exploit certification.-"; + close; + } + else if (ep13_3_secret == 9) { + mes "[BK]"; + mes "Why are you always coming back?"; + mes "Why don't you go to the crack yourself if you are curious about the new minister?"; + mes "You'll find something there since he was from there. Meow"; + close; + } + mes "[BK]"; + mes "MEOW~"; + mes "I thought you brought Shay's food here as a reward."; + mes "(BK shivers at the thought)"; + next; + mes "[BK]"; + mes "Eeeew..."; + mes "I can't even imagine it."; + mes "...........Ha! Don't tell Shay this!"; + close; +} + +- script ep133_crack#main -1,{ + // if ((GetInventoryRemainCount 1301 3 == 2) || (GetInventoryRemainCount 1301 3 == 3)) { + if ((MaxWeight - Weight) < 1000) { + mes "- You can too many items to proceed with the quest. -"; + close; + } + set .@n$, strnpcinfo(1); + setarray .@npc$, "Rock Pile", "Dirt Pile", "Split Earth"; + setarray .@item, 6307, 6306, 6305; + for (set .@size, getarraysize(.@npc$); .@i < .@size; set .@i, .@i + 1) + if (.@n$ == .@npc$[.@i]) set .@type, .@i; + + if (ep13_3_secret == 10) { + if (.@npc$[.@type] == "Rock Pile") { + mes "There are many piles of rock around because of the unstable crustal movements."; + mes "This rock pile is also one of them."; + + } + else if (.@npc$[.@type] == "Dirt Pile") { + mes "There a several dirt piles nearby the crack."; + mes "This is one of them."; + } + else if (.@npc$[.@type] == "Split Earth") { + mes "Surface of the earth is split by the shock from the dimensional crack."; + mes "The split earth is solid and icy making it look like sharp blades."; + } + mes "Don't see anything suspicious."; + next; + set .@menu$, (.@npc$[.@type] == "Rock Pile")? "Try to knock down the rock pile.:Study the pile closely." : "Stomp on it with your feet.:Poke around in the dirt pile."; + if (select(.@menu$) == 1) { + if (.@npc$[.@type] == "Rock Pile") mes "Knock down the pebbles that make up the pile of rocks and spread them out."; + else if (.@npc$[.@type] == "Dirt Pile") mes "You step on the dug up dirt pile and make the ground flat."; + else if (.@npc$[.@type] == "Split Earth") mes "You step on the dry, split surface and make the ground flat."; + donpcevent strnpcinfo(0)+"::OnDisable"; + close; + } + if (.@npc$[.@type] == "Rock Pile") { + mes "You feel an evil energy from the small stone fragments."; + mes "Doesn't look natural but more like remnants from a powerful magic spell nearby."; + mes "You feel evil energy. Does this have anything to do with Ahat?"; + mes "You collected a stone that emits strange energy."; + } + else if (.@npc$[.@type] == "Dirt Pile") { + mes "You poke around the dirt pile to find blood clotted in the dirt."; + mes "You feel evil energy. Does this have anything to do with Ahat?"; + mes "You collect the clotted bloodstains."; + } + else if (.@npc$[.@type] == "Split Earth") { + mes "There is something stuck by the frost on the sharp, crack surface."; + mes "You take a closer look and see it looks like the skin of a creature that crawls on the ground."; + mes "You feel evil energy. Does this have anything to do with Ahat?"; + mes "You collect the clotted bloodstains."; + } + set ep13_3_secret, 11; + getitem .@item[.@type], 1; + erasequest 7193; + setquest 7194; + donpcevent strnpcinfo(0)+"::OnDisable"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Hmm.. I may need to discuss these with Shay."; + close; + } + else if (ep13_3_secret == 11) { + mes "[" + strcharinfo(0) + "]"; + if (.@npc$[.@type] == "Rock Pile") mes "This is where you picked up the strange magical stone."; + else if (.@npc$[.@type] == "Dirt Pile") mes "Collected Clotted Bloodstains from the dirt pile here."; + else if (.@npc$[.@type] == "Split Earth") mes "It is the place where the frozen skin was found."; + mes "Also feel a strange energy around."; + mes "Let's go back to the pub and talk with Shay."; + close; + } + else if (ep13_3_secret == 17) { + if (countitem(.@item[.@type]) < 10) { + if (.@npc$[.@type] == "Rock Pile") { + mes "There are many piles of rock around because of the unstable crustal movements."; + mes "This is one of them."; + mes "You feel an evil energy from the small stone fragments."; + } + else if (.@npc$[.@type] == "Dirt Pile") { + mes "There a several dirt piles nearby the crack."; + mes "This is one of them."; + mes "You find a clotted bloodstain beneath the dirt pile."; + } + else if (.@npc$[.@type] == "Split Earth") { + mes "Surface of the earth nearby the dimensional crack is split by some kind of impact."; + mes "This is one of them."; + mes "There is something stuck by the frost on the sharp, crack surface."; + } + getitem .@item[.@type], 1; + donpcevent strnpcinfo(0)+"::OnDisable"; + next; + if (.@npc$[.@type] == "Rock Pile") mes "You collect stone fragments."; + else if (.@npc$[.@type] == "Dirt Pile") mes "Collect bloodstains."; + else if (.@npc$[.@type] == "Split Earth") mes "Collect a piece of skin."; + if (countitem(.@item[.@type]) == 10) { + mes "Collected enough for Cheshire but"; + mes "you may need some more to report separately."; + if (checkquest(7202) == -1) setquest 7202; + close; + } + mes "Not enough was collected to fill Cheshire's request."; + close; + } + else if (countitem(.@item[.@type]) == 10) { + if (checkquest(7202) >= 0) { + setarray .@str$, "stone fragments","bloodstains","pieces of skin"; + mes "Need more " + .@str$[.@type] + " to report back to Doha at the expedition camp."; + } + else { + if (.@npc$[.@type] == "Rock Pile") mes "Need more stone fragments to report back to Doha at the expedition camp."; + else if (.@npc$[.@type] == "Dirt Pile") mes "You've collected enough for Cheshire but need more to report back to Doha."; + else if (.@npc$[.@type] == "Split Earth") mes "You've collected enough pieces of skin for Cheshire but need more to report back to Doha."; + setquest 7202; + } + if (.@npc$[.@type] == "Rock Pile") mes "You collect another stone fragment that emits a strange magical force."; + else if (.@npc$[.@type] == "Dirt Pile") mes "You collect another clotted bloodstain from a dirt pile."; + else if (.@npc$[.@type] == "Split Earth") mes "You collect another piece of skin frozen in the frost in the crack of the split earth."; + getitem .@item[.@type], 1; + donpcevent strnpcinfo(0)+"::OnDisable"; + close; + } + mes "No need to collect more."; + } + if (ep13_3_ahtdayq == 1) { + if (countitem(.@item[.@type]) < 10) { + if (.@npc$[.@type] == "Rock Pile") { + mes "You feel an evil energy from the small stone fragments."; + mes "Collect the stone fragment and knock down and spread out the stone pile to make it look natural."; + } + else if (.@npc$[.@type] == "Dirt Pile") { + mes "You find a clotted bloodstain beneath the dirt pile."; + mes "You collect the clotted bloodstains and then step on the dirt pile to leave no trace."; + } + else if (.@npc$[.@type] == "Split Earth") { + mes "There is some kind of skin stuck by the frost on the sharp, crack surface."; + mes "You collect the frozen piece of skin and then step on the ground to leave no trace."; + } + getitem .@item[.@type], 1; + donpcevent strnpcinfo(0)+"::OnDisable"; + close; + } + setarray .@str$, "stone fragments","bloodstains","pieces of skin"; + mes "No need to collect more " + .@str$[.@type] + "."; + close; + } + mes "Found traces of something."; + mes "Was arranged neatly."; + close; +OnEnable: + hideoffnpc strnpcinfo(0); + end; +OnDisable: + hideonnpc strnpcinfo(0); + initnpctimer; + end; +OnReset: + hideoffnpc strnpcinfo(0); + stopnpctimer; + end; +OnTimer60000: +OnTimer120000: +OnTimer180000: +OnTimer240000: + if (!rand(2)) { + hideoffnpc strnpcinfo(0); + stopnpctimer; + } + end; + +OnTimer300000: + hideoffnpc strnpcinfo(0); + stopnpctimer; + end; +} +dic_fild02,269,55,0 duplicate(ep133_crack#main) Rock Pile#ep133_ef1 844 +dic_fild02,236,29,0 duplicate(ep133_crack#main) Rock Pile#ep133_ef2 844 +dic_fild02,220,34,0 duplicate(ep133_crack#main) Rock Pile#ep133_ef3 844 +dic_fild02,228,55,0 duplicate(ep133_crack#main) Rock Pile#ep133_ef4 844 +dic_fild02,228,63,0 duplicate(ep133_crack#main) Rock Pile#ep133_ef5 844 +dic_fild02,210,75,0 duplicate(ep133_crack#main) Rock Pile#ep133_ef6 844 +dic_fild02,213,35,0 duplicate(ep133_crack#main) Rock Pile#ep133_ef7 844 +dic_fild02,171,49,0 duplicate(ep133_crack#main) Rock Pile#ep133_ef8 844 +dic_fild02,266,44,0 duplicate(ep133_crack#main) Rock Pile#ep133_ef9 844 +dic_fild02,174,79,0 duplicate(ep133_crack#main) Rock Pile#ep133_ef10 844 +dic_fild02,215,85,0 duplicate(ep133_crack#main) Dirt Pile#ep133_ef1 844 +dic_fild02,207,41,0 duplicate(ep133_crack#main) Dirt Pile#ep133_ef2 844 +dic_fild02,232,41,0 duplicate(ep133_crack#main) Dirt Pile#ep133_ef3 844 +dic_fild02,245,68,0 duplicate(ep133_crack#main) Dirt Pile#ep133_ef4 844 +dic_fild02,184,63,0 duplicate(ep133_crack#main) Dirt Pile#ep133_ef5 844 +dic_fild02,207,94,0 duplicate(ep133_crack#main) Dirt Pile#ep133_ef6 844 +dic_fild02,230,71,0 duplicate(ep133_crack#main) Dirt Pile#ep133_ef7 844 +dic_fild02,188,50,0 duplicate(ep133_crack#main) Dirt Pile#ep133_ef8 844 +dic_fild02,248,36,0 duplicate(ep133_crack#main) Dirt Pile#ep133_ef9 844 +dic_fild02,206,115,0 duplicate(ep133_crack#main) Dirt Pile#ep133_ef10 844 +dic_fild02,194,86,0 duplicate(ep133_crack#main) Split Earth#ep133_ef1 844 +dic_fild02,240,51,0 duplicate(ep133_crack#main) Split Earth#ep133_ef2 844 +dic_fild02,176,65,0 duplicate(ep133_crack#main) Split Earth#ep133_ef3 844 +dic_fild02,254,45,0 duplicate(ep133_crack#main) Split Earth#ep133_ef4 844 +dic_fild02,178,119,0 duplicate(ep133_crack#main) Split Earth#ep133_ef5 844 +dic_fild02,200,81,0 duplicate(ep133_crack#main) Split Earth#ep133_ef6 844 +dic_fild02,205,54,0 duplicate(ep133_crack#main) Split Earth#ep133_ef7 844 +dic_fild02,224,74,0 duplicate(ep133_crack#main) Split Earth#ep133_ef8 844 +dic_fild02,244,59,0 duplicate(ep133_crack#main) Split Earth#ep133_ef9 844 +dic_fild02,249,43,0 duplicate(ep133_crack#main) Split Earth#ep133_ef10 844 + +// Frede's Request +//============================================================ +dicastes01,117,262,0 script Frede#13_3 491,2,2,{ + if (isequipped(2782)) { + if (ep13_3_invite <= 5) { + mes "[Frede]"; + mes "Moan... moan..."; + close; + } + if (ep13_3_bra < 1) { + mes "[Frede]"; + mes "Moan... moan..."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Are you alright?"; + mes "You don't look well. Do you need help?"; + next; + mes "[Frede]"; + mes "Ah... thank you."; + mes "It's because of my injured leg."; + next; + mes "[Frede]"; + mes "Do you mind helping me get to the building over there?"; + mes "I will feel better if I rest a little."; + set ep13_3_bra, 1; + close2; + warp "dic_in01",165,101; + end; + } + else if (ep13_3_bra < 4) { + mes "[Frede]"; + mes "I'm getting tired. Can we continue talking inside."; + close2; + warp "dic_in01",165,101; + end; + } + else if (ep13_3_bra < 9) { + mes "[Frede]"; + mes "How is my little favor going?"; + mes "We can have a chat after you are done with it."; + close; + } + mes "[Frede]"; + mes "" + strcharinfo(0) + ", the guys said they wanted to meet up together sometime."; + mes "Make sure you ckear your schedule."; + close; + } + mes "[Frede]"; + mes "¢£¡ô¡ñ ¡û"; + mes "¡ú¡ö¡ø ¢£ ¡ô"; + close; +OnTouch: + if (isequipped(2782) && ep13_3_invite > 5 && ep13_3_bra < 1) { + mes "[Frede]"; + mes "Moan... moan..."; + close; + } + end; +} + +dic_in01,165,104,0 script Frede#13_3_in 454,{ + if (isequipped(2782)) { + if (ep13_3_bra < 1) { + mes "[Frede]"; + mes "Zzz...Zzz..."; + close; + } + else if (ep13_3_bra == 1) { + mes "[Frede]"; + mes "Phew..."; + mes "Thank you so much."; + mes "I'm glad I got a shot of the ^f57d7dBradium^000000 before it was too late."; + percentheal -90,0; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Huff...Huff..."; + mes "I'm glad that you feel better."; + next; + mes "[Frede]"; + mes "Oh my!! Why are you sweating so much!"; + mes "You look a little pale too......"; + emotion e_omg; + next; + mes "[" + strcharinfo(0) + "]"; + mes "No, it's nothing."; + mes "I'm only a little tired, that's all."; + next; + mes "[Frede]"; + mes "Here, sit and eat this."; + mes "The cats outside gave it to me. It doesn't do much good for Saphas but I heard it's suppose to help you humans."; + set ep13_3_bra, 2; + setquest 11171; + getitem 513,1; //Banana + close; + } + else if (ep13_3_bra == 2) { + mes "[" + strcharinfo(0) + "]"; + mes "But the injury on your leg doesn't look new. Why did you come out with a wounded leg?"; + next; + mes "[Frede]"; + mes "I can still move around with this leg and I wanted to help the village."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "But you should stay home and recover."; + next; + mes "[Frede]"; + mes "The fact is, my leg will never recover."; + mes "I can only keep my injury from getting worse."; + next; + mes "[Frede]"; + mes "But I'm grateful that I can still move around."; + mes "Ha......"; + mes "When did we start to be afraid of 'death'."; + next; + mes "[Frede]"; + mes "Saphas have never had any 'sicknesses' and we don't die unless there is a terrible accident."; + next; + mes "[Frede]"; + mes "This is also the reason why we Saphas can maintain a perfect community."; + mes "We didn't have to be greedy."; + next; + mes "[Frede]"; + mes "But suddenly we are hit with this epidemic and many Saphas have lost their loved ones ever since."; + next; + mes "[Frede]"; + mes "We weren't prepared for such a disaster."; + mes "It was chaos. Nobody knew what to do but watch them die."; + next; + mes "[Frede]"; + mes "It was worse for us because we never experienced death from getting old."; + mes "I also thought my ^f57d7dStill Friends^000000 would wake up one day."; + next; + mes "[Frede]"; + mes "But after a while, we realized it was a sickness that led to death and started to search for a cure but the situation was out of control."; + next; + mes "[Frede]"; + mes "We are very advanced in science technology but we lack knowledge in the medical field."; + next; + mes "[Frede]"; + mes "A medicine was completed only after we lost many lives but it isn't enough to completely cure the sickness."; + next; + mes "[Frede]"; + mes "As long as I don't forget to take my Bradium, I can keep from getting any worse."; + next; + mes "[Frede]"; + mes "I recently did some ^f57d7drepair work in the cave next to the village^000000, but I forgot to take Bradium while I was working."; + next; + mes "[Frede]"; + mes "I usually carry extra Bradium with me when I go outside of town for work but you can easily lose sense of time in a cave."; + next; + mes "[Frede]"; + mes "......umm......"; + mes ".............."; + next; + mes "[Frede]"; + mes "Oh no!!!!!!!!!!!!!!!!"; + mes "Come... to think of it...."; + mes "My friends!!!!!!!!!!"; + next; + mes "[Frede]"; + mes "I haven't seen my friends who I worked with in the cave."; + next; + mes "[Frede]"; + mes "They have to return to the village once every few days to replenish their Bradium."; + mes "Maybe......they forgot?"; + next; + mes "[Frede]"; + mes "Oh.. what should I do......"; + mes "I would run there myself if only my legs would move normally."; + next; + mes "[Frede]"; + mes "Would you mind visiting the cave to see if my friends are alright?"; + next; + if (select("Will do.:No can't do.") == 1) { + mes "[Frede]"; + mes "Thank you so much."; + mes "My memory is a bit fuzzy since its been a while since I came back to the village,"; + next; + mes "[Frede]"; + mes "but you will find a ^f57d7dcave nearby the village with repairmen work going on^000000."; + next; + mes "[Frede]"; + mes "I saw friends leaving the village after returning for more Bradium a few days ago."; + next; + mes "[Frede]"; + mes "I only hope they are all healthy and well."; + set ep13_3_bra, 4; + changequest 11171,11172; + close; + } + mes "[Frede]"; + mes "I guess I can't do anything about it."; + mes "But drag myself there."; + set ep13_3_bra, 3; + close; + } + else if (ep13_3_bra == 3) { + mes "[Frede]"; + mes "Oh.. what should I do......"; + mes "I would run there myself if only my legs would move normally."; + next; + mes "[Frede]"; + mes "Would you mind visiting the cave to see if my friends are alright?"; + next; + if (select("Will do..:No can't do.")) { + mes "[Frede]"; + mes "Thank you so much."; + mes "My memory is a bit fuzzy since its been a while since I came back to the village,"; + next; + mes "[Frede]"; + mes "but you will find a ^f57d7dcave nearby the village with repairmen work going on^000000."; + next; + mes "[Frede]"; + mes "I saw friends leaving the village after returning for more Bradium a few days ago."; + next; + mes "[Frede]"; + mes "I only hope they are all healthy and well."; + set ep13_3_bra, 4; + changequest 11171,11172; + close; + } + mes "[Frede]"; + mes "I guess I can't do anything about it."; + mes "But drag myself there."; + close; + } + else if (ep13_3_bra == 4) { + setarray .@quest_id, 11159,11160,11161,11162,11163,11164; + for (set .@size, getarraysize(.@quest_id); .@i < .@size; set .@i, .@i + 1) + if (checkquest(.@quest_id[.@i]) == -1) { + set .@fail, 1; + break; + } + if (!.@fail) { + mes "[Frede]"; + mes "I knew they were working all along and forgot to return back to the village."; + mes "They must have been short on Bradium."; + next; + mes "[Frede]"; + mes "Hmmm.."; + next; + mes "[Frede]"; + mes "I'm sorry to ask again but can you take some Bradium to my friends?"; + next; + mes "[Frede]"; + mes "They may be safe now, but they might forget and fall ill suddenly."; + next; + mes "[Frede]"; + mes "Ask ^f57d7dBouy at the building located northwest of the village^000000 and he will give you some refined Bradium."; + mes "I can't thank you enough."; + set ep13_3_bra, 5; + changequest 11172,11173; + for (set .@i, 0; .@i < .@size; set .@i, .@i + 1) + erasequest .@quest_id[.@i]; + close; + } + mes "[Frede]"; + mes "Thank you so much."; + mes "My memory is a bit fuzzy since its been a while since I came back to the village,"; + next; + mes "[Frede]"; + mes "You can find them in the cave nearby the village with repair work going on."; + next; + mes "[Frede]"; + mes "I saw friends leaving the village after returning for more Bradium a few days ago."; + next; + mes "[Frede]"; + mes "I hope they are all doing well."; + mes "Please get back to me once you meet my friends."; + close; + } + else if (ep13_3_bra == 5) { + mes "[Frede]"; + mes "I knew they were working all along and forgot to return back to the village."; + mes "They must have been short on Bradium."; + next; + mes "[Frede]"; + mes "Hmmm.."; + next; + mes "[Frede]"; + mes "I'm sorry to ask again but can you take some Bradium to my friends?"; + next; + mes "[Frede]"; + mes "They may be safe now, but they might forget and fall ill suddenly."; + next; + mes "[Frede]"; + mes "Ask the ^f57d7dBouy at the building located northwest of the village^000000 and he will give you some refined Bradium."; + mes "I can't thank you enough."; + close; + } + else if (ep13_3_bra == 6) { + mes "[Frede]"; + mes "So they are out of Braidum."; + mes "Will they need to wait till other Piom or Galtens return?"; + close; + } + else if (ep13_3_bra == 7) { + mes "[Frede]"; + mes "So they are out of Braidum."; + mes "Will they need to wait till other Piom or Galtens return?."; + close; + } + else if (ep13_3_bra == 8) { + if (checkweight(1201,1) == 0) { + mes "[Frede]"; + mes "You have too many kinds of items."; + mes "Please return after reducing the number of items."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "[Frede]"; + mes "You have too many items."; + mes "Please return after reducing the weight of your items."; + close; + } + setarray .@quest_id, 11165,11166,11167,11168,11169,11170; + for (set .@size, getarraysize(.@quest_id); .@i < .@size; set .@i, .@i + 1) + if (checkquest(.@quest_id[.@i]) == -1) { + set .@fail, 1; + break; + } + if (!.@fail) { + mes "[Frede]"; + mes "" + strcharinfo(0) + " I'm forever in your debt!"; + mes "I just came back after meeting my friends!"; + mes "Tyler needs some medical treatment but everyone else is safe."; + next; + mes "[Frede]"; + mes "I don't even want to imagine what could have happened if you, " + strcharinfo(0) + ", weren't here to help."; + mes "I don't want to lose any more friends."; + next; + mes "[Frede]"; + mes "Please take this as a token of my gratitude and friendship."; + mes "It's nothing much but I want you to have it."; + mes "We may be from different races but we can be great friends."; + completequest 11176; + set ep13_3_bra, 9; + getitem 2788,1; //Bradium_Earing + for (set .@i, 0; .@i < .@size; set .@i, .@i + 1) + erasequest .@quest_id[.@i]; + close; + } + mes "[Frede]"; + mes "Please give this Bradium to my friends."; + mes "They must take this or else they may get sick."; + close; + } + mes "[Frede]"; + mes "" + strcharinfo(0) + ", the guys said they wanted to meet up together sometime."; + mes "Make sure you clear your schedule."; + close; + } + mes "[Frede]"; + mes "¢£¡ô¡ñ ¡û "; + mes "¡ú¡ö¡ø ¢£ ¡ô"; + close; +} + +dic_dun01,205,43,5 script Brian#ep13_3_ 490,{ + if (isequipped(2782)) { + if (ep13_3_bra < 4) { + mes "[Brian]"; + mes "You never know what kind of accident might happen if we don't do a thorough job."; + next; + mes "[Brian]"; + mes "Not only is creating things important, but regular maintenance is also very important."; + close; + } + else if (ep13_3_bra < 8) { + if (checkquest(11159) >= 0 || ep13_3_bra != 4) { + mes "[Brian]"; + mes "Oh... that reminds me, how many days passed since I came here..."; + mes "Do you happen to know what day it is today?"; + close; + } + mes "[Brian]"; + mes "You never know what kind of accident might happen if we don't do a thorough job."; + next; + mes "[Brian]"; + mes "Not only is creating things important, but regular maintenance is also very important."; + next; + mes "[Brian]"; + mes "Hmm. But what brings an outsider here?"; + next; + mes "[Brian]"; + mes "Oh, you are here for Frede?"; + mes "How is he doing?"; + next; + mes "[Brian]"; + mes "I saw him a few days ago but I'm always worried about my old friend."; + next; + mes "[Brian]"; + mes "I hope he is getting used to his new work."; + mes "I shouldn't be worried because he is very hardworking but..."; + next; + mes "[Brian]"; + mes "He got sick by overworking himself already. But you don't have to tell him I said this."; + next; + mes "[Brian]"; + mes "I just hope his condition doesn't get worse."; + next; + mes "[Brian]"; + mes "Oh... that reminds me, how many days passed since I came here..."; + mes "Do you happen to know what day it is today?"; + setquest 11159; + close; + } + else if (ep13_3_bra == 8) { + if (checkquest(11165) >= 0) { + mes "[Brian]"; + mes "I'm out of Bradium already."; + mes "Frede has been nagging me about this all the time but now I see why."; + mes "haha."; + next; + mes "[Brian]"; + mes "Please tell Frede that I will return to the village after I recover."; + close; + } + mes "[Brian]"; + mes "I remember you."; + mes "What brings you here this time?"; + next; + select("You give Bradium to Brian."); + mes "[" + strcharinfo(0) + "]"; + mes "Frede asked me to give you this."; + next; + mes "[Brian]"; + mes "Come to think of it, I do feel a bit heavy."; + mes "I've been standing here all day and I could have stiffened up without knowing it."; + next; + mes "[Brian]"; + mes "I'm out of Bradium already."; + mes "Frede has been nagging me about this all the time but now I see why."; + mes "Ha ha.."; + next; + mes "[Brian]"; + mes "Please tell Frede that I will return to the village after I recover."; + next; + setquest 11165; + close; + } + mes "[Brian]"; + mes "You saved me from the inevitable."; + mes "If I didn't take Bradium then, I would have been frozen and gradually died."; + next; + mes "[Brian]"; + mes "I am able to work now after I recovered while I was in the village."; + mes "Thank you so much."; + close; + } + mes "[Brian]"; + mes "¡ô¡õ¡ó ¡ø ¡ð¢±¡û ¡ö ¡ð"; + mes "¡ð¡þ¡þ ¡ù ¡Ð¡ñ¡ï ¢¤"; + mes "¡ô¡ò¢² ¡ø"; + close; +} + +dic_dun01,153,107,4 script Tyler#13_3 489,{ + if (isequipped(2782)) { + if (ep13_3_bra < 4) { + mes "[Tyler]"; + mes "I still see things to fix after fixing all day!"; + mes "It's logical to fix things that needs to be fixed!!"; + next; + mes "[Tyler]"; + mes "Labor is rewarding at the end!"; + mes "Hahahahaha!!!!!"; + close; + } + else if (ep13_3_bra == 4) { + if (checkquest(11161) >= 0) { + mes "[Tyler]"; + mes "If you happen to bump into him in the village, please tell him I'm fine and not to worry."; + close; + } + mes "[Tyler]"; + mes "I still see things to fix after fixing all day!"; + mes "It's logical to fix things that needs to be fixed!!"; + next; + mes "[Tyler]"; + mes "Labor is rewarding at the end!"; + mes "Ha ha ha ha ha!!!!!"; + next; + mes "[Tyler]"; + mes "Huh?! Who are you?"; + mes "Why is an outsider here?"; + next; + mes "[Tyler]"; + mes "You came because of Frede?"; + next; + mes "[Tyler]"; + mes "I can't believe him."; + mes "He should take care of himself."; + next; + mes "[Tyler]"; + mes "We two go way back."; + mes "He has always been the diligent one."; + next; + mes "[Tyler]"; + mes "We used to work together in a snack bar before."; + mes "He always said he wanted to do something related to ^f57d7dstone^000000 or ^f57d7dheavy metal^000000."; + next; + mes "[Tyler]"; + mes "But Pioms are not really good at brainwork so he was looking someplace else."; + next; + mes "[Tyler]"; + mes "All of our friends applied for this job because we could do something related with stones and metal by working in a tunnel."; + next; + mes "[Tyler]"; + mes "He may be categorizing stones in the village now, but I'm sure he is happy with his work."; + next; + mes "[Tyler]"; + mes "If you happen to bump into him in the village, please tell him I'm fine and not to worry."; + next; + mes "[Tyler]"; + mes "Do you mind scratching my back?"; + mes "I have an itch probably from a bug bite."; + mes "But I doubt there is a bug big enough to bite me on the back."; + setquest 11161; + close; + } + else if (ep13_3_bra < 8) { + mes "[Tyler]"; + mes "If you happen to bump into him in the village, please tell him I'm fine and not to worry."; + next; + mes "[Tyler]"; + mes "Do you mind scratching my back?"; + mes "I have an itch probably from a bug bite."; + mes "But I doubt there is a bug big enough to bite me on the back."; + close; + } + else if (ep13_3_bra == 8) { + if (checkquest(11167) >= 0) { + mes "[Tyler]"; + mes "Oh!! I was out of Bradium. How did you know!"; + mes "Thanks!"; + next; + mes "[Tyler]"; + mes "I always end up short even if I bring extra."; + mes "I will have to go back to the village after I'm done with this to bring back more."; + close; + } + mes "[Tyler]"; + mes "We meet again!"; + next; + mes "[Tyler]"; + mes "I've been waiting for you!"; + mes "Scratch my back please~"; + mes "It felt so good the last time you scratched it for me."; + next; + switch (select("You give Bradium to Tyler.")) { + case 1: + break; + } + mes "[" + strcharinfo(0) + "]"; + mes "Frede asked me to give you this."; + next; + mes "[Tyler]"; + mes "Oh!! I was out of Bradium. How did you know!"; + mes "Thanks!"; + next; + mes "[Tyler]"; + mes "I always end up short even if I bring extra."; + mes "I will have to go back to the village after I'm done with this to bring back more."; + setquest 11167; + close; + } + mes "[Tyler]"; + mes "I visited the village afterwards."; + mes "But the itch on my back wasn't a bug bite."; + next; + mes "[Tyler]"; + mes "Something terrible might have happened if it was too late."; + mes "I must visit the village often just so that my friends don't worry."; + close; + } + mes "[Tyler]"; + mes "¡ï¡þ¡÷"; + mes "¡þ¡ó¡Ð ¡þ ¡Ð¡ø¢± ¡ü "; + mes "¡ó¡ø¢¤ ¡ó "; + close; +} + +dic_dun01,235,243,0 script John#13_3 454,{ + if (isequipped(2782)) { + if (ep13_3_bra < 4) { + mes "[John]"; + mes "-muffling-"; + mes "-tap tap-"; + next; + mes "[John]"; + mes "-crunch-"; + mes "-blob-"; + next; + mes "[John]"; + mes "-slide-"; + mes "-thud-"; + close; + } + else if (ep13_3_bra == 4) { + if (checkquest(11160) >= 0) { + mes "[John]"; + mes "Oh well..."; + mes "There... is nothing to worry about."; + next; + mes "[John]"; + mes "Don't worry."; + close; + } + mes "[John]"; + mes "-muffling-"; + mes "-tap tap-"; + next; + mes "[John]"; + mes "-crunch-"; + mes "-blob-"; + next; + mes "[John]"; + mes "-slide-"; + mes "-thud-"; + next; + mes "[John]"; + mes "Wh..Who is it?"; + next; + mes "[John]"; + mes "Oh, are you a friend of Frede's?"; + next; + mes "[John]"; + mes "Oh well..."; + mes "There... is nothing to worry about."; + next; + mes "[John]"; + mes "Don't worry."; + next; + mes "[John]"; + mes "-whiz-"; + mes "-clink-"; + setquest 11160; + close; + } + else if (ep13_3_bra < 8) { + mes "[John]"; + mes "Oh well..."; + mes "There... is nothing to worry about."; + next; + mes "[John]"; + mes "Don't worry."; + next; + mes "[John]"; + mes "-whiz-"; + mes "-clink-"; + close; + } + else if (ep13_3_bra == 8) { + if (checkquest(11166) >= 0) { + mes "[John]"; + mes "......"; + mes "Thanks...."; + close; + } + mes "[John]"; + mes "......"; + next; + select("You give Bradium to John."); + mes "[" + strcharinfo(0) + "]"; + mes "Frede asked me to give you this."; + next; + mes "[John]"; + mes "......"; + mes "Thanks...."; + setquest 11166; + close; + } + mes "[John]"; + mes "..."; + mes "I'm... okay now..."; + mes "Thanks..."; + close; + } + mes "[John]"; + mes "¡ù¡õ¡Ð ¢³ ¡ó"; + mes "¡ï¡ï¡ò ¡÷ ¡þ¡ð¡ö ¢£ ¡ñ¡ü¡ú ¡ó ¢¤¡ü ¡ó "; + close; +} + +dic_dun02,110,127,5 script Rose#13_3 489,{ + if (isequipped(2782)) { + if (ep13_3_bra < 4) { + mes "[Rose]"; + mes "Lalala~"; + mes "Yeah~!"; + next; + mes "[Rose]"; + mes "He he he!"; + mes "I'm so awesome!"; + mes "This is a perfect fix!"; + mes "I see no errors in my work!"; + close; + } + else if (ep13_3_bra == 4) { + if (checkquest(11162) >= 0) { + mes "[Rose]"; + mes "Tell him there is no problem at all except that I am too good at my job."; + mes "Because I'm perfect."; + close; + } + mes "[Rose]"; + mes "Lalala~"; + mes "Yeah~!"; + next; + mes "[Rose]"; + mes "He he he!"; + mes "I'm so awesome!"; + mes "This is a perfect fix!"; + mes "I see no errors in my work!"; + next; + mes "[Rose]"; + mes "Who are you!"; + mes "You can never hide beauty. Please try not to stare intensely at me. I know I'm beautiful."; + next; + mes "[Rose]"; + mes "What? You came on behalf of Frede?"; + mes "You mean you're not my admirer?"; + mes "Tsk...."; + next; + mes "[Rose]"; + mes "Tell him there is no problem at all except that I am too good at my job."; + mes "Because I'm perfect."; + setquest 11162; + close; + } + else if ((ep13_3_bra > 4) && (ep13_3_bra < 8)) { + mes "[Rose]"; + mes "Tell him there is no problem at all except that I am too good at my job."; + mes "Because I'm perfect."; + close; + } + else if (ep13_3_bra == 8) { + if (checkquest(11168) >= 0) { + mes "[Rose]"; + mes "I'll return to the village soon."; + mes "We can meet up then~"; + close; + } + mes "[Rose]"; + mes "Ah~"; + mes "So you came back because you missed me?"; + next; + mes "[Rose]"; + mes "Don't have to be shy."; + mes "If you really have feelings, race differences shouldn't be a problem."; + next; + select("You give Bradium to Rose."); + mes "[" + strcharinfo(0) + "]"; + mes "You give Bradium to Rose."; + next; + mes "[Rose]"; + mes "Aww... you shouldn't have."; + mes "My ^f57d7dheartbeat^000000 skipped."; + mes "You are already taking care of me."; + mes "He he he"; + next; + mes "[Rose]"; + mes "I'll return to the village soon."; + mes "We can meet up then~"; + setquest 11168; + close; + } + mes "[Rose]"; + mes "You're here?"; + mes "Just in time when I was about to return to the village because I missed you."; + next; + mes "[Rose]"; + mes "We must be connected?"; + mes "^f57d7dHahaha¢½^000000"; + close; + } + mes "[Rose]"; + mes "¡ù¡ó¡ð ¢² ¡ð"; + mes "¡û¡ö¡÷ ¡ù ¢³"; + mes "¢£¡ó¢²"; + close; +} + +dic_dun01,64,107,7 script Bain#13_3 490,{ + if (isequipped(2782)) { + if (ep13_3_bra < 4) { + mes "[Bain]"; + mes "You take sturdy lumber and erect it to make a pillar."; + mes "Simple, isn't it?"; + next; + mes "[Bain]"; + mes "To fix the erected lumber, you need to use wedges to keep it in place."; + mes "Simple, isn't it?"; + close; + } + else if (ep13_3_bra == 4) { + if (checkquest(11163) >= 0) { + mes "[Bain]"; + mes "Just tell him I'm doing well."; + mes "Simple, isn't it?"; + close; + } + mes "[Bain]"; + mes "You take sturdy lumber and erect it to make a pillar."; + mes "Simple, isn't it?"; + next; + mes "[Bain]"; + mes "To fix the erected lumber, you need to use wedges to keep it in place."; + mes "Simple, isn't it?"; + next; + mes "[Bain]"; + mes "What is it? Do you have any questions?"; + next; + mes "[Bain]"; + mes "Frede asked you to come?"; + mes "Just tell him I'm doing well."; + mes "Simple, isn't it?"; + setquest 11163; + close; + } + else if (ep13_3_bra < 8) { + mes "[Bain]"; + mes "Just tell him I'm doing well."; + mes "Simple, isn't it?"; + close; + } + else if (ep13_3_bra == 8) { + if (checkquest(11169) >= 0) { + mes "[Bain]"; + mes "But I will be in trouble if I don't go back to the village for Bradium."; + next; + mes "[Bain]"; + mes "Thank you."; + mes "Hope to see you again."; + close; + } + mes "[Bain]"; + mes "I found a dark brown stain on my shoulder."; + mes "It doesn't come off. I'll have to go back to the village to get treatment."; + next; + select("Give Bradium."); + mes "[" + strcharinfo(0) + "]"; + mes "Frede asked me to give you this."; + next; + mes "[Bain]"; + mes "I found a dark brown stain on my shoulder."; + mes "It doesn't come off. I'll have to go back to the village to get treatment."; + next; + mes "[Bain]"; + mes "But I will be in trouble if I don't go back to the village for Bradium."; + next; + mes "[Bain]"; + mes "Thank you."; + mes "Hope to see you again."; + setquest 11169; + close; + } + mes "[Bain]"; + mes "We meet again."; + mes "I wouldn't have had the chance to return to the village if you didn't give me the Bradium before."; + next; + mes "[Bain]"; + mes "I am forever grateful."; + mes "I'm willing to teach you how to erect a pillar anytime you want."; + next; + mes "[Bain]"; + mes "I don't teach these things to just anyone!!"; + mes "Ha ha ha!!"; + mes "Aren't you excited about it?"; + close; + } + mes "[Bain]"; + mes "¡ó¡ø¢± ¡÷ "; + mes "¡ö¡ñ¡Ð ¡ò ¡õ"; + close; +} + +dic_dun01,58,225,4 script Lash#13_3 491,{ + if (isequipped(2782)) { + if (ep13_3_bra < 4) { + mes "[Lash]"; + mes "Sigh......"; + mes "I'm so tired..."; + mes "But fatigue helps me to move forward."; + next; + mes "[Lash]"; + mes "The sweat, heavy breathing, and continuous tiredness proves that I'm a true Sapha."; + mes "And I actually enjoy it. Ha ha ha ha."; + close; + } + else if (ep13_3_bra == 4) { + if (checkquest(11164) >= 0) { + mes "[Lash]"; + mes "If you'd like to tell him how I'm doing, look at my forearm. Doesn't it spell out 'Strong' on it?"; + next; + mes "[Lash]"; + mes "Just tell him what you see!"; + mes "Ha ha ha ha ha!"; + close; + } + mes "[Lash]"; + mes "Sigh......"; + mes "I'm so tired..."; + mes "But fatigue helps me to move forward."; + next; + mes "[Lash]"; + mes "The sweat, heavy breathing, and continuous tiredness proves that I'm a true Sapha."; + mes "And I actually enjoy it. Ha ha ha ha."; + next; + mes "[Lash]"; + mes "But what is your business here?"; + mes "You want to share the labor and sweat?"; + next; + mes "[Lash]"; + mes "Hm?"; + mes "Oh, you are Frede's messenger?"; + mes "To bad."; + mes "I thought you were like me judging from your forearm."; + next; + mes "[Lash]"; + mes "If you'd like to tell him how I'm doing, look at my forearm. Doesn't it spell out 'Strong' on it?"; + next; + mes "[Lash]"; + mes "Just tell him what you see!"; + mes "Ha ha ha ha ha!"; + setquest 11164; + close; + } + else if (ep13_3_bra < 8) { + mes "[Lash]"; + mes "If you'd like to tell him how I'm doing, look at my forearm. Doesn't it spell out 'Strong' on it?"; + mes "[Lash]"; + mes "Just tell him what you see!"; + mes "Ha ha ha ha ha!"; + close; + } + else if (ep13_3_bra == 8) { + if (checkquest(11170) >= 0) { + mes "[Lash]"; + mes "Wow!!!!"; + mes "You've saved me!"; + mes "[Lash]"; + mes "I would have perished into ashes here if it weren't for you!"; + close; + } + mes "[Lash]"; + mes "Moan..."; + mes "Is... this what they call fatigue!"; + mes "Never knew I would feel this. Sob."; + next; + select("You give Bradium to Lash."); + mes "[" + strcharinfo(0) + "]"; + mes "Frede asked me to give you this."; + next; + mes "[Lash]"; + mes "Wow!!!!"; + mes "You've saved me!"; + next; + mes "[Lash]"; + mes "I would have perished into ashes here if it weren't for you!"; + setquest 11170; + close; + } + mes "[Lash]"; + mes "Ha ha ha!!"; + mes "You are my savior!"; + mes "Our friendship will last forever regardless of race!"; + close; + } + mes "[Lash]"; + mes "¡ô¡õ¡ó ¡ø ¡ð¢±¡û ¡ö ¡ð"; + mes "¡ð¡þ¡þ ¡ù ¡Ð¡ñ¡ï ¢¤ "; + mes "¡ô¡ò¢² ¡ø "; + mes "¡÷"; + mes "¡õ¢³¡ñ ¡õ ¡ñ"; + close; +} + +dic_in01,349,129,5 script Bouy#13_3 449,{ + if (isequipped(2782)) { + if (ep13_3_bra < 5) { + mes "[Bouy]"; + mes "Outsiders are prohibited here."; + mes "If you have come here by mistake, please find your way out now."; + close; + } + else if (ep13_3_bra == 5) { + mes "[Bouy]"; + mes "Outsiders are prohibited here."; + mes "If you have come here by mistake, please find your way out now."; + next; + select("I came on behalf of Frede."); + mes "[Bouy]"; + mes "I didn't know. Excuse me."; + mes "What did he ask you to do?"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "He asked me to deliver Bradium to his friends working in the cave outside the village."; + next; + mes "[Bouy]"; + mes "Oh no. I don't have any portable Bradium because of insufficient supplies."; + next; + mes "[Bouy]"; + mes "I will only be able to get the Bradium that is being refined now in a few days. We let Pioms returning from outside work stay and rest in the village."; + next; + mes "[Bouy]"; + mes "But I see they haven't returned yet."; + mes "They must be out of Bradium by now."; + mes "This isn't good."; + next; + mes "[Bouy]"; + mes "Worst case, they wouldn't come back to the village at all."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Is there another way?"; + next; + mes "[Bouy]"; + mes "It takes a lot of time to refine a large Bradium mineral but small pieces of Bradium will be quick."; + next; + mes "[Bouy]"; + mes "Bradium mineral can be collected anywhere in this area but the effectiveness of refined pieces is low."; + next; + mes "[Bouy]"; + mes "You can easily collect ^f57d7dpieces of Bradium from monsters nearby^000000."; + next; + mes "[Bouy]"; + mes "About ^f57d7d30 pieces of Bradium^000000 will be enough to share with 6 people."; + set ep13_3_bra, 6; + changequest 11173,11174; + close; + } + else if (ep13_3_bra == 6) { + if (countitem(6319) > 29) { + mes "[Bouy]"; + mes "You've brought back the Bradium."; + mes "I've been waiting for the Galtens to return because I'm not accustomed to battle since I'm Venknick. Thank you very much."; + next; + mes "[Bouy]"; + mes "Handwork is much faster to refine pieces of Bradium instead of using a machine. I will only need an hour to finish."; + next; + mes "[Bouy]"; + mes "Please go rest while I get to work."; + delitem 6319,30; //Small_Bradium + changequest 11174,11175; + set ep13_3_bra, 7; + close; + } + mes "[Bouy]"; + mes "Bradium mineral can be collected anywhere in this area but the effectiveness of refined pieces is low."; + next; + mes "[Bouy]"; + mes "You can easily collect ^f57d7dpieces of Bradium from monsters nearby^000000."; + next; + mes "[Bouy]"; + mes "About ^f57d7d30 pieces of Bradium^000000 will be enough to share with 6 people."; + close; + } + else if (ep13_3_bra == 7) { + if (checkquest(11175,PLAYTIME) > 1) { + mes "[Bouy]"; + mes "I did it!"; + mes "I was a bit nervous because it has been a long time since I did manual work but I think I did a good job."; + mes "Please take these to them."; + set ep13_3_bra, 8; + changequest 11175,11176; + close; + } + mes "[Bouy]"; + mes "I'm still working on it so please rest a little more."; + close; + } + mes "[Bouy]"; + mes "Saphas cannot live unless we consume Bradium continuously."; + mes "That is why we needed spaces for us to inject Bradium all over the village."; + next; + mes "[Bouy]"; + mes "But those working outside of the village cannot return often to refill their Bradium so we provide Bradium that is portable."; + next; + mes "[Bouy]"; + mes "But there was a problem with the Bradium mining in the Manuk area recently and we have a shortage of supplies. We don't have enough to give out."; + next; + mes "[Bouy]"; + mes "That is why many Pioms working in the outskirts of the village return for more supplies,"; + next; + mes "[Bouy]"; + mes "and the time spent on transportation is what is slowing down work."; + next; + mes "[Bouy]"; + mes "To tell you the truth, transportation time doesn't make much difference but it adds up in the end."; + next; + mes "[Bouy]"; + mes "We call this the ^f57d7dCreamy Effect^000000."; + close; + } + mes "[Bouy]"; + mes "¡ø¡ö¡þ ¡ù ¡ú¡ð¡ï ¡ø"; + mes "¡ï¡ú¡ö ¡ù"; + mes "¡õ¡ï¡õ ¡ò"; + close; +} + +// Sapha's Visit +//============================================================ +- script Expedition#ep133_is -1,{ + if (ep13_3_invite) { + if (compare(strnpcinfo(1),"Maha")) { + mes "[Maha]"; + mes "But I do think the Sapha race is overly kind, almost unnaturally."; + mes "Guess it'll be fine."; + close; + } + mes "[Ben]"; + mes "There is nothing strange!"; + mes "I'd love to be like you and respected by many people."; + next; + mes "[Ben]"; + mes "I can also visit the Sapha if I work well here, can't I?"; + close; + } + mes "[Ben]"; + mes "Hmm. Hey, Maha,"; + mes "what do you think?"; + mes "Why do you think he is here?"; + next; + mes "[Maha]"; + mes "Don't know. Not interested."; + next; + mes "[Ben]"; + mes "Don't you find that guy strange?"; + mes "I've never seen his race before I joined the expedition."; + next; + mes "[Maha]"; + mes "Ah. Really?"; + mes "Then it's only you."; + mes "There must be a reason why he is here."; + next; + mes "[Ben]"; + mes "................"; + mes "Oh no you don't..."; + next; + mes "[Maha]"; + mes "They may make an announcement soon."; + mes "All we need to do is wait for the announcement."; + mes "It will give us the answers."; + next; + if(select("What is it?:Stay silent and listen.") == 2) { + mes "[Ben]"; + mes "Hmm..."; + mes "That can be true but aren't you thinking too much?"; + next; + mes "[Maha]"; + mes "I don't like to get into trouble."; + mes "I only follow orders."; + mes "Besides, there is nothing out of the ordinary."; + next; + mes "[Maha]"; + mes "From what I can tell"; + mes "That tree-like giant race called Sapha are kind."; + mes "There won't be any trouble. Relax."; + close; + } + mes "[Ben]"; + mes "Huh? Did you hear us?"; + mes "Nothing really or maybe something..."; + mes "So..."; + next; + mes "[Ben]"; + mes "Research members dispatched to Manuk just came back."; + mes "But..."; + next; + select("But?"); + mes "[Ben]"; + mes "Well... they came back with a Manuk messenger!"; + mes "...Sapha of Manuk."; + next; + if (select("Where is he?!:Is this top secret information?!") == 1) { + mes "[Ben]"; + mes "He's in the command center right now."; + mes "We should go there."; + close; + } + mes "[Ben]"; + mes "Excuse me."; + mes "There was no order to restrict or keep it a secret."; + mes "And it looks like they are making an official visit."; + next; + mes "[Ben]"; + mes "We might be able to know something if we go to the command center now"; + mes "Try seeing ^4d4dffAello^000000."; + close; +} +mid_camp,220,246,5 duplicate(Expedition#ep133_is) Expedition Guard Ben 930 +mid_camp,223,246,4 duplicate(Expedition#ep133_is) Expedition Guard Maha 868 + +mid_campin,93,114,3 script Guard Aello#ep133_is03 967,{ + if (ep13_ryu > 99 || ep13_start > 99) { + if (ep13_3_invite == 0) { + mes "[Aello]"; + mes "Ah, you. Good timing."; + mes "I have something urgent to tell you."; + next; + mes "[Aello]"; + mes "Do you happen to know that a messenger from Manuk is here?"; + mes "Not a big secret but.."; + next; + mes "[Aello]"; + mes "The Sapha from Manuk wants to talk to you."; + mes "Agiff says anyone of from the expedition can meet him but.."; + mes "I think someone with more experience should go."; + next; + mes "[Aello]"; + mes "I know your abilities"; + mes "and trust you."; + mes "The delegation is in the room at the right on the second floor."; + next; + mes "[Aello]"; + mes "There will be a guard standing in front"; + mes "just tell him you got authorization."; + mes "He is interested in humans, so try to be courteous while talking to him."; + set ep13_3_invite, 1; + setquest 7182; + close; + } + else if (ep13_3_invite == 1) { + mes "[Aello]"; + mes "It's the room at the right on the second floor."; + mes "There is a guard in front of the room."; + mes "He'll let you pass if you tell him you have authorization."; + next; + mes "[Aello]"; + mes "Try not to give unnecessary information"; + mes "and only do small talk."; + close; + } + mes "[Aello]"; + mes "I knew I could count on you."; + mes "You're activities will help us tremendously in expanding our territory."; + close; + } + mes "[Aello]"; + mes "I am only interested in the most skillful"; + mes "and trustworthy person among the Ash-Vacuum expedition."; + next; + mes "[Aello]"; + mes "But.. you are a new face around here."; + mes "Hmm... sorry but you won't do."; + mes "You'll have to get yourself familiar with this camp first."; + close; +} + +mid_campin,111,120,3 script Soldier#ep133_is04 852,{ + if (ep13_3_invite == 1) { + mes "[Soldier]"; + mes "Sorry, but this room is currently restricted from visitors."; + next; + if (select("I have authorization.:Is that so.") == 1) { + mes "[Soldier]"; + mes "You do?"; + mes "What is your name."; + mes "Thank you."; + mes "So you are " + strcharinfo(0) + "."; + next; + mes "[Soldier]"; + mes "You may go in now."; + close2; + warp "mid_campin",165,126; + end; + } + mes "[Soldier]"; + mes "You mustn't enter without Aello's permission."; + mes "No exceptions."; + close; + } + else if (ep13_3_invite > 1) { + mes "[Soldier]"; + mes "You're back."; + mes "Are you acquainted with the Sapha messenger now?"; + mes "We have high expectations from you."; + close2; + warp "mid_campin",165,126; + end; + } + mes "[Soldier]"; + mes "Sorry."; + mes "This room is restricted from visitors."; + close; +} + +function script eldicastes_c { + switch(getarg(0)) { + case 1: + mes "[Hound]"; + mes "Let's continue.."; + mes "Although the details are already settled."; + next; + mes "[Vyhannus]"; + mes "Ah, yes."; + mes "Where was I?"; + mes "Ah, yes."; + mes "El Dicastes!"; + mes "El Dicastes is the capital city of Sapha."; + next; + mes "[Vyhannus]"; + mes "A city like a sparkling jewel in white snow."; + mes "Manuk was originally a village created to mine Bradium."; + mes "El Dicastes has now grown to be the Sapha home ground."; + next; + mes "[Vyhannus]"; + mes "Ravail holds all authority in El Dicastes"; + mes "and makes decisions on reports from Manuk."; + next; + mes "[Vyhannus]"; + mes "Kind race born from a world other than ours"; + mes "we are grateful for your kindness"; + mes "in helping and cooperating with us."; + next; + mes "[Vyhannus]"; + mes "Ravail, representative of Sapha"; + mes "would like to invite humans to El Dicastes,"; + mes "Sapha's capital city."; + next; + select("Invite? Visit? City?!:What is that suppose to mean, Hound?"); + mes "[Hound]"; + mes "Just as he said."; + mes "Our expedition team has helped the Saphas for some time."; + mes "Collect Bradium for their survival or"; + next; + mes "[Hound]"; + mes "Eliminate vicious beasts that threaten them."; + mes ".. ......"; + next; + mes "[Hound]"; + mes "So they have given us an official invitation to visit their capital city in return."; + mes "That is why I've been selecting expedition members to send to El Dicastes, the capital city of Sapha."; + next; + select("..You mean.."); + mes "[Vyhannus]"; + mes "Yes."; + mes "That is what he meant."; + mes "Agiff also approved before he left."; + mes "" + strcharinfo(0) + ", you are invited."; + next; + mes "[Vyhannus]"; + mes "You are kind and respect others"; + mes "polite and trustworthy and most of all, fun in character."; + next; + mes "[Vyhannus]"; + mes "You are perfect. Ravail will approve too."; + mes "That is why I'm here."; + next; + mes "[Vyhannus]"; + mes "I invite you to El Dicastes, our capital city."; + mes "" + strcharinfo(0) + ""; + next; + select("Never would have imagined."); + mes "[Hound]"; + mes "Shouldn't you already be used to the unexpected by now?"; + mes "Come on... you're not a rookie.. haha."; + next; + mes "[Hound]"; + mes "If you are going to leave, better be now."; + mes "Come back to me once you are ready to leave."; + mes "I will let you know your mission."; + set ep13_3_invite, 3; + close; + case 2: + mes "[Vyhannus]"; + mes "First go to Manuk and meet General Guard Avalanche."; + mes "Avalanche will be heavily armed because he is Galten."; + mes "You can't miss him."; + next; + mes "[Vyhannus]"; + mes "Once you tell Avalanche that you are a guest of the city, he will let you pass the path to El Dicastes."; + next; + mes "[Vyhannus]"; + mes "You cannot go pass without his approval so make sure you get his permission."; + mes "He will let you pass with my recommendations."; + next; + mes "[Vyhannus]"; + mes "I'm a little excited."; + mes "on what our meeting will bring in the future."; + mes "Only hope it won't be like a blizzard in the middle of the night."; + set ep13_3_invite, 4; + changequest 7182,7183; + close; + case 3: + mes "[Hound]"; + mes "My name is Hound."; + mes "Are you here by Aello's request?"; + next; + select("Yes. He told me to meet the Sapha."); + mes "[Hound]"; + mes "Okay. You should be able to talk to him, right?"; + mes "Shall we start with introducing ourselves?"; + mes "This is..."; + mes ""+strcharinfo(0)+"..."; + next; + mes "[Vyhannus]"; + mes "My name is Vyhannus."; + mes strcharinfo(0)+"..?"; + mes "Glad to meet you."; + next; + if(select("Same here.:A tree monster!")==1) { + mes "[Vyhannus]"; + mes "Amazing."; + mes "Like with Hound, that ring you humans made..."; + mes "is like a ring of wisdom."; + } + else { + mes "[Hound]"; + mes "What are you saying?"; + mes "That was rude!"; + next; + mes "[Vyhannus]"; + mes "Oh. Monster?"; + mes "That is something new."; + mes "Hound. I'm fine. You humans are amusing."; + next; + } + mes "[Vyhannus]"; + mes "Shall we skip to the point?"; + mes "The reason why I am here..."; + next; + mes "[Someone's voice]"; + mes "Excuse me, hold on a second."; + enablenpc "Hibba Agip#ep133_is07"; + next; + mes "[Hound]"; + mes "Commander!"; + mes "You've come at such short notice."; + mes "Is there a situation?"; + emotion e_omg,0,"Hound#ep133_is06"; + next; + mes "[Hibba Agip]"; + mes "Huh? Nothing."; + mes "Was there anything."; + mes "You said you wanted to send a trustworthy person, right?"; + mes "I wanted to see the person Aello chosen to send."; + next; + mes "[Hibba Agip]"; + mes "Hm... Ah."; + mes "Is it you?"; + mes "I see, just as Aello explained."; + mes "Well, I think we are in good hands if it is you."; + next; + select("What are you implying?"); + mes "[Vyhannus]"; + mes "So... It's like this."; + mes "Both Saphas and humans had many differences in the past."; + next; + mes "[Vyhannus]"; + mes "We've worried about becoming enemies with your race after you've suddenly appeared"; + mes "and were afraid of your abilities."; + next; + mes "[Vyhannus]"; + mes "But you have respected us Saphas"; + mes "and helped Manuk with many deeds."; + mes "We've come to recognize humans as good people."; + next; + mes "[Hibba Agip]"; + mes "Yes, we made efforts."; + mes "We also tried to keep a neutral attitude."; + mes "Because it is always better to strengthen amnity as a third party then taking sides in a conflict."; + next; + mes "[Hound]"; + mes "Well.."; + mes "Not totally wrong, I guess..."; + next; + mes "[Vyhannus]"; + mes "(Vyhannus smiles)"; + mes "We have told Ravail about you humans."; + mes "Ravail is the highest elder of glorious ^4d4dffEl Dicastes^000000."; + next; + select("El Dicastes?:Ravail?"); + mes "[Hibba Agip]"; + mes "Ah, sorry for interrupting."; + mes "I have to go now."; + mes "Hound, I approve."; + mes "I think he will do just fine."; + next; + mes "[Hibba Agip]"; + mes "Then it's settled with him."; + mes "And... ah yes, you."; + mes "Please go meet the inspector in the next room after this."; + mes "Got it?"; + next; + mes "[Hibba Agip]"; + mes "I'm leaving now."; + mes "Vyhannus? I'll come by to see you again."; + mes "And you should ^4d4dffmeet Inspector Doha after talking with Vyhannus^000000."; + mes "Then bye everyone."; + set ep13_3_invite, 2; + set ep13_3_secret, 1; + setquest 7185; + next; + disablenpc "Hibba Agip#ep133_is07"; + emotion e_swt2,0,"Hound#ep133_is06"; + emotion e_swt2,0,"Sapha from Manuk"; + mes "Commander Hibba Agip quickly left the room after saying what he wanted to say."; + mes "First, let's listen to Vyhannus's story."; + close; + } +} + +mid_campin,168,128,3 script Sapha from Manuk 451,{ + if (isequipped(2782)) { + if (!ep13_3_invite) { + mes "-Looks like the Sapha messenger from Manuk.-"; + next; + mes "[Hound]"; + mes "Sorry but will you leave now?"; + mes "You don't seem to have authorization from the captain or Aello?"; + close; + } + if (ep13_3_invite == 1) { + mes "[Sapha]"; + mes "- This person look like the Sapha messenger from Manuk. -"; + mes "You just stand there without"; + mes "knowing what he says, so the"; + mes "expedition guard next to you starts to talk. -"; + next; + callfunc "eldicastes_c",3; + } + else if (ep13_3_invite == 2) { + mes "[Vyhannus]"; + mes "Your commander is like the wind."; + mes "We have someone like that in Manuk, too."; + mes "He's name is Galten. He is so quick, you won't notice the weight of his armor."; + next; + callfunc "eldicastes_c",1; + } + else if (ep13_3_invite == 3) { + callfunc "eldicastes_c",2; + } + else if (ep13_3_invite == 4) { + mes "[Vyhannus]"; + mes "Avalanche will be at the Manuk Operations building."; + mes "Once he approves, you can use the tunnel that leads to the capital city."; + mes "The tunnel might be a little scary."; + mes "But I'm sure you will reach the end of it since you are strong."; + close; + } + else if (ep13_3_invite == 5) { + mes "[Vyhannus]"; + mes "Oh, the tunnel?"; + mes "It was originally a mineral mine."; + mes "But we found ourselves on the opposite side while mining away."; + next; + mes "[Vyhannus]"; + mes "We found better mines afterwards and that is how Manuk came about."; + mes "The tunnel is reorganized with paths between the capital city and Manuk."; + next; + mes "[Vyhannus]"; + mes "That is it."; + close; + } + else if (ep13_3_invite == 6) { + mes "[Vyhannus]"; + mes "You received the Light of El Dicastes."; + mes "With this, you can return to Diel from anywhere, anytime."; + mes "Looks like an item made for your convenience."; + next; + mes "[Vyhannus]"; + mes "Ravail seems to like you very much."; + mes "The Light of El Dicastes is convenient to use instead of moving through long tunnels."; + next; + mes "[Vyhannus]"; + mes "Oh, the tunnel?"; + mes "It was originally a mineral mine."; + mes "But we found ourselves on the opposite side while mining away."; + next; + mes "[Vyhannus]"; + mes "We found better mines afterwards and that is how Manuk came about."; + mes "The tunnel is reorganized with paths between the capital city and Manuk."; + next; + mes "[Vyhannus]"; + mes "That is it."; + close; + } + mes "[Vyhannus]"; + mes "The tunnel that connects Manuk and the capital city."; + mes "It was originally a mineral mine."; + mes "But we found ourselves on the opposite side while mining away."; + next; + mes "[Vyhannus]"; + mes "We found better mines afterwards and that is how Manuk came about."; + mes "The tunnel is reorganized with paths between the capital city and Manuk."; + next; + mes "[Vyhannus]"; + mes "That is it."; + } + mes "[Sapha]"; + mes "¢¤¡ð¡ú? ¢£ ¡ù¡ð..."; + mes "¡ï¡ò¡Ð ¢¤ ?"; + mes "¡ñ¡ï..?"; + next; + mes "[Hound]"; + mes "Where is your interpreter ring?"; + mes "I'm not going to be your personal translator."; + close; +} + +mid_campin,168,125,3 script Hound#ep133_is06 997,{ + if (!isequipped(2782)) { + mes "[Hound]"; + mes "Where is the interpreter ring?"; + mes "We should create it if we don't have one."; + mes "I would like to speak in person."; + close; + } + if (!ep13_3_invite) { + mes "[Hound]"; + mes "Sorry but will you leave now?"; + mes "You don't seem to have authorization from the captain or Aello?"; + close2; + } + else if (ep13_3_invite == 1) { + callfunc "eldicastes_c",3; + } + else if (ep13_3_invite == 2) { + callfunc "eldicastes_c",1; + } + else if (ep13_3_invite == 3) { + callfunc "eldicastes_c",2; + } + else if (ep13_3_invite == 4) { + mes "[Hound]"; + mes "First thing you need to do when you reach Manuk is to meet General Guard Avalanche."; + mes "Tell Avalanche that you are the one invited by Vyhannus."; + next; + mes "[Hound]"; + mes "Then you'll go through a simply process of confirmation and will be permitted to go through the tunnel to the capital city."; + mes "Passing through the tunnel is easy as long as you are polite."; + next; + mes "[Hound]"; + mes "And don't forget what the captain said."; + mes "Inspector Doha is in the next room."; + close; + } + else if (ep13_3_invite > 4) { + mes "[Hound]"; + mes "I've just returned from Manuk from a long term dispatch"; + mes "and haven't gotten any rest yet."; + mes "El Dicastes.. I will find the time to visit once your advance party settles in."; + next; + mes "[Hound]"; + mes "I have to take care of Vyhannus here."; + mes "We might see the day when Saphas like Vyhannus will be living with us on our continent."; + close; + } + mes "[Hound]"; + mes "I've just returned from Manuk from a long term dispatch"; + mes "and haven't gotten any rest yet."; + mes "El Dicastes.. I will find the time to visit once your advance party settles in."; + next; + mes "[Hound]"; + mes "I have to take care of Vyhannus here."; + mes "We might see the day when Saphas like Vyhannus will be living with us on our continent."; + close; +} + +mid_campin,165,127,5 script Hibba Agip#ep133_is07 459,{ + mes "[Hibba Agip]"; + mes "Hmm..?"; + mes "I should go now."; + close2; +OnInit: + disablenpc strnpcinfo(0); + end; +} + +man_in01,315,52,3 script Guard Captain Avalanche 450,{ + mes "[Guard Captain Avalanche]"; + if (!isequipped(2782)) { + mes "¢¤¡ð¡ú? ¢£ ¡ù¡ð..."; + mes "¡ï¡ò¡Ð ¢¤ ?"; + mes "¡ñ¡ï..?"; + close; + } + if (ep13_3_invite == 4) { + mes "[Avalanche]"; + mes "You are human."; + mes "What do you want here?"; + next; + select("I've come with Vyhannus's invitation."); + mes "[Avalanche]"; + mes "Ah. Jarute Vyhannus."; + mes "I thought it would be better for him to take a guard with him but."; + next; + mes "[Avalanche]"; + mes "I guess Vyhannus had trust in you humans."; + mes "I'm fine as long as Vyhannus approved you."; + next; + mes "[Avalanche]"; + mes "I authorize you to pass through to El Dicastes, the capital city."; + mes "There is a tunnel that leads to the capital city right outside this building which goes down by the east mountain range of this village."; + next; + mes "[Avalanche]"; + mes "It is a tunnel that reaches the capital city. There is no other detour because Kamidal mountain is so huge."; + next; + mes "[Avalanche]"; + mes "The tunnel is well maintained but there was a time when part of the tunnel which connects"; + mes "with the lowest cave of the mountain collapsed and reports of wild monsters was received."; + next; + mes "[Avalanche]"; + mes "So I recommend that you move in a group."; + mes "It is dangerous and can be a long journey."; + mes "That is all I have to say for now."; + next; + mes "[Avalanche]"; + mes "Please let me know any news about the capital city when you come back."; + mes "Hahaha.."; + set ep13_3_invite, 5; + changequest 7183,7184; + close2; + } + else if (ep13_3_invite == 5) { + mes "[Avalanche]"; + mes "Go out of this building and straight below the mountain east from the village."; + mes "You will know where it is if you see soldiers guarding the tunnel."; + next; + mes "[Avalanche]"; + mes "I hope that the Light of El Dicastes will show you the way."; + close; + } + else if (ep13_3_invite == 6) { + mes "[Avalanche]"; + mes "Oh.. You have the Light of El Dicastes."; + mes "it would be helpful for your travel."; + next; + mes "[Avalanche]"; + mes "The path to the capital city was previously a mine."; + mes "so we have reports of wild monsters appearing although the tunnel is well maintained."; + next; + mes "[Avalanche]"; + mes "Always take care of yourself at all times."; + mes "Haha.. but then you humans are very strong."; + close; + } + mes "[Avalanche]"; + mes "The path to the capital city was previously a mine."; + mes "so we have reports of wild monsters appearing although the tunnel is well maintained."; + next; + mes "[Avalanche]"; + mes "Always take care of yourself at all times."; + mes "Haha.. but then you humans are very strong."; +} + +dic_in01,42,264,3 script Adventurer Clerk#ep133 453,{ + if (!isequipped(2782)) { + mes "[Clerk Knit]"; + mes "¡ð¡ñ¡ô ¡õ ¡ü¢±¢³ ¡ö ¡ò...?"; + mes "¢¤¡ö¡ø ... ¢³ ¡÷¢£¡ü ¡ø ¡Ð¡õ¡û..."; + next; + mes "- Cannot communicate with him. -"; + close; + } + mes "[Clerk Rhawyne]"; + mes "How can I help you?"; + next; + switch (select("Register as an adventurer.:Talk.:Cancel.")) { + case 1: + if (ep13_3_invite < 5) { + mes "[Clerk Rhawyne]"; + mes "Do you want to register as an adventurer?"; + mes "Strange."; + mes "You are not on our list of visitors."; + mes "Did you enter without permission?"; + next; + mes "[Clerk Rhawyne]"; + mes "All other races without official permission are restricted."; + mes "I will send for a Galten right away."; + next; + mes "The Sapha clerk is ready to call on a Guard Galten any time."; + mes "It's best to avoid this situation."; + close; + } + else if (ep13_3_invite == 5) { + mes "[Clerk Rhawyne]"; + mes "Do you want to register as an adventurer?"; + mes "I will compare with the invitation list from Manuk."; + mes "What is your name?"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "It is " + strcharinfo(0) + "."; + next; + mes "[Clerk Rhawyne]"; + mes "Yes.. " + strcharinfo(0) + "..."; + mes "I found it."; + mes "Welcome to El Dicastes, capital city of Sapha."; + next; + mes "[Clerk Rhawyne]"; + mes "You will be treated the same as other Saphas here"; + mes "and is allowed to do as you wish"; + mes "and can have contracts with official requests from Dicastes."; + next; + mes "[Clerk Rhawyne]"; + mes "This is a little souvenir for visiting El Dicastes."; + mes "You can use it to return to El Dicastes whenever you wish."; + next; + set ep13_3_invite, 6; + getitem 2844,1; //El_Dicastes_Light + completequest 7184; + mes "[Clerk Rhawyne]"; + mes "There is a special place for humans located beneath the residential area of Pioms."; + mes "It is called in your language..."; + mes "Pub. Hope you get to visit there."; + close; + } + mes "[Clerk Rhawyne]"; + mes "Strange."; + mes "Aren't you already registered?"; + mes "I see your name in the records."; + close; + case 2: + if (ep13_3_secret == 12) { + mes "[Clerk Rhawyne]"; + mes "I recognize you."; + mes "How can I help you?"; + next; + if (select("I want to meet the minister.:Nothing particular.") == 1) { + mes "[Clerk Rhawyne]"; + mes "You want to meet the minister?"; + mes "Which minister?"; + mes "Ravail cannot be met in person even with exploit certifications."; + next; + if (select("Ahat:Another minister") == 1) { + if (countitem(6304) > 2) { + mes "[Clerk Rhawyne]"; + mes "You've really collected 3 exploit certification of Sapha already."; + mes "Alright. I will send a request."; + next; + mes "[Clerk Rhawyne]"; + mes "Please take the elevator up to the Administrative Office."; + mes "There is another elevator in the corridor next to the Administrative Office."; + next; + mes "[Clerk Rhawyne]"; + mes "It is a separate elevator that leads to the high minister's office"; + mes "You will be guided in front of the office."; + delitem 6304,3; //Sapa_Feat_Cert + set ep13_3_secret, 13; + changequest 7197,7198; + close; + } + mes "[Clerk Rhawyne]"; + mes "You need 3 exploit certification of Sapha to meet Ahat."; + mes "You know what exploit certification of Sapha is, right?"; + mes "Well, please try to help around El Dicastes to collect them."; + close; + } + mes "[Clerk Rhawyne]"; + mes "Another minister? Who?"; + next; + select("Sorry, but I know no one else."); + mes "[Clerk Rhawyne]"; + mes "You are difficult."; + mes "Unlike other Saphas, ministers are very busy."; + close; + } + mes "[Clerk Rhawyne]"; + mes "What are you curious about today?"; + close; + } + else if (ep13_3_secret == 13) { + mes "[Clerk Rhawyne]"; + mes "Ahat is on the same floor as high minister Ravail."; + mes "Take the elevator up to the Administrative Office and then you will be guided in front of the separate elevator."; + close; + } + mes "[Clerk Rhawyne]"; + mes "What are you curious about today?"; + next; + switch (select("About official requests:About the adventurer's pub:Ahat?:Exploit certification of Sapha?:End conversation.")) { + case 1: + mes "[Clerk Rhawyne]"; + mes "If Diel or ministers need help on operations in the capital"; + mes "they post a notice on the public board."; + next; + mes "[Clerk Rhawyne]"; + mes "Anyone who can take the job can take up the request."; + mes "Adventurers who are officially registered can also take jobs."; + next; + mes "[Clerk Rhawyne]"; + mes "After you handle a request"; + mes "you are given an exploit certification for helping El Dicastes."; + next; + mes "[Clerk Rhawyne]"; + mes "It is better spend spare time on these official requests."; + mes "Because you are contributing to the community."; + next; + mes "[Clerk Rhawyne]"; + mes "Due to the increase of visitors from other worlds,"; + mes "some requests are targeted for you."; + mes "You can take your pick."; + close; + case 2: + mes "[Clerk Rhawyne]"; + mes "The adventurer's pub is open for the convenience of visitors like you."; + mes "It is located in the Piom residential area below the mine and factory zone."; + next; + mes "[Clerk Rhawyne]"; + mes "We thought the living environment here would be unfamiliar and inconvenient for you."; + mes "So we tried to make a place that is similar to what you have back home with a little help from adventurers."; + mes "I hope you like it."; + close; + case 3: + mes "[Clerk Rhawyne]"; + mes "Ahat is the next minister in line after Ravail."; + mes "Why?"; + mes "Because we respect her."; + next; + mes "[Clerk Rhawyne]"; + mes "What should I say, we would like to protect her."; + mes "But I'm not sure how respect is used in your language."; + next; + mes "[Clerk Rhawyne]"; + mes "Ahat is popular."; + mes "Not many have seen him and he works in her room all the time."; + next; + mes "[Clerk Rhawyne]"; + mes "If you want to meet Ahat..well."; + mes "He is really good at his work but is very shy of strangers.."; + next; + mes "[Clerk Rhawyne]"; + mes "He doesn't like to be in places where a lot of people are gathered."; + mes "That is why we barely see her."; + close; + case 4: + mes "[Clerk Rhawyne]"; + mes "Exploit certification?"; + mes "Exploit certifications are made for outsiders like you."; + mes "They are given out as rewards when adventurers help with requests from Saphas throughout the city."; + next; + mes "[Clerk Rhawyne]"; + mes "The exploit certification is used to meet ministers."; + mes "I guess in order to meet busy ministers, you must at least contribute to our society."; + close; + case 5: + mes "[Clerk Rhawyne]"; + mes "Please feel free to ask questions when you need help."; + close; + } + case 3: + mes "[Clerk Rhawyne]"; + mes "Please feel free to ask questions when you need help."; + close; + } +} +// Enchantment NPCs +//============================================================ + +- script dic_enc#main -1,{ + set .@re$, strnpcinfo(1); + set .@n$, "["+.@re$+"]"; + if (!checkweight (1201,1)) { + mes "You have too many kinds of items. Let's try again after you reduce the number of items."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "Cannot proceed because the weight of your items is too heavy. Let's try again after you get rid of some weight."; + close; + } + if (.@re$ == "Kareka") { + if (ep13_3_ring2 > 99) { + mes "[Kareka]"; + mes "Do you want to upgrade the ^990099Light of El Dicastes^000000 again?"; + next; + mes "[Kareka]"; + mes "Ha ha ha, that is out of the question. This item is very rare and valuable so I cannot give you a new one."; + close; + } + if (countitem(6304) < 1) { + mes "[Kareka]"; + mes "The Exploit Certifications of Sapha that you collect by helping throughout the city has other uses besides meeting the minister."; + next; + mes "[Kareka]"; + mes "If you come across an exploit certification, please come back to me."; + next; + mes "[Kareka]"; + mes "I can cast an additional spell to your ^990099Light of El Dicastes^000000 accessory."; + close; + } + mes "[Kareka]"; + mes "You've come to awaken the ^990099Light of El Dicastes^000000 infinite strength. "; + next; + if (select("Please explain.:I want to upgrade.") == 1) { + mes "[Kareka]"; + mes "I heard some craftsmen outside of the city can also cast spells on equipment."; + next; + mes "[Kareka]"; + mes "I'm the same but at least I don't destroy equipment."; + next; + mes "[Kareka]"; + mes "If you bring exploit certifications of Sapha, I will cast spells from 1 to 3 steps to your ^990099Light of El Dicastes^000000."; + next; + mes "[Kareka]"; + mes "But of course, since this is adding spells on top of its original magic, I cannot guarantee that you will get what you want on one try."; + close; + } + if (countitem(2844) < 1) //Luz de El Dicastes + { + mes "[Kareka]"; + mes "Either you are not wearing or don't have the equipment to upgrade on you."; + close; + } + set .@v$, "ring2"; + set .@Items_, 2844; + } + else { + mes .@n$; + set .@cat_hi, rand(1,30); + if (.@cat_hi == 1) mes "It is difficult to find fish here. Can't find any so Jahbong would forget that he's busy or angry at the sight of a Fish Tail."; + if (.@cat_hi == 2) mes "Grrr... I was punished with a ladle for peeing on my blanket yesterday."; + if (.@cat_hi == 3) mes "I dream sometimes of a giant patting me on the head. But I feel more annoyed than afraid."; + if (.@cat_hi == 4) mes "Newbie Jarute, Ahat doesn't seem to look like a Sapha."; + if (.@cat_hi == 5) mes "Our people say Ahat looks like a beautiful cat."; + if (.@cat_hi == 6) mes "I heard there was a superior equipment upgrade craftsman in the capital city of Manuk."; + if (.@cat_hi == 7) mes "Grrr... I don't think my voice sounds normal these days. I think it's the weather."; + if (.@cat_hi == 8) mes "There are times when I shout out loud but it is only because I am in a good mood. No need to be startled."; + if (.@cat_hi == 9) mes "I feel an urge to jump on a pile with my four paws when I see one."; + if (.@cat_hi == 10) mes "I must have been a cat in my previous life."; + if (.@cat_hi == 11) mes "I dreamt about the giant again. I waved my paws annoyed and he kept on patting me."; + if (.@cat_hi == 12) mes "Yup!! Was the rumor true that Ahat looks like a human?! "; + if (.@cat_hi == 13) mes "I heard on my way that this Pinqucula Dark has a Withered Flower."; + if (.@cat_hi == 14) mes "There is a guy named Pinguicula nearby who has the Sharp Leaf nearby."; + if (.@cat_hi == 15) mes "There is a guy named Pinguicula nearby who has the Great Leaf nearby."; + if (.@cat_hi == 16) mes "I recommend getting it from the Dracos nearby. But then, they only drop it randomly so you may come back empty handed..."; + else mes "Hmm... This may not be important to you but."; + next; + mes .@n$; + if (countitem(6304) < 1) { + if (.@re$ == "Brare") { + mes "Oh... no luck on Sapha Certifications?"; + next; + mes .@n$; + mes "So you haven't got any..."; + next; + mes .@n$; + mes "That's sad. They're very are useful, you know..."; + close; + } else if (.@re$ == "Mancho") { + mes "If you work hard in this city, you will get an Exploit Certification of Sapha."; + next; + mes .@n$; + mes "If you do come across one of the certifications, can you bring it to me?"; + next; + mes .@n$; + mes "We can make an exchange and you won't regret it."; + close; + } else if (.@re$ == "Jalapeno") { + mes "I've been gathering exploit certifications of Sapha for a year now to meet Ahat."; + next; + mes .@n$; + mes "But I'm far from it because it takes a high position and some bribery for a low creature like me to meet him."; + next; + mes .@n$; + mes "If you have any exploit certifications of Sapha to spare, please share them with me. I promise to pay you back in services. You'll never get anywhere else."; + close; + } + } + if (.@re$ == "Brare") { + mes "Do you want to look luxurious with Golden Bells?"; + set .@Items_,2843; + set .@v$, "ring1"; + } + else if (.@re$ == "Mancho") { + mes "You must be interested in the ^800080Feral Tail^000000?"; + set .@Items_,2564; + set .@v$, "robe"; + } + else if (.@re$ == "Jalapeno") { + mes "You've come for Feral Boots. I have just the item for you."; + set .@Items_,2463; + set .@v$, "shoe"; + } + next; + switch(select("Please explain.:I want to reset.:I want to upgrade.")) { + case 1: + if (.@re$ == "Brare") { + mes .@n$; + mes "Hmm. The ^990099Golden Bell^000000 is an accessory awarded to only the best and bravest warriors among our people."; + next; + mes .@n$; + mes "A random skill is casted up to the first and second steps but"; + next; + mes .@n$; + mes "There is a risk of the item breaking during the third upgrade."; + } else if (.@re$ == "Mancho") { + mes .@n$; + mes "You say you want me to explain about upgrade?"; + next; + mes .@n$; + mes "Hmm. The ^990099Feral Tail^000000 is an unique item. It looks just like our tails."; + next; + mes .@n$; + mes "It is not only strong and warm but is also powerful enough to be enchanted with magical spells."; + next; + mes "[Mancho]"; + mes "Well... it comes with the same risks as the ^990099Feral Boots^000000 of breaking at the third step of upgrade."; + } else if (.@re$ == "Jalapeno") { + mes .@n$; + mes "You say you want me to explain about upgrade?"; + next; + mes .@n$; + mes "Hmm. The ^990099Feral Boots^000000 are very unique. A shoemaker took the design of our feet and designed this item long ago."; + next; + mes .@n$; + mes "I do not know the actual materials used but they are strong enough to enchant up to 3 kinds of upgrade magic spells."; + next; + mes .@n$; + mes "Well... some do get broken at the third upgrade and I do have some customers complaining when that happens.......meow"; + next; + mes .@n$; + mes "... I almost died in one occasion. (murmuring)"; + } + close; + case 2: + mes .@n$; + if (.@re$ == "Mancho") { + mes "Do you want to reset?"; + mes "This involves ^990000destroying the Feral Tail^000000 you are upgrading and cancelling all records of it. Are you sure?"; + } + else if (.@re$ == "Jalepeno") { + mes "Reset? Are you sure?"; + mes "This involves ^990000destroying the Feral Boots^000000 you are upgrading and cancelling all records of it. Are you sure?"; + } + else if (.@re$ == "Brare") { + mes "Reset!!"; + mes "This involves ^990000destroying the Golden Bell^000000 you are upgrading and cancelling all records of it. Are you sure?"; + } + next; + if(select("Maybe next time.:Please reset it.") == 1) { + mes .@n$; + mes "When you are ready,"; + mes "Please come back again"; + close; + } + if (countitem(.@Items_) < 1) { + mes .@n$; + mes "Then, take the equipment off first."; + close; + } + specialeffect2 EF_OVERTHRUST; + mes .@n$; + if (.@re$ == "Brare") mes "I've collected all equipment and erased all records as you requested. Now all your equipment and records are clean."; + else mes "I only do what I'm asked to do. I've retrieved all equipment and cancelled all records."; + delitem .@Items_,1; + setd "ep13_3_"+.@v$, 0; + close; + case 3: break; + } + if (countitem(.@Items_) < 1) { + mes .@n$; + mes "But..."; + mes "you don't seem to be wearing or even carrying equipment to upgrade on you."; + close; + } + } + if (getd("ep13_3_"+.@v$) == 0) { + mes .@n$; + mes "I'm preparing for the"; + mes "first step of upgrade."; + mes "Once equipment is upgraded"; + mes "you cannot change the upgrade"; + mes "before you destroy it."; + next; + mes .@n$; + mes "First upgrade step requires ^8000801 Sapha Certification^000000. Do you want to proceed?"; + set .@req, 1; + } + else if (getd("ep13_3_"+.@v$) < 9) { + mes .@n$; + mes "I'm preparing for the"; + mes "second step of upgrade."; + mes "Once equipment is upgraded"; + mes "you cannot change the upgrade"; + mes "before you destroy it."; + next; + mes .@n$; + mes "Second upgrade step requires ^9900992 Exploit Certifications of Sapha^000000. Do you want to proceed?"; + set .@req, 2; + } + else if (getd("ep13_3_"+.@v$) < 69) { + mes .@n$; + mes "I'm preparing for the"; + mes "third step of upgrade."; + mes "Once equipment is upgraded"; + mes "you cannot change the upgrade"; + mes "before you destroy it."; + next; + mes .@n$; + mes "And this is the most important,"; + mes "the risk of equipment to break"; + mes "during the third upgrade step is high!"; + mes "And you need ^9900993 Exploit Certifications of Sapha^000000 for the procedure."; + next; + mes .@n$; + mes "Please keep in mind that"; + mes "this is a delicate process of"; + mes "casting immense power to the equipment."; + mes "Are you ready?"; + set .@req, 3; + } + else if (getd("ep13_3_"+.@v$) > 68 && countitem(.@Items_)) { + mes .@n$; + mes "You are done with the"; + mes "third step of upgrade."; + next; + mes .@n$; + mes "If you do not like"; + mes "your equipment upgrade"; + mes "I can withdraw your equipment"; + mes "and destroy all records"; + mes "of it"; + next; + if (select("I'll just use it.:Please take it.") == 1) { + mes .@n$; + mes "Whenever you change your mind."; + mes "Please come back again"; + close; + } + specialeffect2 EF_OVERTHRUST; + mes .@n$; + mes "I have erased all previous records"; + mes "of upgrades to start all over with"; + mes "any new equipment without upgrades"; + mes "you bring."; + delitem .@Items_,1; + setd "ep13_3_"+.@v$, 0; + close; + } + else { + mes .@n$; + mes "Hm?"; + mes "Do you want anything from me?"; + setd "ep13_3_"+.@v$, 0; + close; + } + next; + if(select("Maybe next time.:I want to upgrade.") == 1) { + mes .@n$; + mes "When you are ready,"; + mes "Please come back again."; + close; + } + if (countitem(6304) < .@req) { + mes .@n$; + mes "But you don't have enough exploit certifications. You need "+.@req+" exploit certification of Sapha for the "+((.@req == 3)?"third":((.@req == 2)?"second":"first"))+" step of upgrade."; + close; + } + mes .@n$; + mes "Then let's start."; + next; + specialeffect2 EF_REPAIRWEAPON; + progressbar "ffff00",3; + delitem 6304,.@req; + if (getd("ep13_3_"+.@v$) == 0) { + if (.@re$ == "Kareka") { + set .@enc_en, rand(1,45); + setarray .@rates, 45,32,30,22,20,12,10,2; + } + else { + set .@enc_en, rand(1,40); + setarray .@rates, 40,34,30,24,20,14,10,4; + } + setarray .@var, 1,2,3,4,5,6,7,8; + } + else if (getd("ep13_3_"+.@v$) <= 8) { + if (.@re$ == "Kareka") { + set .@enc_en, rand(1,45); + setarray .@rates, 45,32,30,17,15,2; + } + else { + set .@enc_en, rand(1,30); + setarray .@rates, 30,24,20,14,10,4; + } + setarray .@var, 10,20,30,40,50,60; + } + else if (getd("ep13_3_"+.@v$) <= 68) { + if (compare(.@v$,"ring")) { + set .@enc_en, rand(1,90); + setarray .@rates, 90,62,60,32,30,2; + setarray .@var, 100,200,400,500,700,800; + } + else { + set .@crs_yong, 140 - (ep13_yong1 / 100); + if (.@crs_yong < 95) set .@crs_yong, 95; + set .@enc_en, rand(1,.@crs_yong); + if (.@enc_en > 90) { + delitem .@Items_,1; + setd "ep13_3_"+.@v$, 0; + mes .@n$; + if (.@re$ == "Jalepano") mes "Ha ha ha. See, I told you. Oops, sorry. Forget that I just said that!!"; + else if (.@re$ == "Mancho") mes "Greed is the reason for failing investments. Tsk, tsk."; + else if (.@re$ == "Brare") mes "Oh no....!!!! What happened to the Golden Bell!"; + close; + } + setarray .@rates, 90,75,65,60,45,35,30,15,5; + setarray .@var, 100,200,300,400,500,600,700,800,900; + } + } + else { + mes .@n$; + mes "I'm done. Hehe"; + close; + } + + // Enchant Constants + // Ex: .@dex[1]: DEX + 1 | .@cri[5]: CRI + 5 | .@eva[12]: FLEE + 12 + set .@matk[1], 4760; set .@matk[2], 4761; + set .@eva[6], 4762; set .@eva[12], 4763; + set .@cri[5], 4764; set .@cri[7], 4765; + set .@atk[2], 4766; set .@atk[3], 4767; + set .@dex[1], 4720; set .@dex[2], 4721; set .@dex[3], 4722; + set .@int[1], 4710; set .@int[2], 4711; set .@int[3], 4712; + set .@agi[1], 4730; set .@agi[2], 4731; set .@agi[3], 4732; + + // Enchant attribute is determined by the digit position of variable value (ep13_3_<type>). + // For example, assume the variable value is 516: + // .@f_<slot>[<index>] + // slot: 2 3 4 + // index: 5 1 6 + + // Enchant Format + if (compare(.@v$,"ring")) setarray .@f_2[1],.@agi[1],.@agi[2],.@int[1],.@int[2],.@dex[1],.@dex[2]; + else setarray .@f_2[1],.@agi[1],.@agi[2],.@agi[3],.@int[1],.@int[2],.@int[3],.@dex[1],.@dex[2],.@dex[3]; + setarray .@f_3[1],.@agi[1],.@agi[2],.@int[1],.@int[2],.@dex[1],.@dex[2]; + setarray .@f_4[1],.@atk[2],.@atk[3],.@cri[5],.@cri[7],.@eva[6],.@eva[12],.@matk[1],.@matk[2]; + set .@str$, getd("ep13_3_"+.@v$) + ""; + set .@len, getstrlen(.@str$); + set .@j, 4; + set .@c, 1; + while ((.@len - .@c) > -1 && getd("ep13_3_"+.@v$)) { + setd ".@e_"+.@j, getd(".@f_"+.@j+"["+atoi(charat(.@str$,.@len-.@c))+"]"); + set .@c, .@c + 1; + set .@j, .@j - 1; + } + for (set .@size, getarraysize(.@rates); .@r <= .@size; set .@r, .@r + 1) { + if (.@enc_en > .@rates[.@r]) { + setd ".@e_"+.@j, getd(".@f_"+.@j+"["+.@r+"]"); + break; + } + } + delitem .@Items_,1; + getitem2 .@Items_,1,1,0,0,.@e_1,.@e_2,.@e_3,.@e_4; + setd "ep13_3_"+.@v$, .@var[.@r-1] + getd("ep13_3_"+.@v$); + close; +} +dic_fild01,240,198,2 duplicate(dic_enc#main) Jalapeno#pa0829 495 +dic_fild01,251,183,3 duplicate(dic_enc#main) Brare#pa0829 495 +dic_fild01,259,172,3 duplicate(dic_enc#main) Mancho#pa0829 495 +dic_in01,353,37,5 duplicate(dic_enc#main) Kareka#pa0829 454 + +dic_fild01,228,159,4 script Jahbong#pa0829 496,{ + mes "[Jahbong]"; + if (countitem(6304) < 1) { + mes "You haven't received a Sapha Certification yet?"; + next; + mes "[Jahbong]"; + mes "Come back to me once you have one. I'll give you something good in exchange."; + close; + } + set .@cattalkj,rand(1,9); + if (.@cattalkj == 1) mes "Don't touch my back! I might bite you unconsciously."; + else if (.@cattalkj == 2) mes "Pub owner Shay carried something away to make something strange! Be careful!"; + else if (.@cattalkj == 3) mes "We cats can jump 5 times our size. Isn't it cool? But then, don't ask me to jump from here now."; + else if (.@cattalkj == 4) mes "I have to be diligent with my grooming to maintain beautiful fur."; + else if (.@cattalkj == 5) mes "I have to groom myself everyday to maintain shiny fluffy fur. But I don't have very nice fur in the first place. Very sad."; + else if (.@cattalkj == 6) mes "You should receive a Sapha Certification with both paws as a sign of respect. No cat deserves a certification if they don't!"; + else if (.@cattalkj == 7) mes "I don't really talk that much! Ahat looks like... meow meow meooow... sorry."; + else if (.@cattalkj == 8) mes "Meow~~~~~~~~~~"; + else mes "Yarn is a great way to calm a cat."; + next; + mes "[Jahbong]"; + mes "Why are you here?"; + mes "Jahbong will exchange ^8000801 Sapha Certification^000000 for ^8000801 item^000000!"; + next; + switch(select("Just came to see what you have.:I want the Feral Boots!:Give me the Feral Tail!:Give me the Golden Bell!:How much to buy you?")) { + case 1: + mes "[Jahbong]"; + mes "Meow!"; + next; + mes "[Jahbong]"; + mes "^8000801Feral Boots^000000 are shoes for your feet! Buy one and Jalapeno over there will refine it for you!"; + next; + mes "[Jahbong]"; + mes "^8000801Feral Tail^000000 is pretty rough! Mancho over there can help you fix it!!"; + next; + mes "[Jahbong]"; + mes "^8000801Golden Bell^000000 is an accessory. Brare spent 40 years making this! Or maybe 4 years! Oh well, come back when you need anything!"; + next; + mes "[Jahbong]"; + mes "There are some crazy adventurers asking if they can purchase me! Jahbong is not for sale! I'll just bite you if you ask!!"; + close; + case 2: + mes "[Jahbong]"; + mes "Are you really buying something?!"; + next; + if(select("Nope:Give me!!!")==1) { + mes "[Jahbong]"; + mes "Okay!"; + close; } + mes "[Jahbong]"; + mes "Here you go!"; + delitem 6304,1; + getitem 2463,1; + close; + case 3: + mes "[Jahbong]"; + mes "Are you really buying something?!"; + next; + if(select("Nope:Give me!!!")==1) { + mes "[Jahbong]"; + mes "Okay!"; + close; } + mes "[Jahbong]"; + mes "Here you go!"; + delitem 6304,1; + getitem 2564,1; + close; + case 4: + mes "[Jahbong]"; + mes "Are you really buying something?!"; + next; + if(select("Nope:Give me!!!")==1) { + mes "[Jahbong]"; + mes "Okay!"; + close; } + mes "[Jahbong]"; + mes "Here you go!"; + delitem 6304,1; + getitem 2843,1; + close; + case 5: + mes "[Jahbong]"; + mes "Meooooooooooow!!!!!!!!~~ Meooooooooow!!!!!"; + next; + mes "- ^800080Jahbong goes wild^000000. -"; + next; + mes "[Jahbong]"; + mes "I'm not an item!! I will not be merciful if you treat me like one!!"; + next; + mes "- He may react extremely, but Jahbong doesn't seem to be really angry. -"; + close; + } +} + +// Cat Hand Agent +//============================================================ +moc_para01,44,19,3 script Cat Hand Agent#gekk 496,{ + if (BaseLevel < 70) { + mes "[Cat Hand Agent]"; + mes "Hey, human! Did you come to make a request, too? When will it be my turn?"; + mes "[Cat Hand Agent]"; + mes "Our Cat Hand Merchant group really needs any help it can get. But by the looks of all those requests that Ebenor is holding in his hand, Cat Hand Merchant will be closed by the time my request is put up on the board!"; + mes "[Cat Hand Agent]"; + mes "It breaks my heart to think my colleagues will be shivering in the blizzard. I hope I don't get into trouble since I can't do anything about it, right?"; + close; + } + if (ep13_start != 100) { + mes "[Cat Hand Agent]"; + mes "Hey, human! Did you come to make a request, too? When will it be my turn?"; + next; + mes "[Cat Hand Agent]"; + mes "Our Cat Hand Merchant group really needs any help it can get. But by the looks of all those requests that Ebenor is holding in his hand, Cat Hand Merchant will be closed by the time my request is put up on the board!"; + next; + mes "[Cat Hand Agent]"; + mes "It breaks my heart to think my colleagues will be shivering in the blizzard. I hope I don't get into trouble since I can't do anything about it, right?"; + next; + if (select ("Why don't you collect it yourself?:I'm sorry to hear that.") == 1) { + emotion ET_HUK; + mes "[Cat Hand Agent]"; + mes "Human!! You're a genius!!"; + mes "How did you come up with that?"; + next; + mes "[Agent Geck]"; + mes "I'm Agent Geck from the Cat Hand Merchant."; + mes "Car Paw Merchant has been wandering for a long time in this Midgard world ever since we lost our homeland."; + next; + mes "[Agent Geck]"; + mes "But now we realize there is no place for our group here in Midgard."; + mes "Geck, Gyareuk and Gorureung did a lot of thinking about it."; + next; + mes "[Agent Geck]"; + mes "But we finally found a place to settle!"; + mes "It may be a bit cold but there are no Kafra or Jonda there!"; + mes "We will gain ground in our new land!"; + next; + mes "[Agent Geck]"; + mes "But of course, we don't have any influence over there to start with."; + mes "However, we plan to spare no efforts on it."; + next; + mes "[Agent Geck]"; + mes "Human!! Did you know there is a huge hole near the Morroc village and nearby area?"; + mes "They say you can travel to a new area through the hole!"; + next; + mes "[Agent Geck]"; + mes "But you will have to go through tests and research to get to a place before trying it out."; + mes "To me, I think its all nonsense to go through the trouble!"; + next; + mes "[Agent Geck]"; + mes "We must send someone as soon as possible to start exploring the area."; + mes "While the humans are frittering away, our Cat Hand Merchant should settle first and continue with our research."; + next; + if (select ("I also want to go and help the merchants.:I'm not interested.") == 1) { + mes "[Agent Geck]"; + mes "You are better than other humans!"; + mes "If you really mean it, then sign here."; + mes "I'm collecting signs to get on Gyareuk's good side... never mind. I will let them know you are my sponsor!"; + next; + input .@inputstr$; + mes "[Agent Geck]"; + mes "" + name + "? Human names are strange to me."; + next; + mes "[Agent Geck]"; + mes "Now you are Geck's personal slav... sponsor."; + mes "Don't ask why you aren't Merchant sponsor."; + mes "A good human does not poke around where they are not supposed to."; + next; + mes "[Agent Geck]"; + mes "Now since you've signed, all we need to do is leave for the other world."; + mes "I heard humans call it Ash-Vacuum."; + mes "Nobody explained to Geck why it was called that."; + next; + mes "[Agent Geck]"; + mes "But human."; + mes "You will need to pay to get to the Ash-Vacuum."; + mes "There wouldn't be any expense for Geck to send you there myself but we must ask for help from other agents."; + next; + mes "[Agent Geck]"; + mes "So you will need some money to buy fish for agents who help you."; + mes "I will introduce you to an agent who will send you to the other world with no questions asked for only 50,000 zeny."; + next; + if (select ("Pay 50,000 zeny.:No way!") == 1) { + if (Zeny < 50000) { + mes "[Agent Geck]"; + mes "Geck learned not to deal with people who can't pay."; + close; + } + mes "[Agent Geck]"; + mes "With this, our contract is now complete."; + mes "Geck will help you to get to Ash-Vacuum in one piece."; + set Zeny, Zeny - 50000; + set ep13_start, 100; + next; + mes "[Agent Geck]"; + mes "Don't forget, human. The reason why Geck is helping you is to help the Cat Hand Merchant working hard in the other world."; + next; + mes "[Agent Geck]"; + mes "Now, I will transport you. Go meet our agent in the right corner."; + close2; + warp "moc_fild20", 342, 198; + end; + } + mes "[Agent Geck]"; + mes "Geck doesn't force humans."; + mes "But I think you will change your mind."; + close; + } + mes "[Agent Geck]"; + mes "Did you meet the Cat Hand Merchant in Ash-Vacuum, human?"; + close; + } + mes "[Cat Hand Agent]"; + mes "But our Cat Hand Merchant will overcome any obstacle!"; + close; + } + mes "[Agent Geck]"; + mes "Did you meet the Cat Hand Merchant in Ash-Vacuum, human?"; + next; + if (select ("Send me back:I'm busy") == 1) { + mes "[Agent Geck]"; + mes "There is no time to waste, human!"; + mes "I'll send you back right away!"; + warp "moc_fild20", 342, 198; + close; + } + mes "[Agent Geck]"; + mes "Hey, human! Didn't you say you will help the Cat Hand Merchant!"; + close; +} + +moc_fild20,368,197,3 script Cat#to22 876,{ + if (ep13_start != 100) { + mes "[Cat]"; + mes "Meow~"; + close; + } + mes "A small Cat Hand Agent looks at you and nods its head towards the back."; + mes "Looks like it wants you to step up on its back to climb over the wall."; + next; + if (select ("But you are so cute...:Let's do this!") == 1) { + mes "The small Cat Hand Agent has small black patterns as if it were stamped on it's white fur."; + next; + mes "The small body isn't as tall as your ankle and its small but thick paws look like little cushions. The ears that bent backwards when it looked at how big you were stirred up your protective instinct."; + next; + mes "You don't seem to have the nerve to step on the Cat Hand Agent."; + emotion ET_CRY; + close; + } + mes "You look at the Cat Hand Agent's small back and climb over the wall as quick as possible so that it wouldn't notice your weight."; + close2; + warp "moc_fild22b", 175, 159; + end; +} + +moc_fild22b,182,179,3 script Cat Hand Agent#Tat 495,{ + if (ep13_start != 100) { + mes "[Cat Hand Agent]"; + mes "This place as no meaning for us."; + close; + } + mes "[Cat Hand Agent]"; + mes "Heard from Geck."; + mes "I'm the Cat Hand Merchant's rising star, Tat."; + next; + mes "[Tat]"; + mes "I heard you are offering high-quality fish to pay for our passage."; + mes "I also heard the fish is very fresh and has shiny golden scales."; + next; + mes "[Tat]"; + mes "I usually only allow our Cat Hand Merchant agents to go through but since you are here on Geck's behalf and seeing you are reliable, I'll let you through."; + next; + mes "[Tat]"; + mes "Are you ready?"; + next; + if (select ("To the other world!:I need some time.") == 1) { + mes "[Tat]"; + mes "Don't forget you are in debt to the Cat Hand Merchant, human!"; + close2; + warp "mid_camp", 210, 291; + end; + } + mes "[Tat]"; + mes "Aren't you suppose to be done getting ready before you come here?"; + close; +} diff --git a/npc/re/quests/quests_izlude.txt b/npc/re/quests/quests_izlude.txt new file mode 100644 index 000000000..8855ef2d1 --- /dev/null +++ b/npc/re/quests/quests_izlude.txt @@ -0,0 +1,15 @@ +//===== rAthena Script ======================================= +//= Quest NPCs related to Izlude +//===== By: ================================================== +//= Daegaladh, Masao +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Edgar's Offer +//===== Additional Comments: ================================= +//= 1.0 Updated to match the new Izlude Map. [Masao] +//============================================================ + +izlude,179,219,4 duplicate(Edgar_izlude) Edgar#izlude 49 diff --git a/npc/re/quests/quests_lighthalzen.txt b/npc/re/quests/quests_lighthalzen.txt new file mode 100644 index 000000000..a68fcb632 --- /dev/null +++ b/npc/re/quests/quests_lighthalzen.txt @@ -0,0 +1,591 @@ +//===== rAthena Script ======================================= +//= Quest NPCs located in Lighthalzen +//===== By: ================================================== +//= Ziu, Heris (translation) +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Quests related to Lighthalzen City. +//===== Additional Comments: ================================= +//= 1.0 Updated to match the new Izlude Map. [Masao] +//= 1.1 Added Somatology Laboratory F4 quest. [Euphy] +//============================================================ + +// Renewal split [Daegaladh] +//============================================================ +izlude,171,73,6 duplicate(Scamp) Scamp#2 853 + +// Somatology Laboratory F4 +//============================================================ +lighthalzen,303,304,5 script Jerome Jameson#start 904,{ + if (lhz_dun04 == 0) { + mes "[Jerome Jameson]"; + mes "Wow, what a "+((Sex)?"strong man!":"beautiful dame!"); + next; + mes "[Jerome Jameson]"; + mes ((Sex)?"Sir":"Ma'am")+", please take heed -- as soon"; + mes "as a dangerous rumor aroused about"; + mes "the endangerment of everyone in"; + mes "town, the best thing to do is lock"; + mes "your doors."; + + // To do: check BaseLevel requirement. + if (BaseLevel < 90 || hg_tre < 54) close; + + next; + select("Dangerous rumor?"); + mes "[Jerome Jameson]"; + mes "Strong rumors have been heard from"; + mes "Rekenber Investigation Institute"; + mes "about terrible, secret experiments"; + mes "with human beings!"; + next; + select("What? Experiments?"); + mes "[Jerome Jameson]"; + mes "Yes. Biological experiments!!"; + mes "Experiments with human beings"; + mes "conducted in the undergrounds of"; + mes "these very slums. Apparently, they"; + mes "have spread the rumors upon being"; + mes "denied of social benefits."; + next; + mes "[Jerome Jameson]"; + mes "This rumor cannot go about"; + mes "unhandled. The biological"; + mes "experiments that have been carried"; + mes "out in this place can be real."; + mes "This really needs to be"; + mes "investigated, and soon!"; + setquest 5109; + set lhz_dun04,1; + close; + } + mes "[Jerome Jameson]"; + mes "Please investigate the deeper"; + mes "parts of the laboratory. I hope"; + mes "to hear from you soon."; + close; +} + +// Is this the correct behavior? (limited and conflicting sources) +// -- iRO: lhz_dun03 warps directly to que_lhz. +// -- Ziu: NPC in lhz_dun04 warps into que_lhz. +function script lhz4enter { + if (getmapusers("que_lhz") == 0 && mobcount("que_lhz","#controllhz4::OnMyMobDead") < 1) { + if (getarg(0) == 0) { + mes "- Having Jerome Jameson's orders"; + mes "in mind, you hold your breath and"; + mes "descend the flooded flight of"; + mes "stairs. -"; + } else { + mes "[Researcher]"; + mes "Who are you?"; + mes "................"; + emotion e_omg; + next; + mes "The man runs away and you go after him."; + } + if (lhz_dun04 > 1) { + changequest 5110,5109; + set lhz_dun04,1; + } + close2; + // Check twice because of 'next'. + if (getmapusers("que_lhz") == 0 && mobcount("que_lhz","#controllhz4::OnMyMobDead") < 1) { + donpcevent "#lhz4mes1::OnEnable"; + warp "que_lhz",244,52; + } + end; + } + mes "Right now there are other people inside. Wait for your turn."; + close; +} + +lhz_dun03,239,77,0 script #warplhz3lhz4 45,1,1,{ +OnTouch: + if (lhz_dun04 == 0) { + mes "It doesn't make sense to go down these flooded stairs."; + close; + } else if (lhz_dun04 < 6) { + callfunc "lhz4enter",0; + end; + } + warp "lhz_dun04",244,52; + end; +} +lhz_dun04,245,61,0 warp #warplhz4lhz3 1,1,lhz_dun03,240,74 + +// Does this portal exist? +que_lhz,245,61,0 warp #warplhzqlhz3 1,1,lhz_dun03,240,74 + +que_lhz,244,52,0 script #lhz4mes1 -1,2,2,{ +OnTouch: + mes "- You find another flight of"; + mes "stairs that is raised and deviates"; + mes "from the flooded path. -"; + // Missing dialogue. + close2; + donpcevent "#lhz4mes1::OnDisable"; + end; +OnInit: +OnDisable: + disablenpc "#lhz4mes1"; + end; +OnEnable: + enablenpc "#lhz4mes1"; + end; +} + +lhz_dun04,151,276,3 script Researcher#lhz4 865,{ + if (lhz_dun04 == 0) { + mes "[Researcher]"; + mes "................"; + close; + } else if (lhz_dun04 < 6) { + callfunc "lhz4enter",1; + end; + } else if (lhz_dun04 == 6) { + mes "Think twice before saying that these samples are a reason to shut this place down."; + next; + mes "["+strcharinfo(0)+"]"; + mes "You're stopping me for doing nothing good? What about the last four men I've created?"; + next; + mes "[Wolfchev]"; + mes "Hmm. This place will be completely flooded..."; + next; + mes "[Wolfchev]"; + mes "What is the problem?"; + next; + mes "[Wolfchev]"; + mes "Hmm... All this burocracy is ruining my laboratory. For God's sake!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey! Wolfchev!!"; + next; + mes "[Wolfchev]"; + mes "Oh yes? To please them all! ^FF0080The different specimen^000000 are organically connected to each other."; + next; + mes "[Wolfchev]"; + mes "Perhaps the boss of these ^00FF00things^000000..."; + mes "My inability to control my own experiment... Here, are all the ^808000slaves used as decoys^000000 and the laboratory will be shut down."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey, Wolfchev!! This ^00FF00boss^000000 you're talking about. Where is it?"; + next; + mes "[Wolfchev]"; + mes "...in my laboratory. I awakened it. I tried to use it to destroy them all, but it didn't work... you'll have to do it..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "How can I get access to your laboratory?"; + next; + mes "[Wolfchev]"; + mes "Now... One moment!"; + mes "I will help you."; + next; + mes "[Wolfchev]"; + mes "Luckily, the boss hasn't awaken sober, though he's still strong and destructive."; + next; + mes "[Wolfchev]"; + mes "But it's still dangerous. He wil release his colleagues and this means we don't have much time here."; + set lhz_dun04,7; + completequest 5111; + setquest 5113; + setquest 5114; + setquest 5115; + setquest 5116; + setquest 5117; + setquest 5118; + setquest 5119; + setquest 5120; + setquest 5121; + setquest 5122; + setquest 5123; + setquest 5124; + setquest 5125; + close; + } else if (lhz_dun04 == 7) { + mes "[Wolfchev]"; + mes "Are you going alone?"; + mes "You will need a really good group to bypass the system and defeat the boss."; + close; + } + end; +} + +que_lhz,207,75,3 script Researcher#ins 865,3,3,{ +OnTouch: + if (lhz_dun04 == 1) { + mes "[Researcher]"; + mes ".........."; + next; + mes "["+strcharinfo(0)+"]"; + mes "You! Are you professor Wolfchev?"; + emotion e_omg,1; + next; + mes "[Wolfchev]"; + mes "Many people come here looking for me. But most of them are reluctant to."; + mes "What do you want?"; + emotion e_gg; + next; + mes "["+strcharinfo(0)+"]"; + mes "I've heard rumors about biological experiments."; + mes "Wolfchev!!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "These experiments..."; + next; + mes "[Wolfchev]"; + mes "I think I know what you're gonna say. Are you accusing me of something?"; + mes "I don't want to hear more of that."; + mes "You better leave."; + emotion e_gg; + next; + mes "[Wolfchev]"; + mes "They seem to have cried for a long time... I'm busy, excuse me!"; + next; + mes "From Wolfchev's eyes tears welled and he started laughing before running away."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey! Wolfchev there..."; + emotion e_omg,1; + changequest 5109,5110; + set lhz_dun04,2; + close2; + warp "que_lhz",96,136; + end; + } + mes "[Researcher]"; + mes ".........."; + close; +} + +que_lhz,94,119,3 script Researcher#ins2 865,{ + if (lhz_dun04 == 2) { + mes "[Wolfchev]"; + mes "Hehehe. You are really persistent. What do you want from someone like me?"; + emotion e_swt2; + next; + mes "["+strcharinfo(0)+"]"; + mes "Wolfchev... You've admitted it's dangerous already. And all these investigations..."; + next; + mes "[Wolfchev]"; + mes "You're right...hehe."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Your research is too dangerous. Do you think everybody wants it to keep going?"; + next; + mes "[Wolfchev]"; + mes "Everyone wants to be strong and dominate the others. Have their obedience, respect and attention. Don't you want that? Hehe."; + emotion e_gg; + next; + mes "["+strcharinfo(0)+"]"; + mes "... ... ..."; + next; + mes "[Wolfchev]"; + mes "With such a dangerous life, avoiding being damaged... Don't you see it?. Hehe."; + next; + mes "Again, Wolfchev hastily escapes."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Oh! He's far... and..."; + set lhz_dun04,3; + close2; + warp "que_lhz",148,215; + end; + } + mes "[Researcher]"; + mes ".........."; + close; +} +que_lhz,147,224,3 script Researcher#ins3 865,{ + if (lhz_dun04 == 4 || mobcount("que_lhz","#controllhz4::OnMyMobDead") > 0) { + mes "[Wolfchev]"; + mes "Wolfchev is freaking out. He is out of his mind."; + emotion e_turn; + close; + } else if (lhz_dun04 == 3) { + mes "[Wolfchev]"; + mes "You really are a bothersome little"; + mes "tick, aren't you? Isn't that"; + mes "apparent to you at all?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "... ... ..."; + emotion e_dots,1; + next; + mes "Wolfchev didn't want to talk to you anymore, so while laughing he pressed a button on his hand. Then he went mad."; + specialeffect EF_SIGHTRASHER; + next; + mes "[Wolfchev]"; + mes "Unfortunately to you, I will beat you here."; + donpcevent "#controllhz4::OnEnable"; + next; + mes "[Wolfchev]"; + mes "You're such a fool."; + emotion e_gasp; + next; + mes "[Wolfchev]"; + mes "Look at all these experimental bodies you'll have to deal and see how good they are."; + next; + donpcevent "#controllhz4::OnEnable2"; + progressbar "ffff00",6; + set lhz_dun04,4; + next; + mes "[Wolfchev]"; + mes "NO!! ...Look what you did!! You"; + mes "wreckless madman!!!"; + emotion e_omg; + next; + mes "[Wolfchev]"; + mes "Go back!"; + next; + mes "First, let's destroy all these experiments!"; + close; + } else if (lhz_dun04 == 5) { + mes "Wolfchev is freaking out. He is out of his mind."; + next; + mes "["+strcharinfo(0)+"]"; + mes "*Slaps Face* Hey, snap out of it!"; + mes "We've destroyed them!"; + specialeffect EF_STUNATTACK; + sleep2 1000; + specialeffect EF_STUNATTACK; + next; + mes "["+strcharinfo(0)+"]"; + mes "Let's get out of here first! Is there a place we can go?"; + specialeffect EF_DARKBREATH; + emotion e_no,1; + next; + mes "[Wolfchev]"; + mes "This. My laboratory... My laboratory..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "The laboratory? Where am I indeed?"; + next; + mes "[Wolfchev]"; + mes "Back to the beggining... here's when..."; + next; + mes "- Wolfchev weakly points to the 12 o' clock direction. -"; + next; + mes "I have to go to ^0000FF Wolfchev's Laboratory^000000..."; + changequest 5110,5111; + set lhz_dun04,6; + donpcevent "#controllhz4d::OnEnable"; + close; + } else if (lhz_dun04 == 6) { + mes "I have to go to ^0000FF Wolfchev's Laboratory^000000..."; + close; + } + end; +} + +- script Awake Specimen#lhz -1,{ + end; +OnInit: +OnDisable: + hideonnpc strnpcinfo(0); + end; +OnEnable: + hideoffnpc strnpcinfo(0); + end; +OnEffect1: + specialeffect EF_SUI_EXPLOSION; + end; +OnEffect2: + specialeffect EF_BEGINASURA; + end; +OnEffect3: + specialeffect EF_FLASHER; + end; +} +que_lhz,148,231,0 duplicate(Awake Specimen#lhz) Awake Specimen#0 2244 +que_lhz,140,231,1 duplicate(Awake Specimen#lhz) Awake Specimen#1 2244 +que_lhz,140,224,2 duplicate(Awake Specimen#lhz) Awake Specimen#2 2244 +que_lhz,140,216,3 duplicate(Awake Specimen#lhz) Awake Specimen#3 2244 +que_lhz,147,216,4 duplicate(Awake Specimen#lhz) Awake Specimen#4 2244 +que_lhz,155,216,5 duplicate(Awake Specimen#lhz) Awake Specimen#5 2244 +que_lhz,155,224,6 duplicate(Awake Specimen#lhz) Awake Specimen#6 2244 +que_lhz,155,231,7 duplicate(Awake Specimen#lhz) Awake Specimen#7 2244 + +- script #controllhz4 -1,{ +OnInit: + disablenpc "#controllhz4"; + end; +OnEnable: + enablenpc "#controllhz4"; + donpcevent "Awake Specimen#0::OnEnable"; + donpcevent "Awake Specimen#1::OnEnable"; + donpcevent "Awake Specimen#2::OnEnable"; + donpcevent "Awake Specimen#3::OnEnable"; + donpcevent "Awake Specimen#4::OnEnable"; + donpcevent "Awake Specimen#5::OnEnable"; + donpcevent "Awake Specimen#6::OnEnable"; + donpcevent "Awake Specimen#7::OnEnable"; + end; +OnEnable2: + initnpctimer; + end; +OnTimer1000: + donpcevent "Awake Specimen#0::OnEffect1"; + end; +OnTimer2000: + donpcevent "Awake Specimen#0::OnEffect2"; + donpcevent "Awake Specimen#7::OnEffect1"; + end; +OnTimer3000: + donpcevent "Awake Specimen#7::OnEffect2"; + donpcevent "Awake Specimen#6::OnEffect1"; + end; +OnTimer4000: + donpcevent "Awake Specimen#6::OnEffect2"; + donpcevent "Awake Specimen#5::OnEffect1"; + end; +OnTimer5000: + donpcevent "Awake Specimen#5::OnEffect2"; + donpcevent "Awake Specimen#4::OnEffect1"; + end; +OnTimer6000: + donpcevent "Awake Specimen#4::OnEffect2"; + donpcevent "Awake Specimen#3::OnEffect1"; + end; +OnTimer7000: + donpcevent "Awake Specimen#3::OnEffect2"; + donpcevent "Awake Specimen#2::OnEffect1"; + end; +OnTimer8000: + donpcevent "Awake Specimen#2::OnEffect2"; + donpcevent "Awake Specimen#1::OnEffect1"; + end; +OnTimer9000: + donpcevent "Awake Specimen#1::OnEffect2"; + end; +OnTimer11000: + donpcevent "Awake Specimen#0::OnEffect3"; + donpcevent "Awake Specimen#1::OnEffect3"; + donpcevent "Awake Specimen#2::OnEffect3"; + donpcevent "Awake Specimen#3::OnEffect3"; + donpcevent "Awake Specimen#4::OnEffect3"; + donpcevent "Awake Specimen#5::OnEffect3"; + donpcevent "Awake Specimen#6::OnEffect3"; + donpcevent "Awake Specimen#7::OnEffect3"; + end; +OnTimer14000: + donpcevent "Awake Specimen#0::OnDisable"; + donpcevent "Awake Specimen#1::OnDisable"; + donpcevent "Awake Specimen#2::OnDisable"; + donpcevent "Awake Specimen#3::OnDisable"; + donpcevent "Awake Specimen#4::OnDisable"; + donpcevent "Awake Specimen#5::OnDisable"; + donpcevent "Awake Specimen#6::OnDisable"; + donpcevent "Awake Specimen#7::OnDisable"; + end; +OnTimer16000: + monster "que_lhz",148,231,"Awake Specimen",2244,1,"#controllhz4::OnMyMobDead"; + monster "que_lhz",140,231,"Awake Specimen",2244,1,"#controllhz4::OnMyMobDead"; + monster "que_lhz",140,224,"Awake Specimen",2244,1,"#controllhz4::OnMyMobDead"; + monster "que_lhz",140,216,"Awake Specimen",2244,1,"#controllhz4::OnMyMobDead"; + monster "que_lhz",147,216,"Awake Specimen",2244,1,"#controllhz4::OnMyMobDead"; + monster "que_lhz",155,216,"Awake Specimen",2244,1,"#controllhz4::OnMyMobDead"; + monster "que_lhz",155,224,"Awake Specimen",2244,1,"#controllhz4::OnMyMobDead"; + monster "que_lhz",155,231,"Awake Specimen",2244,1,"#controllhz4::OnMyMobDead"; + donpcevent "#controllhz4b::OnEnable"; + stopnpctimer; + end; +OnMyMobDead: + if (mobcount("que_lhz","#controllhz4::OnMyMobDead") < 1) { + donpcevent "#controllhz4b::OnStop"; + donpcevent "#controllhz4c::OnEnable"; + disablenpc "#controllhz4"; + end; + } + end; +} + +- script #controllhz4b -1,{ +OnInit: +OnDisable: + disablenpc "#controllhz4b"; + end; +OnEnable: + enablenpc "#controllhz4b"; + initnpctimer; + end; +OnStop: + stopnpctimer; + donpcevent "#controllhz4b::OnDisable"; + end; +OnTimer400000: + killmonster "que_lhz","#controllhz4::OnMyMobDead"; + mapwarp "que_lhz","lighthalzen",263,200; + disablenpc "#controllhz4"; + disablenpc "#controllhz4b"; + stopnpctimer; + end; +} + +- script #controllhz4c -1,{ +OnInit: + disablenpc "#controllhz4c"; + end; +OnEnable: + enablenpc "#controllhz4c"; + initnpctimer; + end; +OnTimer10000: + mapannounce "que_lhz","Whisper of a man: Help me... Please... Aaah... I don't want to... Die....",bc_map,0x0080C0; + donpcevent "#controllhz4d::OnEnable"; + stopnpctimer; + disablenpc "#controllhz4c"; + end; +} + +que_lhz,147,248,0 script #controllhz4d -1,6,4,{ +OnTouch: + if (lhz_dun04 == 4) { + mes "Looks like it's all done."; + set lhz_dun04,5; + donpcevent "#controllhz4d::OnDisable"; + close; + } else if (lhz_dun04 == 6) { + mes "- Concrete falls from the ceiling"; + mes "due to the weakened structure of"; + mes "the lab and you tumble down the"; + mes "flight of stairs avoiding it. -"; + close2; + warp "lhz_dun04",148,269; + donpcevent "#lhz4mes2::OnEnable"; + donpcevent "#controllhz4d::OnDisable"; + end; + } + end; +OnInit: +OnDisable: + disablenpc "#controllhz4d"; + end; +OnEnable: + enablenpc "#controllhz4d"; + end; +} + +lhz_dun04,148,269,0 script #lhz4mes2 -1,2,2,{ +OnTouch: + if (lhz_dun04 == 6) { + heal -Hp/2,0; // To do: check HP value. + mes "- You awaken injured, hearing the"; + mes "sounds of footsteps all around"; + mes "you... -"; + close2; + donpcevent "#lhz4mes2::OnDisable"; + end; + } + end; +OnInit: +OnDisable: + disablenpc "#lhz4mes2"; + end; +OnEnable: + enablenpc "#lhz4mes2"; + end; +} diff --git a/npc/re/quests/quests_malangdo.txt b/npc/re/quests/quests_malangdo.txt new file mode 100644 index 000000000..685da8b24 --- /dev/null +++ b/npc/re/quests/quests_malangdo.txt @@ -0,0 +1,1906 @@ +//===== rAthena Script ======================================= +//= Malangdo Quest NPCs +//===== By: ================================================== +//= Muad_Dib +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Quest NPCs related to Malangdo. +//===== Additional Comments: ================================= +//= 1.0 First version. [Euphy] +//= 1.1 Added two quests. +//============================================================ + +// Help the bad cats in danger :: mal_bad_guys +//============================================================ +malangdo,175,206,3 script Gobonge#ml 561,{ + if (checkweight(1201,1) == 0) { + mes "- Can't go next step due to having too many items. -"; + close; + } + if (checkquest(1152,PLAYTIME) == 0) { + mes "[Gobonge]"; + mes "Hmm, investigation is not enough."; + mes "We need go back to basic point."; + mes "Come again tomorrow."; + mes "I might be in pain of stomach"; + mes "like usual."; + close; + } else if (checkquest(1152,PLAYTIME) == 1) { + erasequest 1152; + set malang_bad_guys,0; + } else if (checkquest(1152,PLAYTIME) == 2) { + completequest 1152; + erasequest 1152; + set malang_bad_guys,0; + } + if (BaseLevel < 60) { + mes "[Gobonge]"; + mes "Are you here to get help"; + mes "or to get help?"; + mes "You look so weak, haha..."; + mes "Go and hunt more Porings!"; + close; + } + if (malang_bad_guys == 0) { + mes "[Gobonge]"; + mes "Will you listen my sorrow?"; + next; + switch(select("Sure I will.:No, I won't.")) { + case 1: + mes "[Gobonge]"; + mes "This is a sad story."; + mes "As usual, I unpacked the bag"; + mes "to see strange cats"; + mes "to show them."; + next; + mes "[Gobonge]"; + mes "There were lots of cans."; + mes "I thougt it was new due to different shape"; + mes "but it was bad cans!"; + mes "I ate too much and"; + mes "got in bed right away"; + mes "so I can't do anything..."; + next; + mes "[Gobonge]"; + mes "And by the way, you have..."; + mes "nice colthes."; + mes "I can't let you go,"; + mes "that hurts me so badly!"; + emotion e_sob; + next; + switch(select("You deserve the pain!:Need help?")) { + case 1: + mes "[Gobonge]"; + mes "Yes you are!"; + close; + case 2: + mes "[Gobonge]"; + mes "You know what care is."; + mes "Please find the bad provider"; + mes "and revenge our enemy!"; + next; + switch(select("No, I don't want to!:Yes, I'll do it!")) { + case 1: + mes "[" + strcharinfo(0) + "]"; + mes "For the peace in Malangdo,"; + mes "just lay in bed forever."; + next; + mes "[Gobonge]"; + mes "I will!"; + mes "I will have your peace first once I get well!"; + close; + case 2: + mes "[Gobonge]"; + mes "Okay, you can do it?"; + mes "The enemy must be near the dock"; + mes "where we got the bundle."; + mes "We should get them to help"; + mes "our cats' well-being!"; + setquest 1145; + set malang_bad_guys,1; + close; + } + } + case 2: + mes "[Gobonge]"; + mes "Why are you here!"; + mes "If I am usual, I will engrave something"; + mes "with your tear..."; + mes "Let your bag be here instead!"; + emotion e_sob; + close; + } + } else if (malang_bad_guys == 1) { + mes "[Gobonge]"; + mes "The enemy must be near the dock"; + mes "where we got the bundle."; + mes "We should get them to help"; + mes "our cats' well-being!"; + close; + } else if (malang_bad_guys > 1 && malang_bad_guys < 7) { + mes "[Gobonge]"; + mes "I am so tired due to"; + mes "lack of forbidden bad activity."; + close; + } else if (malang_bad_guys == 7) { + if (countitem(6426) > 29) { + mes "[Gobonge]"; + mes "Was it from raccoon that made us pain in stomach?"; + mes "Oh bad raccoon!"; + mes "I feel stomachache again from this anger!"; + mes "All right, I will show my power once"; + mes "I can get out of bed."; + next; + mes "[Gobonge]"; + mes "I need time to concentrate on my stomachache."; + mes "You can go now!"; + erasequest 1151; + set malang_bad_guys,8; + getitem 12636,20; //Malang_Sp_Can + delitem 6427,1; //Bad_Can_Sack + delitem 6426,30; //Bad_Can + close; + } + mes "[Gobonge]"; + mes "How do you know the source of bad can?"; + mes "Do you have time to do slow at the moment?"; + emotion e_sob; + close; + } else if (malang_bad_guys == 8) { + mes "[Gobonge]"; + mes "The Patrol Leader wants to go back to"; + mes "bad world as soon as possible."; + mes "I want you to go first to soothe him instead."; + mes "How about it?"; + next; + switch(select("It's troublsome, I quit.:Sure I will!")) { + case 1: + mes "[Gobonge]"; + mes "Haha, you think it is a bad word."; + mes "I want you to be one of our staffs."; + next; + mes "[Gobonge]"; + mes "Sorry, but you should go now"; + mes "so that I can concentrate on my stomachache."; + setquest 1152; + set malang_bad_guys,9; + close; + case 2: + mes "[Gobonge]"; + mes "All right, then I will have time"; + mes "to concentrate on my stomachache."; + setquest 1153; + set malang_bad_guys,10; + close; + } + } else if (malang_bad_guys == 9) { + mes "[Gobonge]"; + mes "Hmm, investigation is not enough."; + mes "We need go back to basic point."; + mes "Come again tomorrow."; + mes "I might be in pain of stomach"; + mes "like usual."; + close; + } else if (malang_bad_guys > 9 && malang_bad_guys < 12) { + mes "[Gobonge]"; + mes "Go and have fun with the Patrol Leader!"; + close; + } else if (malang_bad_guys == 12) { + mes "[Gobonge]"; + mes "Instead of us, you did bad behavior."; + mes "Good to hear that?"; + mes "This is what teacher see best pupil?"; + emotion e_swt; + next; + mes "[Gobonge]"; + mes "You deserve a reward!"; + mes "I need to get some more rest,"; + mes "so let's investigate tomorrow!"; + erasequest 1155; + setquest 1152; + set malang_bad_guys,13; + getitem 6422,5; //Egrade_Coin + close; + } else if (malang_bad_guys == 13) { + mes "[Gobonge]"; + mes "Come again tomorrow."; + mes "I might be in pain of stomach"; + mes "like usual."; + close; + } +OnEnable: + enablenpc "Gobonge#ml"; + close; +OnDisable: + disablenpc "Gobonge#ml"; + close; +} + +malangdo,181,205,3 script Gobulee#ml1 547,{ + mes "[Gobulee]"; + mes "Why do you come now?"; + mes "You should have come when we were healthy."; + mes "So, you want to me take out what you have?"; + close; +} + +malangdo,180,202,3 script Gobyungee#ml1 547,{ + mes "[Gobyungee]"; + mes "I can't see other cats because"; + mes "I could't have time to do bad behavior..."; + close; +} + +malangdo,186,201,3 script Gosigee#ml1 547,{ + mes "[Gosigee]"; + mes "I am desperate for pill of stomachache,"; + mes "cap is only thinking of finding out criminal"; + mes "and to revenge!"; + mes "..."; + next; + mes "[Gosigee]"; + mes "How can we follow him as a cap...!"; + close; +} + +malangdo,177,202,3 script Gonanee#ml2 547,{ + mes "[Gonanee]"; + mes "We are only bad circle in Malangdo"; + mes "and we are very proud."; + mes "Can't just lie in bed."; + close; +} + +malangdo,183,202,3 script Godoree#ml3 547,{ + mes "[Godoree]"; + mes "I saw unfamiliar cats around"; + mes "the dock frequently."; + mes "Are they tourists?"; + mes "We should check their pockets"; + mes "once I get well..."; + close; +} + +malangdo,203,116,5 script Suspious Dealer#ml 543,{ + mes "On listening to the story for"; + mes "a while, he pretends to be indifferent once hearing someone's noise."; + next; + mes "[Suspious Dealer]"; + mes "Oh my body, too much pain..."; + close; +} + +malangdo,205,116,3 script Very Suspious Dealer#ml1 543,{ + mes "On listening to the story for"; + mes "a while, he pretends to be indifferent once hearing someone's noise."; + next; + mes "[Very Suspious Dealer]"; + mes "The weather is so dirty..."; + close; +} + +malangdo,197,120,5 script Foolish Cat#ml 546,{ + mes "[Foolish Cat]"; + mes "If you stay here, you"; + mes "can hear all they're saying."; + mes "Don't know exactly what, but"; + mes "you do hear everything."; + mes "Hehehe..."; + close; +} + +malangdo,196,120,0 script #ml1 -1,2,2,{ +OnTouch: + if (malang_bad_guys == 1 || malang_bad_guys == 2) { + mes "You hear a conversation between the Suspious Dealers."; + next; + mes "[Suspious Dealer]"; + mes "Because unexpected robbery at that moment..."; + mes "our great work has delayed."; + next; + mes "[Very Suspious Dealer]"; + mes "Do not worry about the thing, I placed it near balloon bag where"; + mes "Ship Navi is in the north, and I hid it perfectly."; + next; + mes "You need to check a place near north of balloon bag in ship Navi."; + if (malang_bad_guys == 1) { + erasequest 1145; + setquest 1146; + set malang_bad_guys,2; + } + close; + } else if (malang_bad_guys > 2 && malang_bad_guys < 8) { + mes "You still hear a suspicious conversation."; + next; + mes "[Suspious Dealer]"; + mes "But near the balloon bag is still"; + mes "worrying so much!"; + next; + mes "[Very Suspious Dealer]"; + mes "Oh how cowardly you are!"; + mes "I hid it in ship Navi perfectly."; + mes "Relax!"; + next; + mes "[Suspious Dealer]"; + mes "The rest of part is in staffs."; + mes "We should believe."; + next; + mes "We need to investigate Navi first."; + mes "Let's see other guys in ship Navi."; + if (malang_bad_guys == 3) { + erasequest 1147; + setquest 1148; + set malang_bad_guys,4; + } + close; + } else if (malang_bad_guys > 7) { + mes "You still hear a suspicious conversation."; + next; + mes "[Suspious Dealer]"; + mes "Star candy is still healthy,"; + mes "what happens?"; + next; + mes "[Very Suspious Dealer]"; + mes "No way..."; + mes "We should get more bad cans."; + close; + } + end; +} + +malangdo,155,179,0 script #ml2 -1,2,2,{ +OnTouch: + if (malang_bad_guys == 2 || malang_bad_guys == 3) { + mes "There's a memo."; + next; + mes "[Memo]"; + mes "Here is not what we wanted, huh!"; + next; + mes "...do listen the conversation of merchant."; + if (malang_bad_guys == 2) { + erasequest 1146; + setquest 1147; + set malang_bad_guys,3; + } + close; + } + end; +} + +malangdo,171,163,3 script Awfully Suspious Dealer 543,{ + if (malang_bad_guys < 4) { + mes "[Awfully Suspious Dealer]"; + mes "We quit our sales,"; + mes "find the other merchant!"; + close; + } else if (malang_bad_guys == 4) { + mes "[Awfully Suspious Dealer]"; + mes "Bad cans?"; + mes "Due to lots of work in here"; + mes "can't have a short time to talk?"; + next; + switch(select("Look suspicious?:I knew all things here!")) { + case 1: + mes "[Awfully Suspious Dealer]"; + mes "I have a same boat with you!"; + close; + case 2: + mes "[Awfully Suspious Dealer]"; + mes "..."; + mes "You searched the lounge of ship Navi?"; + mes "..."; + next; + mes "[Awfully Suspious Dealer]"; + mes "It looks wrong place~"; + mes "Go and do other things~!"; + next; + mes "You need to search lounge of ship Navi?"; + erasequest 1148; + setquest 1149; + set malang_bad_guys,5; + close; + } + } else if (malang_bad_guys == 5) { + mes "[Awfully Suspious Dealer]"; + mes "A thought to search Gozangee around ship Navi"; + mes "is like to ride a skill"; + mes "with frying pan, it is idiot things."; + mes "I do not recommend."; + close; + } else if (malang_bad_guys == 6) { + if (countitem(6427) == 0) { + mes "[Awfully Suspious Dealer]"; + mes "You searched the lounge of ship Navi?"; + mes "But still nothing in hand."; + mes "I told you there's nothing."; + mes "..."; + next; + mes "[Awfully Suspious Dealer]"; + mes "...there must be something..."; + close; + } + mes "[Awfully Suspious Dealer]"; + mes "Oh! That's ^0000FFa sack of bad cans^000000, isn't it?"; + mes "Where did you get it? Amazing!"; + next; + switch(select("Do not pretend not to know!:Need to show them our general!")) { + case 1: + mes "[Awfully Suspious Dealer]"; + mes "It just looks wonderful."; + mes "There's nothing more to have?"; + emotion e_ho; + close; + case 2: + mes "[Awfully Suspious Dealer]"; + mes "Relax!"; + mes "Let's have smile and fun with only ours."; + next; + mes "[Awfully Suspious Dealer]"; + mes "To be honest, I am a member of raccoon hurray team."; + mes "A homeless community of raccoons"; + mes "became a black market group."; + mes "I will make headquater of raccoon hurray team here"; + mes "after kick out group of cats."; + next; + switch(select("Are you the leader?:Let me clear the usage of bad can.:Can it be worked as you want?")) { + case 1: + mes "[Awfully Suspious Dealer]"; + mes "This is thankful misunderstanding,"; + mes "I am just little staff."; + mes "I don't know who the leader is."; + close; + case 2: + mes "[Awfully Suspious Dealer]"; + mes "That is..."; + mes "for food..."; + mes "Don't ask me more, please!"; + close; + case 3: + mes "[Awfully Suspious Dealer]"; + mes "You look down out raccoon hurray team?"; + mes "Look more! To my star candy who stands island"; + mes "I will make them have stomachache"; + mes "with lots of bad cans."; + mes "Aren't you expecting?"; + next; + mes "[Awfully Suspious Dealer]"; + mes "I can't make him eat with my hand,"; + mes "to creature in shining coral area that is basic food of star candy"; + mes "I am still feeding them with bad cans."; + mes "You must see amazing reaction, just wait!"; + next; + mes "The situation is serious."; + mes "Once the cats figure out,"; + mes "you might be confused."; + mes "Let's withdraw the bad cans first,"; + mes "located in the shining coral area."; + erasequest 1150; + setquest 1151; + set malang_bad_guys,7; + close; + } + } + } else if (malang_bad_guys == 7) { + mes "[Awfully Suspious Dealer]"; + mes "Plese forget what I have told you."; + mes "Please..."; + mes "After you got 30 pcs of bad cans"; + mes "in shining coral area"; + mes "do not tell the cats"; + mes "or report this fact!"; + close; + } + mes "[Awfully Suspious Dealer]"; + mes "So you reported all things?"; + mes "..."; + mes "Now it's time to live a new life"; + mes "of group for hair tufts..."; + close; +} + +mal_in02,184,72,3 script Gozangee#ml 547,{ + mes "[Gozangee]"; + mes "I have too much pain in my stomach..."; + mes "Should endure myself!"; + mes "...do bad activity..."; + close; +} + +mal_in02,184,77,0 script #ml3 -1,2,2,{ +OnTouch: + if (checkweight(1201,1) == 0) { + mes "- You have too many items. -"; + close; + } + if (malang_bad_guys == 4) { + mes "I came to..."; + mes "know a thing that shouldn't be"; + mes "appeared to anyone."; + mes "Just pretend that I didn't see this."; + close; + } else if (malang_bad_guys == 5) { + mes "This is...!"; + mes "..."; + next; + mes "A sack that carrying bad cans."; + next; + mes "Let's bring this to a guy who"; + mes "is in Awfully Suspious Dealer in deck."; + erasequest 1149; + setquest 1150; + set malang_bad_guys,6; + getitem 6427,1; //Bad_Can_Sack + close; + } else if (malang_bad_guys == 6) { + mes "I saw a sack of bad cans."; + mes "located on the deck."; + mes "Let's bring this to a guy who"; + mes "is in Awfully Suspious Dealer in deck."; + close; + } + end; +} + +malangdo,125,147,3 script Patrol Leader#ml 545,{ + if (checkweight(1201,1) == 0) { + mes "- Can't go next step due to having too many items. -"; + close; + } + if (malang_bad_guys < 10) { + mes "[Patrol Leader]"; + mes "Be careful of distribution for"; + mes "bad cans recently in here"; + mes "so should be noticed."; + close; + } else if (malang_bad_guys == 10) { + mes "[Patrol Leader]"; + mes "So you are going to do bad activity instead of"; + mes "group of hair tufts lying in bed?"; + mes "It's gonna be exciting!"; + mes "So excited..."; + next; + mes "[Patrol Leader]"; + mes "Gobonge and his friends"; + mes "liked to torment ^0000FFRed Eruma^000000 in shining"; + mes "coral area more than anything."; + next; + mes "[Patrol Leader]"; + mes "Report to me after tormenting 20 ^0000FFRed Eruma^000000"; + mes "for a while."; + mes "I will scold you as Patrol Leader!"; + next; + switch(select("What Patrol Leader do like this?:Cheer up!!")) { + case 1: + mes "[Patrol Leader]"; + mes "This is what my flavor to do this!"; + close; + case 2: + mes "[Patrol Leader]"; + mes "I will expect various bad activities."; + erasequest 1153; + setquest 1154; + set malang_bad_guys,11; + close; + } + } else if (malang_bad_guys == 11) { + if (checkquest(1154,HUNTING) == 2) { + mes "[Patrol Leader]"; + mes "Wow, you did to ^0000FFRed Eruma^000000 so badly!"; + mes "I am impressed at your work."; + next; + mes "[Crime Prevention Staff]"; + mes "Captain, we have work again, right?"; + emotion e_sob; + emotion e_sob,0,"Crime Prevention Staff#ml"; + next; + mes "[Patrol Leader]"; + mes "Hide your tears and save your tears!"; + mes "You should cry when having a clue for bad activity"; + mes "at crime spot!"; + emotion e_sob; + emotion e_sob,0,"Crime Prevention Staff#ml"; + next; + mes "[Patrol Leader]"; + mes "I will scold you once the investigation is over!"; + mes "Visit Gobonge now."; + erasequest 1154; + setquest 1155; + set malang_bad_guys,12; + close; + } + mes "[Patrol Leader]"; + mes "Inside of starry coral area,"; + mes "report to me after tormenting 20 ^0000FFRed Eruma^000000"; + mes "for a while."; + mes "I will scold you as Patrol Leader!"; + close; + } + mes "[Patrol Leader]"; + mes "I will scold you once the investigation"; + mes "is over!"; + mes "visit Gobonge now."; + close; +} + +malangdo,129,146,3 script Crime Prevention Staff 545,{ + if (malang_bad_guys > 11) { + mes "[Crime Prevention Staff]"; + mes "A work to do means happy things!"; + mes "I ask you to do various bad activities!"; + close; + } + mes "[Crime Prevention Staff]"; + mes "A group of cats that"; + mes "ate bad cans got"; + mes "pain in stomache."; + mes "They are lying at the north"; + mes "of place but still rolling with anger."; + next; + mes "[Crime Prevention Staff]"; + mes "Haha... the village is becoming"; + mes "peaceful and calm, but feels"; + mes "somewhat empty. This is not"; + mes "usual scene that we can have."; + mes "Let's see there?"; + close; +} + +/* +malangdo,3,1,3 script Guidance for quest#ml 543,{ + input .@input,1,9999; + if (.@input != 1854) { + mes "[Helper]"; + mes "What is this security code?"; + mes "Go away!"; + close; + } + mes "[Helper]"; + mes "Choose now, hurry!"; + next; + switch(select("NPC appear!:NPC walkout!:Reset setitem:30 pcs of bad cans:Just before collecting cans:Start quest for Patrol Leader")) { + case 1: + donpcevent "Gobonge#ml::OnEnable"; + mes "[Helper]"; + mes "First appearance!"; + close; + case 2: + donpcevent "Gobonge#ml::OnDisable"; + mes "[Helper]"; + mes "Walk out!"; + close; + case 3: + mes "[Helper]"; + mes "Yap!"; + set malang_bad_guys,0; + erasequest 1152; + close; + case 4: + mes "[Helper]"; + mes "Owing?"; + getitem 6426,30; //Bad_Can + close; + case 5: + mes "[Helper]"; + mes "Yap!"; + erasequest 1150; + setquest 1151; + set malang_bad_guys,7; + close; + case 6: + mes "[Helper]"; + mes "Yap!"; + set malang_bad_guys,10; + close; + } +} +*/ + +// Pipielle :: mal_ppl +//============================================================ +malangdo,137,200,6 script Pipielle 549,{ + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) { + mes "You have too many items, please try again after reducing your weight."; + close; + } + if (BaseLevel < 60) { + mes "[Pipielle]"; + mes "Wow this is nice weather, do you like this kind of weather too? I like it too but I need to my work now."; + next; + mes "[Pipielle]"; + mes "I would ask for your help if you were a stronger advanturer..."; + next; + mes "^770099This cat is working on something, she asks for help above LV60.^000000"; + close; + } + set .@fish_ss1$, "What are you doing??"; + if (countitem(6451) > 29) + set .@fish_ss2$, "I caught a lot of strange fishes!"; + else + set .@fish_ss2$, "Remaining " + (30-countitem(6451)) + " of ^bbbbbbUnidentified Fish are required.^000000"; + if (ma_tomas == 100) + set .@fish_ss3$, "I met an Admiral Thomas..."; + mes "[Pipielle]"; + mes "Would you come here and open your bag for me?"; + next; + switch(select(.@fish_ss1$,.@fish_ss2$,.@fish_ss3$)) { + case 1: + mes "[Pipielle]"; + mes "There are many beautiful fishes around here. So I feel my heard beating when I standing here."; + next; + select("Of course, my heart will beat up too if I see delicious thing!"); + mes "[Pipielle]"; + mes "How come you only know about eating!! My heart don't beat up because of I see the delicious thing. Don't treat me the same as others."; + next; + mes "[Pipielle]"; + mes "I used to study from scholar from uno same as human. And I am good at human language as well. Don't treat me same as others."; + next; + mes "[Pipielle]"; + mes "I am a scholar who researches fish in here. It's little funny that cat research fish but it's true."; + next; + select("Are you originally a scholar?"); + mes "[Pipielle]"; + mes "Originally I used to mate of admiral Thomas. But our ship never to back to sea after we has arrived here."; + next; + mes "[Pipielle]"; + mes "The mate from ship that never voyage is lonely."; + next; + mes "[Pipielle]"; + mes "The scholar from Uno came here for research and he thought it is amazing thing that cat speaks human language. Therefore he started teach me."; + next; + select("But now everyone speaks human language."); + mes "[Pipielle]"; + mes "Oh yes, there were only little cat speaks human language. That's why he treated me special."; + next; + mes "[Pipielle]"; + mes "Anyways, now I collect specimens to be ichthyologist. I hope you can help me."; + next; + if(select("How can I help you?:I would say no.") == 2) { + mes "[Pipielle]"; + mes "Oh, okay. If you change your mind, please come again."; + close; + } + mes "[Pipielle]"; + mes "There is a Pouring who's eating all fishes in Octopus and Culvert dungeon."; + next; + mes "[Pipielle]"; + mes "It used to not live there, but he might came here for winter, so could you collect the specimens unidentified fish after get rid of it."; + next; + mes "[Pipielle]"; + mes "You can get identified fishes from Pouring, so please collect about 30 pieces."; + close; + case 2: + if (countitem(6451) > 29) { + //saveppl Unknown_Fish + delitem 6451,30; //Unknown_Fish + mes "[Pipielle]"; + mes "Oh, thank you! I will take these specimens."; + next; + mes "[Pipielle]"; + mes "I want to give you something, but last one is out of stock now so I will just write your name here."; + next; + mes "[Pipielle]"; + mes "I can give you good new even from far distance, but it's only possible if I am really lucky..."; + close; + } + mes "[Pipielle]"; + mes "I'm sorry, but please collect 30 pieces of unidentified fishes specimens."; + close; + case 3: + mes "[Pipielle]"; + mes "Oh, you have met admiral Thomas... how was it?"; + next; + if(select("He looks gentle:He looks terrible") == 2) { + mes "[Pipielle]"; + mes "Hmm..."; + mes "Frankly speaking, I was a real fan of Admiral Thomas. Can you take a responsibility of your word?"; + next; + if(select("Just kidding!:Oh yes, he was really terrible!") == 2) { + mes "[Pipielle]"; + mes "Is he?"; + mes "Okay, it really depends on personal taste..."; + close; + } + } + mes "[Pipielle]"; + mes "Is he?"; + mes "I knew you would say so."; + next; + mes "[Pipielle]"; + mes "Admiral Thomas is a legendary figure who has voyaged to this island with leading all of us. I think it was the most happiest moment in my life."; + next; + mes "[Pipielle]"; + mes "Please help him a lot. There are not many people to trust. This is my personal request."; + next; + mes "[Pipielle]"; + mes "And this is small gift for ask you to look after admiral Thomas."; + set ma_tomas,101; + getitem 6422,200; //Egrade_Coin + mes "^0000ffReceived 200 E Class Coins.^000000"; + close; + } +} + +// Clean the Ship :: mal_day_qook +//============================================================ +mal_in02,76,63,7 script Cleanyang 544,{ + if (checkweight(1201,1) == 0) { + mes "- You have too many items so you can't continue the quest. -"; + close; + } + if (BaseLevel < 60) { + mes "Sailor cat is crying sadly."; + next; + mes "[Cleanyang]"; + mes "Meow neow meoow"; + mes "What... Meow .. Something... going... Heuheung~"; + mes "You don't have to know. Meow heuheuheuk... "; + next; + mes "He does not continue to talk."; + mes "He might say like that with shaking his head."; + mes "'You are still young. That is why you don't understand my anguish and sadness...'"; + next; + mes "It is much better to do not know."; + close; + } + if (mal_qook == 0) { + mes "Sailor cat is crying sadly."; + emotion e_sob; + next; + mes "[Cleanyang]"; + mes "Meow meow meoooow~"; + mes "What is going on... Heu... heuk..."; + mes "You don't have to know. Heu... heuk..."; + emotion e_sob; + next; + mes "Could not continue talk."; + next; + switch(select("Cheer him up.:Ignore.")) { + case 1: + mes "I comforted his wounded heart just standing by him."; + next; + emotion e_sob; + mes "[Cleanyang]"; + mes "This is unjust... Heuheuk..."; + mes "The chef... He always gives me scolding."; + next; + mes "[Cleanyang]"; + mes "I always clean up diligently."; + mes "I have no idea where they are from... Heuheuk..."; + mes "They penetrated into the ingredients..."; + next; + select("They?"); + mes "[Cleanyang]"; + mes "Yes, they are fast, small, hard and shiny black."; + mes "Meow... Also, white and wriggled..."; + mes "My chef is so clean."; + next; + mes "[Cleanyang]"; + mes "It's ok. Clean, vermin and"; + mes "whatever... the unfair thing is"; + mes "that I really killed vermin as well, meow."; + mes "In addition, I clean up diligently."; + next; + mes "[Cleanyang]"; + mes "By the way, they are coming over and over again."; + mes "I don't know where they are from."; + next; + switch(select("Don't ask anymore.:Asking for the place of vermin came.")) { + case 1: + emotion e_sob; + mes "[Cleanyang]"; + mes "...what's wrong with your face?"; + mes "Are you afraid of sending on an errand?"; + mes "What are you thinking about me... meow, meow...?"; + mes "It's not fair... meow, meow..."; + next; + mes "Poor sailor cat Cleanyang begins to cry."; + mes "Leave him alone."; + close; + case 2: + mes "[Cleanyang]"; + mes "Does someone will go there and check it?"; + mes "Please, search everywhere of the ship Navi?"; + mes "I can't live like this! Meow, meow!"; + next; + mes "[Cleanyang]"; + mes "There is definitely something I do not know. Meow."; + mes "Meow... I'll clean this place up. Please find something instead of me."; + set mal_qook,1; + setquest 7260; + close; + } + case 2: + mes "You leave the crying cat and move back."; + close; + } + } else if (mal_qook == 1) { + if (checkquest(7261) != -1 && checkquest(7262) != -1 && checkquest(7263) != -1) { + emotion e_omg; + mes "[Cleanyang]"; + mes "Uh. What is that? Meow."; + mes "This is cat's ship biscuit... It might be left for a long time..."; + mes "No way...!"; + next; + select("Yeah, this is it."); + emotion e_hmm; + mes "[Cleanyang]"; + mes "There were infested with insects because sailors hided and left the cat's ship biscuit.."; + mes "I got a scolding cause of just teeth grinder?"; + mes "Meow!"; + next; + select("Teeth Grinder?"); + mes "[Cleanyang]"; + mes "That is right, meow."; + mes "This is stiff-baked bread for preserve easily during sailing, meow."; + mes "It is too hard, so if you just bite this, probably your canine will be broken, meow."; + next; + mes "[Cleanyang]"; + mes "It is baked with just salt and flour for preserve long time that is why it does not have any taste."; + mes "More than all..... look at this."; + next; + mes "Cleanyang breaks cat's ship biscuit with hammer and chisel"; + mes "and hit on the floor. Then..."; + next; + mes "[Cleanyang]"; + mes "........can you see something coming out from here?"; + mes "This is Weevil Bug.........."; + mes "It is such a castle of insects."; + next; + mes "[Cleanyang]"; + mes "Maybe someone really does not want to eat this."; + mes "These insects are left before we are settled on island and change the menu."; + next; + mes "[Cleanyang]"; + mes "After settled on this island, we did not make cat's ship biscuit due to fresh ingredients."; + mes "........"; + next; + mes "[Cleanyang]"; + mes "Please show this to chef and tell him that Cleanyang really cleaned up very well."; + mes "Well... I'm still afraid of chef..."; + mes "...please! Meow!"; + set mal_qook,2; + erasequest 7261; + erasequest 7262; + erasequest 7263; + erasequest 7260; + setquest 7264; + next; + mes "[Cleanyang]"; + mes "Ah, that cat's ship biscuit is still fine, so just try to eat."; + mes "Do you wonder what is that? It was a great food even though it's not look good..."; + close; + } + mes "[Cleanyang]"; + mes "Please search the ship Navi and find the place of origin."; + mes "I just believe you."; + close; + } else if (mal_qook == 2) { + mes "[Cleanyang]"; + mes "If you show cat's ship biscuit to chef and those insects were from there,"; + mes "my misunderstanding will be resolved."; + next; + select("Why don't you go by yourself?"); + mes "[Cleanyang]"; + mes "Um... I still have to clean up..."; + mes "I'm still scared of my chef, so please."; + close; + } else if (mal_qook == 3) { + mes "[Cleanyang]"; + mes "Chef gets angry."; + mes "Just beg for mercy!"; + close; + } else if (mal_qook == 4) { + mes "[Cleanyang]"; + mes "Did you say that chef was more upset about cat's ship biscuit?"; + mes "From now, I don't have to crying?"; + next; + mes "[Cleanyang]"; + mes "If chef needs something, Just bring it for him~"; + mes "Is that good for each other?"; + next; + mes "[Cleanyang]"; + mes "When chef is satisfied and pleased, just come at that time."; + mes "I may not able to clean up until that time because I'm nervous. Meow...."; + close; + } else if (mal_qook == 5) { + mes "[Cleanyang]"; + mes "Did you finish work what chef wanted?"; + mes "By the way, why do you make cat's ship biscuit suddenly?"; + next; + select("New menu for you."); + mes "[Cleanyang]"; + mes "Meoooow----!!"; + mes "Keemeoooow!!"; + mes "Nyahuhuh... Kmeoooow!"; + next; + mes "[Cleanyang]"; + mes "Nooo!!!!!!!!!!!"; + mes "Without cat's ship biscuit was a heaven. I don't want to go hell again!!!!"; + mes "Kmeoooow... Kmeoooow... Kmeoooow~"; + next; + switch(select("Tickling under the chin.:Hit the end of nose.:Tap on butt.")) { + case 1: + mes "[Cleanyang]"; + mes "Meoow... Koleung koleung..."; + mes "Kyarreung..."; + mes "Huahhuah... Golgolgol..."; + next; + break; + case 2: + mes "[Cleanyang]"; + mes "Eung Kya-!"; + mes "Uh nyanyanyanaynyan!"; + mes "What the heck are you doing!"; + next; + break; + case 3: + mes "[Cleanyang]"; + mes "Heu keeyangyang"; + mes "Heunyang... Euhnyang-!"; + mes "What are you doing!"; + next; + break; + } + mes "[Cleanyang]"; + mes "Please stop..."; + mes "Now, be calm."; + mes "I understand that chef's saying and huge plan."; + next; + mes "[Cleanyang]"; + mes "Hey, human who helped me, you, you!"; + mes "Could you do me favor."; + mes "If the menu will be changed and provide cat's ship biscuit, definitely they appear..."; + next; + select("What?"); + mes "[Cleanyang]"; + mes "Cat the Cat!"; + mes "Cats who hide cat's ship biscuit secretly."; + mes "No one says that do not want to eat and throw away because they are scare chef."; + next; + mes "[Cleanyang]"; + mes "Absolutely, they begin to hide cat's ship biscuit..."; + mes "And it will be infested by insects!"; + mes "Chef will give a scolding again!"; + next; + mes "[Cleanyang]"; + mes "So let me see you everyday from provided cat's ship biscuit tomorrow."; + mes "You did good job. This is a token of thanks."; + set mal_qook,6; + getitem 12636,30; //Malang_Sp_Can + getexp 80000,80000; + setquest 7267; + close; + } + switch(rand(3)) { + case 0: + mes "[Cleanyang]"; + mes "Ohohohong..."; + mes "Euhohohohong..."; + mes "It's horrible... I got cat's ship biscuit but I don't know when It was made."; + mes "It's really hard. I almost lost my teeth."; + break; + case 1: + mes "[Cleanyang]"; + mes "Chef might forget everything that he gave me a scolding cause of insects."; + mes "He got a shock by cat's ship biscuit. Is this bigger case than the clean up?"; + break; + case 2: + mes "[Cleanyang]"; + mes "I'm a cleaning cat Cleanyang~"; + mes "Meow~"; + mes "Make a scratch others' door of house Meow~"; + mes "Meow~ Uh? Did you hear it?"; + mes "This is my cleaning song."; + break; + } + next; + mes "[Cleanyang]"; + mes "By the way, what is going on?"; + next; + switch(select("It's time to promise~:I'm here to see the result~:Shake your butt~")) { + case 1: + if (checkquest(7267,PLAYTIME) == 0) { + mes "[Cleanyang]"; + mes "Uh? Not yet."; + mes "Today's cat's ship biscuit is not provided yet, so I will know that after wait little bit more."; + mes "It might be after chef's distribution of cat's ship biscuit."; + close; + } + if (checkquest(7268) != -1) { + mes "[Cleanyang]"; + mes "My service to you today."; + mes "Recently, there are 9 spot that hided cat's ship biscuit as well."; + next; + mes "[Cleanyang]"; + mes "Someone think that good angel took them all as I collected and threw away"; + mes "He still hide them that place."; + next; + mes "[Cleanyang]"; + mes "It is so easy because I don't have to search everywhere, but"; + mes "Please search the 9 spot where hiding frequently."; + close; + } + if (checkquest(7267,PLAYTIME) == 2) + completequest 7267; + erasequest 7267; + mes "[Cleanyang]"; + mes "Is there guy who hide cat's ship biscuit today?"; + mes "Probably there he is?"; + next; + switch(select("Try to search today.:Maybe not today.")) { + case 1: + mes "[Cleanyang]"; + mes "My service to you today."; + mes "The inside of ship Navi, home and cat tower too. Don't even miss a blade of grass"; + mes "Search everywhere."; + setquest 7268; + close; + case 2: + mes "[Cleanyang]"; + mes "Do you think so?"; + mes "If so, It's good thing."; + mes "Anyway, It is not infested of insects due to we find them and remove right away."; + mes "That's enough."; + close; + } + case 2: + if (checkquest(7268) == -1) { + mes "[Cleanyang]"; + mes "Um? Nobody request for collecting cat's ship biscuit today."; + mes "By the way, what is the result report?"; + mes "Are you sick?"; + close; + } + if (checkquest(7261) != -1 && checkquest(7262) != -1 && checkquest(7263) != -1 && checkquest(7269) != -1 && checkquest(7270) != -1 && + checkquest(7271) != -1 && checkquest(7272) != -1 && checkquest(7273) != -1 && checkquest(7274) != -1 && checkquest(7275) != -1) { + mes "[Cleanyang]"; + mes "Um, the rising cat's ship biscuit spot!"; + mes "Did you collect all fully?"; + mes "I guess this is pretty enough."; + next; + mes "[Cleanyang]"; + mes "Just take all finding cat's ship biscuit."; + mes "Taste is not bad and have a resilient too..."; + next; + mes "[Cleanyang]"; + mes "Ok today's work is enough. Please come tomorrow!"; + mes "There will be tomorrow's cat's ship biscuit!"; + mes "Nya hahahong~"; + setquest 7267; + erasequest 7268; + erasequest 7261; + erasequest 7262; + erasequest 7263; + erasequest 7269; + erasequest 7270; + erasequest 7271; + erasequest 7272; + erasequest 7273; + erasequest 7274; + erasequest 7275; + getexp 30000,40000; + getitem 12636,10; //Malang_Sp_Can + close; + } + mes "[Cleanyang]"; + mes "Did you find all of them?"; + next; + mes "[Cleanyang]"; + mes "Someone think that good angel took them all as I collected and threw away."; + mes "He still hide them that place."; + next; + mes "[Cleanyang]"; + mes "It is so easy because I don't have to search everywhere, but"; + mes "please search the 9 spot where hiding frequently."; + close; + case 3: + mes "[Cleanyang]"; + mes "Meooow-!"; + mes "What are you doing? Meow!"; + mes "Goreureureung..."; + next; + mes "[Cleanyang]"; + mes "Hmhm."; + mes "Hey, don't do that."; + mes "...isn't it a crime? Meow."; + close; + } +} + +mal_in02,29,67,0 script #CaptainRoom3 844,{ + if (checkweight(1201,1) == 0) { + mes "- You have too many items so you can't continue the quest. -"; + close; + } + if (mal_qook == 1) { + if (checkquest(7261) == -1) { + mes "Lots of junk are piled up in a corner of captain's room."; + mes "Cleanyang might not clean in a corner because it is not within his hand."; + next; + mes "[Admiral Thomas]"; + mes "Uh? What are you doing over there?"; + mes "Do not touch that!"; + cutin "ma_tomas03",2; + next; + switch(select("Sorry.:I'll clean up!")) { + case 1: + mes "[Admiral Thomas]"; + mes "We have a common interest to talk."; + mes "There is no reason to search there like you."; + mes "Please leave me alone."; + cutin "ma_tomas01",2; + cutin "ma_tomas03",255; + break; + case 2: + cutin "ma_tomas03",255; + mes "Ignoring Thomas and search under the junk."; + mes "And at that time..."; + next; + emotion e_omg; + mes "The place where the black shadow just passed, I don't how long been it is left."; + mes "Find a cat's ship biscuit."; + switch(rand(3)) { + case 0: monster "mal_in02",30,67,"Quick Dark Shadow",2209,1; + case 1: monster "mal_in02",30,65,"Quick Dark Shadow",2209,1; + case 2: monster "mal_in02",29,65,"Quick Dark Shadow",2209,1; + } + setquest 7261; + getitem 11536,1; //Cat_Hard_Biscuit + next; + if (checkquest(7261) != -1 && checkquest(7262) != -1 && checkquest(7263) != -1) { + mes "I guess I searched pretty enough."; + mes "Let's tell Cleanyang that is infested of insects due to cat's ship biscuit is left long time."; + close; + } + mes "It was one of reason that the insects are appeared."; + close; + } + } + mes "It used to be habitat of insects because someone left cat's ship biscuit."; + mes "I think it's ok now due to we removed all of them."; + close; + } + if (checkquest(7268) != -1) { + if (checkquest(7261) == -1) { + mes "Lots of junk are piled up in a corner of captain's room."; + mes "Cleanyng might not clean in a corner because it is not within his hand."; + mes "He reached out and search under the junk."; + next; + mes "And at that time..."; + mes "The place where the dark shadow just passed, find a cat's ship biscuit that is hided recently."; + emotion e_omg; + switch(rand(3)) { + case 0: monster "mal_in02",30,67,"Quick Dark Shadow",2209,1; + case 1: monster "mal_in02",30,65,"Quick Dark Shadow",2209,1; + case 2: monster "mal_in02",29,65,"Quick Dark Shadow",2209,1; + } + setquest 7261; + getitem 11536,1; //Cat_Hard_Biscuit + close; + } + mes "It used to be habitat of insects because someone left cat's ship biscuit."; + mes "I think it's ok now due to we removed all of them."; + close; + } + mes "I don't have any business here."; + close; +} + +mal_in02,183,49,0 script #MeetingFloor4 844,{ + if (checkweight(1201,1) == 0) { + mes "- You have too many items so you can't continue the quest. -"; + close; + } + if (mal_qook == 1 || checkquest(7268) != -1) { + if (checkquest(7263) == -1) { + mes "This is ventilation window on the floor. It is really close to Cooking table"; + mes "I'm trying to ignore that but it is on my mind. What should I do?"; + next; + switch(select("Just look roughly.:Take a look at this.")) { + case 1: + mes "I looked at the ventilation window well, but did not find any problem."; + close; + case 2: + mes "It looks good from the top... I took it off because it's on my mind."; + mes "I can see something the bottom of way of ventilation."; + mes "And at that time..."; + next; + mes "The place where the dark shadow just passed, I don't how long been it is left."; + mes "Find a cat's ship biscuit."; + emotion e_omg; + switch(rand(2)) { + case 0: monster "mal_in02",182,50,"Quick Dark Shadow",2209,1; + case 1: monster "mal_in02",184,50,"Quick Dark Shadow",2209,1; + } + setquest 7263; + getitem 11536,1; //Cat_Hard_Biscuit + if (mal_qook == 1) { + next; + if (checkquest(7261) != -1 && checkquest(7262) != -1 && checkquest(7263) != -1) { + mes "I guess I searched pretty enough."; + mes "Let's tell Cleanyang that is infested of insects due to cat's ship biscuit is left long time."; + } else + mes "It was one of reason that the insects are appeared."; + } + close; + } + } + mes "It used to be habitat of insects because someone left cat's ship biscuit."; + mes "I think it's ok now due to we removed all of them."; + close; + } + mes "I don't have any business here."; + close; +} + +mal_in02,103,22,0 script #MalBed5 844,{ + if (checkweight(1201,1) == 0) { + mes "- You have too many items so you can't continue the quest. -"; + close; + } + if (mal_qook == 1 || checkquest(7268) != -1) { + if (checkquest(7262) == -1) { + mes "This is bed for sailors. There is too much hair and so messy."; + mes "At the corner of under the bed is does not reached hand so I'm thinking too much about that."; + next; + switch(select("Raise the matress slightly.:Search under the bed.")) { + case 1: + mes "I slightly push and raise the part that touched edge of wall."; + mes "And at that time..."; + next; + mes "The place where the dark shadow just passed, I don't how long been it is left."; + mes "Find a cat's ship biscuit."; + emotion e_omg; + monster "mal_in02",102,23,"Quick Dark Shadow",2209,1; + setquest 7262; + getitem 11536,1; //Cat_Hard_Biscuit + if (mal_qook == 1) { + next; + if (checkquest(7261) != -1 && checkquest(7262) != -1 && checkquest(7263) != -1) { + mes "I guess I searched pretty enough."; + mes "Let's tell Cleanyang that is infested of insects due to cat's ship biscuit is left long time."; + } else + mes "It was one of reason that the insects are appeared."; + } + close; + case 2: + mes "I searched under the bed, but I didn't find any problem."; + mes "Maybe Cleanyang cleaned up. It's pretty good condition."; + close; + } + } + mes "It used to be habitat of insects because someone left cat's ship biscuit."; + mes "I think it's ok now due to we removed all of them."; + close; + } + mes "The bed for sailors."; + mes "Lots of cat's hair are attached."; + close; +} + +malangdo,141,178,0 script #Darkweed6 844,{ + if (checkweight(1201,1) == 0) { + mes "- You have too many items so you can't continue the quest. -"; + close; + } + if (checkquest(7268) != -1) { + if (checkquest(7269) == -1) { + mes "Many weeds are growing in rest area near cat tower."; + mes "It's easily ignored, so it's on my mind."; + next; + switch(select("Search through the weeds.:Search under the chair.")) { + case 1: + mes "I decide to search the forest that out of people's eye."; + mes "And at that time..."; + next; + mes "From the place where Dark shadow just passed and someone hided recently."; + mes "Find a cat's ship biscuit."; + emotion e_omg; + monster "malangdo",141,178,"Quick Dark Shadow",2209,1; + setquest 7269; + getitem 11536,1; //Cat_Hard_Biscuit + close; + case 2: + mes "I searched under the chair in rest area, but I didn't find any problem."; + mes "It's pretty good condition even though it's outside."; + close; + } + } + mes "Many weeds are growing in rest area near cat tower."; + mes "We already collected hiding cat's ship biscuit here."; + close; + } + mes "Many weeds are growing under the cat tower."; + mes "It seems to be hard to clean."; + close; +} + +malangdo,133,134,0 script Strange Pile of Sand#7 557,{ + if (checkweight(1201,1) == 0) { + mes "- You have too many items so you can't continue the quest. -"; + close; + } + if (checkquest(7268) != -1) { + set .@quest, (strnpcinfo(0) == "Strange Pile of Sand#7")?7270:7275; + if (checkquest(.@quest) == -1) { + mes "The pile of sand is billowed like a grave. Should be something in there."; + mes "According to rumors, cats have a habit to bury with sand after stool..."; + next; + switch(select("Avoid this dirty place.:Darn it-!")) { + case 1: + mes "[" + strcharinfo(0) + "]"; + mes "Right!"; + mes "It may be cat's grave... Do not touch them!"; + mes "Avoid, avoid~"; + break; + case 2: + mes "Close eyes and start to dig that pile of sand!"; + mes "Therefore, something came out quickly from there and disappeared."; + mes "And..."; + next; + mes "From the place where Dark shadow just passed and someone hided recently."; + mes "Find a some chips of cat's ship biscuit."; + setquest .@quest; + if (!rand(3)) { + emotion e_omg; + getmapxy(.@map$,.@x,.@y,1); + monster .@map$,.@x,.@y,"Quick Dark Shadow",2209,1; + } else + getitem 11536,1; //Cat_Hard_Biscuit + close; + } + } + mes "We already collected buried cat's ship biscuit."; + close; + } + mes "- Look so strange. -"; + mes "- That's it... -"; + close; +} +malangdo,197,237,0 duplicate(Strange Pile of Sand#7) Strange Pile of Sand#12 557 + +malangdo,232,131,0 script #UnderStairs8 844,{ + if (checkweight(1201,1) == 0) { + mes "- You have too many items so you can't continue the quest. -"; + close; + } + if (checkquest(7268) != -1) { + if (checkquest(7271) == -1) { + mes "Some weeds are growing under the low stairs."; + mes "It's really hard to find something fell under the stairs.."; + next; + mes "To lie flat and look under the stairs carefully."; + mes "And at that time..."; + next; + mes "From the place where Dark shadow just passed and someone hided recently."; + mes "Find a some chips of cat's ship biscuit."; + setquest 7271; + if (!rand(3)) { + emotion e_omg; + monster "malangdo",231,130,"Quick Dark Shadow",2209,1; + } else + getitem 11536,1; //Cat_Hard_Biscuit + close; + } + mes "Sometimes, someone played with pulling people's ankle under the stairs"; + mes "Now, I can't see mischievous boys or any strange thing."; + next; + mes "We already collected buried cat's ship biscuit."; + close; + } + mes "Out of people's hand under the stairs."; + mes "Sometimes, I look around there when I search lost toys."; + close; +} + +mal_in01,74,20,0 script #CornerTower9 844,{ + if (checkweight(1201,1) == 0) { + mes "- You have too many items so you can't continue the quest. -"; + close; + } + if (checkquest(7268) != -1) { + if (checkquest(7272) == -1) { + mes "This cat tower is for playing and resting."; + mes "Dust is piled up because there is gap between the foothold and ground."; + next; + mes "Push the thin and long rod in the gap and search something."; + mes "And at that time..."; + next; + mes "From the place where Dark shadow just passed and someone hided recently."; + mes "Find a some chips of cat's ship biscuit."; + setquest 7272; + if (!rand(3)) { + emotion e_omg; + monster "mal_in01",73,19,"Quick Dark Shadow",2209,1; + } else + getitem 11536,1; //Cat_Hard_Biscuit + close; + } + mes "We already collected buried cat's ship biscuit."; + close; + } + mes "There are cat's bed near cat tower."; + mes "Specially, some cats love an out of the way place."; + close; +} + +mal_in01,159,225,0 script #CornerLocker10 844,{ + if (checkweight(1201,1) == 0) { + mes "- You have too many items so you can't continue the quest. -"; + close; + } + if (checkquest(7268) != -1) { + if (checkquest(7273) == -1) { + mes "In the corner of the gap between the wall and locker that is used by cat's gamers,"; + mes "I can see something there. It's really hard to find object if drop there."; + next; + mes "Push the thin and long rod in the gap and search something."; + mes "And at that time..."; + next; + mes "From the place where Dark shadow just passed and someone hided recently."; + mes "Find a some chips of cat's ship biscuit."; + setquest 7273; + if (!rand(3)) { + emotion e_omg; + monster "mal_in01",159,225,"Quick Dark Shadow",2209,1; + } else + getitem 11536,1; //Cat_Hard_Biscuit + close; + } + mes "We already collected buried cat's ship biscuit."; + close; + } + mes "The corner of gap is between locker that is used by cat's gamers and wall."; + mes "If drop kind of small toys there, never find them at all."; + close; +} + +mal_in01,24,72,0 script #FootholdTower11 844,{ + if (checkweight(1201,1) == 0) { + mes "- You have too many items so you can't continue the quest. -"; + close; + } + if (checkquest(7268) != -1) { + if (checkquest(7274) == -1) { + mes "This cat tower is for playing and resting in Malangdo."; + mes "Dust is piled up because there is gap between the foothold and ground."; + next; + mes "Push the thin and long rod in the gap and search something."; + mes "And at that time..."; + next; + mes "From the place where Dark shadow just passed and someone hided recently."; + mes "Find a some chips of cat's ship biscuit."; + setquest 7274; + if (!rand(3)) { + emotion e_omg; + monster "mal_in01",24,71,"Quick Dark Shadow",2209,1; + } else + getitem 11536,1; //Cat_Hard_Biscuit + close; + } + mes "There is mark that shows something used to be jammed in gap of foothold in very bottom of cat tower."; + mes "We already collected buried cat's ship biscuit."; + close; + } + mes "This cat tower is for playing and resting in Malangdo."; + mes "When I look cats on the cat tower, It looks like a tree landen with cats..."; + close; +} + +// Help Chef Nyas :: mal_day_qook +//============================================================ +mal_in02,187,58,3 script Chef Nyas 548,{ + if (checkweight(1201,1) == 0) { + mes "- You have too many items so you can't continue the quest. -"; + close; + } + if (BaseLevel < 60) { + mes "[Chef Nyas]"; + mes "What is going on boy?"; + mes "I don't want to talk to you. Get away from me!"; + next; + mes "I'm ignored by uncomfortable cat."; + mes "May not ignored if I'm getting stronger..."; + close; + } + if (mal_qook < 2) { + mes "[Chef Nyas]"; + mes "I'm a unique chef in entire fleet."; + mes "Do you want something from me?"; + next; + mes "[Chef Nyas]"; + mes "Even though I have no time to spare, I usually serve a plate of soup gladly, but now!"; + mes "The ingredient is infested with worms cause of one stupid's carelessness!"; + next; + mes "[Chef Nyas]"; + mes "Therefore, when my blaze of anger becomes quiet like a calm sea, come back again!"; + mes "By the way, where is that stupid!"; + close; + } else if (mal_qook == 2) { + mes "[Chef Nyas]"; + mes "I'm a unique chef in entire fleet."; + mes "Do you want something from me?"; + next; + switch(select("Show the cat's ship biscuit.:Talk about story of Cleanyang.")) { + case 1: + mes "[Chef Nyas]"; + mes "Hm? is this cat's ship biscuit?"; + mes "Specially, I can feel the flow of time from this biscuit."; + mes "By the way, how can you have this?"; + next; + mes "He is telling the story that place where he found cat's ship biscuit and"; + mes "Explain the Cleanyang's story."; + next; + break; + case 2: + mes "[Chef Nyas]"; + mes "Why that stupid?"; + mes "Are you trying to make a thunder storm in the calm sea?!"; + next; + mes "Pacify an angry chef"; + mes "Explain a misunderstanding about Cleanyang and tell whole story of cat's ship biscuit."; + next; + break; + } + mes "[Chef Nyas]"; + mes "So this is happening because of cat buscuit?"; + mes "Yes, is this story about that?"; + next; + select("You are quick understand."); + mes "[Chef Nyas]"; + mes "..........He is such a jerk!"; + mes "In addition, What? Find another one in captain's room?!"; + next; + mes "[Chef Nyas]"; + mes "Thomas......"; + mes "He has position that should take the lead to sailors, but he got a wrong?"; + mes "Ududuk."; + next; + mes "[Chef Nyas]"; + mes "This cat's ship biscuit was! Always thankful food to help our starvation during a long sailing!"; + mes "No matter what taste, It always saves us at crossroads of life and death!"; + next; + mes "[Chef Nyas]"; + mes "Although the situation is not able to use fire for a month, two month even 1000 days!"; + mes "This is blessed food to guarantee on open sea!"; + next; + mes "[Chef Nyas]"; + mes "How many chef cats have difficult time to make a cat's ship biscuit!"; + mes "The military discipline has been relaxed because we settled down on island! Already forget the dangerous situation?!"; + next; + mes "Chef is outraged and very upset."; + mes "He mumbled and made a threatening sound with grind his teeth."; + mes "Come back later when he calms down."; + set mal_qook,3; + erasequest 7264; + setquest 7265; + close; + } else if (mal_qook == 3) { + if (!rand(3)) { + mes "[Chef Nyas]"; + mes "There you are? I made a bad break."; + mes "I made a big decision when you are out for me."; + next; + mes "[Chef Nyas]"; + mes "After settled down on Island, depraved mindset cause of plentiful foods."; + mes "Therefore, I'll change the menu that cat's ship biscuit is provided for one meal a day!."; + next; + mes "[Chef Nyas]"; + mes "That ingredient is needed to make cat's ship biscuit."; + mes "There is no wheat on this island, so I need to get your help."; + next; + mes "[Chef Nyas]"; + mes "Anything is possible to grind flour and knead dough."; + mes "Please bring that kind of ^4d4dff10 Grain^000000 and ^4d4dff 1 Plain Sauce^000000."; + mes "Replace salt with seawater.."; + next; + mes "[Chef Nyas]"; + mes "Could we get them easily on land?"; + mes "I'll get the rest what I need."; + next; + mes "[Chef Nyas]"; + mes "I'll fix their taste that is crazy for canned food."; + mes "He approached like a calm sea that has horrible thunder storm"; + mes "I'll give a pain like a god of sea's anger! Kmeow~~!!"; + next; + mes "A look of chef is quite serious."; + mes "Let me tell Cleanyang about the result first."; + set mal_qook,4; + erasequest 7265; + setquest 7266; + close; + } + mes "Chef is still trying to soothe his anger."; + mes "Maybe need more time."; + close; + } else if (mal_qook == 4) { + if (countitem(577) >= 10 && countitem(7454) > 0) { + mes "[Chef Nyas]"; + mes "Finally here. Wow, this land is pretty different."; + mes "That is enough to process."; + next; + mes "[Chef Nyas]"; + mes "If you are ok, I want to get these food everyday."; + mes "If you don't mind, just come back tomorrow."; + delitem 577,10; //Grain + delitem 7454,1; //Plain_Sauce + set mal_qook,5; + erasequest 7266; + setquest 7276; + close; + } + mes "[Chef Nyas]"; + mes "That ingredient is needed to make cat's ship biscuit."; + mes "There is no wheat on this island, so I need to get your help."; + next; + mes "[Chef Nyas]"; + mes "Anything is possible to grind flour and knead dough."; + mes "Please bring that kind of ^4d4dff10 Grain^000000 and ^4d4dff 1 Plain Sauce^000000."; + mes "Replace salt with seawater..."; + close; + } + mes "[Chef Nyas]"; + mes "There you are."; + mes "It's not mealtime... Why are you here?"; + next; + switch(select("What's today's work?:Food Delivery:Just bored...")) { + case 1: + if (checkquest(7276,PLAYTIME) == 0) { + mes "[Chef Nyas]"; + mes "Now, cat's ship biscuit is being baked in this oven."; + mes "It's all for your delivery food."; + next; + mes "[Chef Nyas]"; + mes "Quiet wave with a little salty and savory smell."; + mes "The food of sea is coming to make sailor's heart flutter."; + next; + mes "[Chef Nyas]"; + mes "I've got enough ingredients of cat's ship biscuit today."; + mes "Let me order next time."; + close; + } + if (mal_food > 0) { + mes "[Chef Nyas]"; + mes "Um? You are dull."; + mes "You already took my order list?"; + mes "Just take care of them."; + close; + } + if (checkquest(7276,PLAYTIME) == 2) + completequest 7276; + mes "[Chef Nyas]"; + mes "Here you are."; + mes "I need ingredients for cat's ship biscuit now. Fortunately, you are here at the right moment."; + if (checkquest(7276) != -1) + erasequest 7276; + next; + mes "[Chef Nyas]"; + mes "Could you bring some ingrediednts for cat's ship biscuit from land?"; + mes "If you say so, I have one more thing to request..."; + next; + switch(select("I'm busy today.:Sure, what are you need?")) { + case 1: + mes "[Chef Nyas]"; + mes "That is sad news."; + mes "However, it's ok. Cat's ship biscuit is originally prepared food."; + mes "Anyway, today's biscuit wll be provided when the second moon is full."; + next; + switch(select("So teeth grinder?:Worm castle...:Do not throw away?")) { + case 1: + mes "[Chef Nyas]"; + mes "What do you want to hear from me?!"; + mes "Kmeow!!"; + mes "The hardness of cat's ship biscuit is like a noble endurance in the sea!"; + mes "Do not ignore this!!"; + close; + case 2: + mes "[Chef Nyas]"; + mes "Only idiot who does not take care of preserving says like that."; + mes "Dry enough and seal it in cool dry place. Tut-tut."; + next; + mes "[Chef Nyas]"; + mes "Anyway Is that all about protein?"; + mes "Why don't you eat at night if it's on your mind!"; + close; + case 3: + mes "[Chef Nyas]"; + mes "Never throw food!"; + mes "When you are hit by cat's ship biscuit, you will get bruise or bleeding but"; + mes "It is not that reason!!!"; + mes "Do not play with food!"; + close; + } + case 2: + if (mal_food == 0) { + mes "[Chef Nyas]"; + mes "The ingredients of cat's ship biscuit are 10 Grain and 1 Plain Sauce as usual."; + mes "And I'd like to study food of human, so bring one of them."; + next; + mes "[Chef Nyas]"; + mes "My curious food is..."; + set .@i, rand(1,66); + + // IDs grouped in 5s incrementally. + setarray .@StartID[0],12061,12091,12041,12071,12056,12086,12051,12081,12046,12076,12066,12096,12429,12434; + mes "^4d4dff "+getitemname(.@StartID[(.@i-1)/5]+((.@i-1)%5))+" ^000000 ."; + + set mal_food,.@i; + setquest 7280+.@i; + mes "Just one dish is enough, so please do it together."; + next; + mes "[Chef Nyas]"; + mes "You have to bring the dish that made from fresh ingredients."; + mes "^ff0000I will refuse the instant food.^000000"; + close; + } + mes "[Chef Nyas]"; + mes "Hey my friend, you have a bad memory."; + mes "Did you already take my order list?"; + close; + } + case 2: + if (mal_food == 0) { + mes "[Chef Nyas]"; + mes "Do you remember what I ask to bring?"; + mes "I have no idea."; + close; + } else if (mal_food > 66) { + mes "[Chef Nyas]"; + mes "What did I say to bring?"; + mes "I don't remember?"; + mes "Did you get something wrong to come here?"; + close; + } + mes "[Chef Nyas]"; + mes "Is that ingredients of cat's ship biscuit and the food of human?"; + mes "Let me check what you brought..."; + next; + set .@i, mal_food; + + // IDs grouped in 5s incrementally. + setarray .@StartID[0],12061,12091,12041,12071,12056,12086,12051,12081,12046,12076,12066,12096,12429,12434; + set .@food, .@StartID[(.@i-1)/5]+((.@i-1)%5); + + if (countitem(577) >= 10 && countitem(7454) > 0 && countitem(.@food) > 0) { + mes "[Chef Nyas]"; + mes "Great."; + mes "This is that food!"; + mes "It will be good reference. Well done."; + delitem 577,10; //Grain + delitem 7454,1; //Plain_Sauce + delitem .@food,1; + setquest 7276; + set mal_food,0; + erasequest 7280+.@i; + + // Quantities grouped in 10s repeating. + // [ 3, 3, 6, 6, 9, 9, 12, 12, 15, 18 ] + // Last group [ 61 - 66 ] receives 25 constant. + getitem 6422, ((.@i < 61)?((.@i%10)?3*(((.@i%10)+1)/2):18):25); //Egrade_Coin + + getexp 50000,80000; + next; + mes "[Chef Nyas]"; + mes "Alright, could you come tomorrow?"; + mes "When the time to you coming, I'm very excited."; + mes "Nyahuh Nyahuh"; + close; + } + mes "[Chef Nyas]"; + mes "Yummm..."; + mes "Did I overestimate your ability?"; + mes "Double check what is short and bring them properly."; + next; + mes "[Chef Nyas]"; + mes "There is not different from undiscerning young cat."; + close; + case 3: + mes "[Chef Nyas]"; + mes "You are quite bold like a killer whale."; + mes "If you don't have any business, don't touch vegetable and go away."; + close; + } +}
\ No newline at end of file diff --git a/npc/re/scripts_athena.conf b/npc/re/scripts_athena.conf new file mode 100644 index 000000000..5231a3980 --- /dev/null +++ b/npc/re/scripts_athena.conf @@ -0,0 +1,82 @@ +// -------------------------------------------------------------- +// - Renewal Core Scripts - +// -------------------------------------------------------------- + +// -------------------------- Airport --------------------------- +npc: npc/re/airports/izlude.txt + +// --------------------------- Cities --------------------------- +npc: npc/re/cities/alberta.txt +npc: npc/re/cities/brasilis.txt +npc: npc/re/cities/dewata.txt +npc: npc/re/cities/dicastes.txt +npc: npc/re/cities/izlude.txt +npc: npc/re/cities/jawaii.txt +npc: npc/re/cities/malangdo.txt +npc: npc/re/cities/mora.txt + +// --------------------------- Guides --------------------------- +npc: npc/re/guides/guides_alberta.txt +npc: npc/re/guides/guides_aldebaran.txt +npc: npc/re/guides/guides_amatsu.txt +npc: npc/re/guides/guides_ayothaya.txt +npc: npc/re/guides/guides_brasilis.txt +npc: npc/re/guides/guides_comodo.txt +npc: npc/re/guides/guides_einbroch.txt +npc: npc/re/guides/guides_geffen.txt +npc: npc/re/guides/guides_gonryun.txt +npc: npc/re/guides/guides_hugel.txt +npc: npc/re/guides/guides_izlude.txt +npc: npc/re/guides/guides_juno.txt +npc: npc/re/guides/guides_lighthalzen.txt +npc: npc/re/guides/guides_louyang.txt +npc: npc/re/guides/guides_lutie.txt +npc: npc/re/guides/guides_morroc.txt +npc: npc/re/guides/guides_moscovia.txt +npc: npc/re/guides/guides_niflheim.txt +npc: npc/re/guides/guides_payon.txt +npc: npc/re/guides/guides_prontera.txt +npc: npc/re/guides/guides_rachel.txt +npc: npc/re/guides/guides_umbala.txt +npc: npc/re/guides/guides_veins.txt + +// ---------------- Kafras & Cool Event Corp. ------------------- +npc: npc/re/kafras/kafras_izl.txt +npc: npc/re/kafras/kafras_brasilis.txt + +// -------------------------- Merchant -------------------------- +npc: npc/re/merchants/3rd_trader.txt +npc: npc/re/merchants/diamond.txt +npc: npc/re/merchants/flute.txt +npc: npc/re/merchants/inn.txt +npc: npc/re/merchants/refine.txt +npc: npc/re/merchants/renters.txt +npc: npc/re/merchants/shops.txt + +// --------------------------- Others --------------------------- +npc: npc/re/other/mercenary_rent.txt + +// --------------------------- Quests --------------------------- +// - Eden Group ------------------------------------------------- +npc: npc/re/quests/eden/11-25.txt +npc: npc/re/quests/eden/26-40.txt +npc: npc/re/quests/eden/41-55.txt +npc: npc/re/quests/eden/56-70.txt +npc: npc/re/quests/eden/71-85.txt +npc: npc/re/quests/eden/86-90.txt +npc: npc/re/quests/eden/91-99.txt +npc: npc/re/quests/eden/eden_common.txt +npc: npc/re/quests/eden/eden_quests.txt +npc: npc/re/quests/eden/eden_service.txt +// -------------------------------------------------------------- +//npc: npc/re/quests/cupet.txt +npc: npc/re/quests/homu_s.txt +npc: npc/re/quests/magic_books.txt +npc: npc/re/quests/mrsmile.txt +npc: npc/re/quests/pile_bunker.txt +npc: npc/re/quests/quests_brasilis.txt +npc: npc/re/quests/quests_dewata.txt +npc: npc/re/quests/quests_dicastes.txt +npc: npc/re/quests/quests_izlude.txt +npc: npc/re/quests/quests_lighthalzen.txt +npc: npc/re/quests/quests_malangdo.txt diff --git a/npc/re/scripts_jobs.conf b/npc/re/scripts_jobs.conf new file mode 100644 index 000000000..14e532bcf --- /dev/null +++ b/npc/re/scripts_jobs.conf @@ -0,0 +1,30 @@ +// -------------------------------------------------------------- +// - Renewal Job Scripts - +// -------------------------------------------------------------- + +// ------------------------- Job Quests ------------------------- +// - 1-1 +npc: npc/re/jobs/1-1/acolyte.txt +npc: npc/re/jobs/1-1/archer.txt +npc: npc/re/jobs/1-1/mage.txt +npc: npc/re/jobs/1-1/merchant.txt +npc: npc/re/jobs/1-1/swordman.txt +npc: npc/re/jobs/1-1/thief.txt +// - 3-1 +npc: npc/re/jobs/3-1/archbishop.txt +npc: npc/re/jobs/3-1/mechanic.txt +npc: npc/re/jobs/3-1/ranger.txt +npc: npc/re/jobs/3-1/rune_knight.txt +npc: npc/re/jobs/3-1/warlock.txt +npc: npc/re/jobs/3-1/guillotine_cross.txt +// - 3-2 +npc: npc/re/jobs/3-2/genetic.txt +npc: npc/re/jobs/3-2/minstrel.txt +npc: npc/re/jobs/3-2/royal_guard.txt +npc: npc/re/jobs/3-2/shadow_chaser.txt +npc: npc/re/jobs/3-2/sorcerer.txt +npc: npc/re/jobs/3-2/sura.txt +npc: npc/re/jobs/3-2/wanderer.txt +// - Novice +npc: npc/re/jobs/novice/novice.txt +npc: npc/re/jobs/novice/supernovice_ex.txt diff --git a/npc/re/scripts_main.conf b/npc/re/scripts_main.conf new file mode 100644 index 000000000..2bca12324 --- /dev/null +++ b/npc/re/scripts_main.conf @@ -0,0 +1,44 @@ +// -------------------------------------------------------------- +// - rAthena Renewal Primary Scripts File - +// -------------------------------------------------------------- +// The idea of this new system is to make scripts more organized +// since the old system was rather messy with all the NPCs in one +// file. Now scripts are organized in to files arraged by type. +// Custom scripts are now in scripts_custom.conf, all other +// scripts are deemed as 'official'. You should place your NPCs +// in to scripts_custom.conf to follow the trend. +// +// Thanks, +// Ancyker and the rest of the rAthena Team +// +// Note: "Comments" are all text on the right side of a double slash "//" +// Whatever text is commented will not be parsed by the servers, and serves +// only as information/reference. +// +// -------------------------------------------------------------- + +// ------------------ Global Scripts Functions ------------------ +// Utilitarian functions used by many scripts. +npc: npc/other/Global_Functions.txt + +// -------------------- Cash Shop Functions --------------------- +// Used by cash shop items in the Item Database. +npc: npc/other/CashShop_Functions.txt + +// ------------------- Common Script Files ---------------------- +import: npc/scripts_athena.conf +import: npc/scripts_guild.conf +import: npc/scripts_jobs.conf +import: npc/scripts_mapflags.conf +import: npc/scripts_monsters.conf +import: npc/scripts_warps.conf + +// ------------------- Renewal Script Files --------------------- +import: npc/re/scripts_athena.conf +import: npc/re/scripts_jobs.conf +import: npc/re/scripts_monsters.conf +import: npc/re/scripts_warps.conf + +// ------------------- Custom Script Files ---------------------- +// - Your NPCs go in this file! +import: npc/scripts_custom.conf diff --git a/npc/re/scripts_monsters.conf b/npc/re/scripts_monsters.conf new file mode 100644 index 000000000..25811f8b3 --- /dev/null +++ b/npc/re/scripts_monsters.conf @@ -0,0 +1,82 @@ +// -------------------------------------------------------------- +// - Renewal Monster Scripts - +// -------------------------------------------------------------- + +// -------------------------- Dungeons -------------------------- +npc: npc/re/mobs/dungeons/abbey.txt +npc: npc/re/mobs/dungeons/abyss.txt +npc: npc/re/mobs/dungeons/alde_dun.txt +npc: npc/re/mobs/dungeons/ama_dun.txt +npc: npc/re/mobs/dungeons/anthell.txt +npc: npc/re/mobs/dungeons/ayo_dun.txt +npc: npc/re/mobs/dungeons/beach_dun.txt +npc: npc/re/mobs/dungeons/bra_dun.txt +npc: npc/re/mobs/dungeons/c_tower.txt +npc: npc/re/mobs/dungeons/dew_dun.txt +npc: npc/re/mobs/dungeons/dic_dun.txt +npc: npc/re/mobs/dungeons/ein_dun.txt +npc: npc/re/mobs/dungeons/gef_dun.txt +npc: npc/re/mobs/dungeons/gefenia.txt +npc: npc/re/mobs/dungeons/glastheim.txt +npc: npc/re/mobs/dungeons/gld_dun.txt +npc: npc/re/mobs/dungeons/gld_dunSE.txt +npc: npc/re/mobs/dungeons/gon_dun.txt +npc: npc/re/mobs/dungeons/ice_dun.txt +npc: npc/re/mobs/dungeons/in_sphinx.txt +npc: npc/re/mobs/dungeons/iz_dun.txt +npc: npc/re/mobs/dungeons/juperos.txt +npc: npc/re/mobs/dungeons/kh_dun.txt +npc: npc/re/mobs/dungeons/lhz_dun.txt +npc: npc/re/mobs/dungeons/lou_dun.txt +npc: npc/re/mobs/dungeons/ma_dun.txt +npc: npc/re/mobs/dungeons/mag_dun.txt +npc: npc/re/mobs/dungeons/mal_dun.txt +npc: npc/re/mobs/dungeons/mjo_dun.txt +npc: npc/re/mobs/dungeons/moc_pryd.txt +npc: npc/re/mobs/dungeons/mosk_dun.txt +npc: npc/re/mobs/dungeons/nyd_dun.txt +npc: npc/re/mobs/dungeons/odin.txt +npc: npc/re/mobs/dungeons/orcsdun.txt +npc: npc/re/mobs/dungeons/pay_dun.txt +npc: npc/re/mobs/dungeons/prt_maze.txt +npc: npc/re/mobs/dungeons/prt_sew.txt +npc: npc/re/mobs/dungeons/ra_san.txt +npc: npc/re/mobs/dungeons/tha_t.txt +npc: npc/re/mobs/dungeons/thor_v.txt +npc: npc/re/mobs/dungeons/treasure.txt +npc: npc/re/mobs/dungeons/tur_dun.txt +npc: npc/re/mobs/dungeons/xmas_dun.txt +npc: npc/re/mobs/dungeons/yggdrasil.txt + +// --------------------------- Fields --------------------------- +npc: npc/re/mobs/fields/amatsu.txt +npc: npc/re/mobs/fields/ayothaya.txt +npc: npc/re/mobs/fields/bifrost.txt +npc: npc/re/mobs/fields/brasilis.txt +npc: npc/re/mobs/fields/comodo.txt +npc: npc/re/mobs/fields/dewata.txt +npc: npc/re/mobs/fields/dicastes.txt +npc: npc/re/mobs/fields/einbroch.txt +npc: npc/re/mobs/fields/geffen.txt +npc: npc/re/mobs/fields/gonryun.txt +npc: npc/re/mobs/fields/hugel.txt +npc: npc/re/mobs/fields/jawaii.txt +npc: npc/re/mobs/fields/lighthalzen.txt +npc: npc/re/mobs/fields/louyang.txt +npc: npc/re/mobs/fields/lutie.txt +npc: npc/re/mobs/fields/malaya.txt +npc: npc/re/mobs/fields/manuk.txt +npc: npc/re/mobs/fields/mjolnir.txt +npc: npc/re/mobs/fields/morocc.txt +npc: npc/re/mobs/fields/moscovia.txt +npc: npc/re/mobs/fields/niflheim.txt +npc: npc/re/mobs/fields/payon.txt +npc: npc/re/mobs/fields/prontera.txt +npc: npc/re/mobs/fields/rachel.txt +npc: npc/re/mobs/fields/splendide.txt +npc: npc/re/mobs/fields/umbala.txt +npc: npc/re/mobs/fields/veins.txt +npc: npc/re/mobs/fields/yuno.txt + +// --------------------------- Towns ---------------------------- +npc: npc/re/mobs/towns/brasilis.txt diff --git a/npc/re/scripts_warps.conf b/npc/re/scripts_warps.conf new file mode 100644 index 000000000..f0b95a462 --- /dev/null +++ b/npc/re/scripts_warps.conf @@ -0,0 +1,40 @@ +// -------------------------------------------------------------- +// - Renewal Warp Scripts - +// -------------------------------------------------------------- + +// --------------------------- Cities --------------------------- +npc: npc/re/warps/cities/brasilis.txt +npc: npc/re/warps/cities/dewata.txt +npc: npc/re/warps/cities/dicastes.txt +npc: npc/re/warps/cities/eclage.txt +npc: npc/re/warps/cities/izlude.txt +npc: npc/re/warps/cities/malangdo.txt +npc: npc/re/warps/cities/malaya.txt +npc: npc/re/warps/cities/rachel.txt +npc: npc/re/warps/cities/yggdrasil.txt + +// -------------------------- Dungeons -------------------------- +npc: npc/re/warps/dungeons/bra_dun.txt +npc: npc/re/warps/dungeons/dic_dun.txt +npc: npc/re/warps/dungeons/ecl_dun.txt +npc: npc/re/warps/dungeons/iz_dun.txt + +// --------------------------- Fields --------------------------- +npc: npc/re/warps/fields/bif_fild.txt +npc: npc/re/warps/fields/bra_fild.txt +npc: npc/re/warps/fields/com_fild.txt +npc: npc/re/warps/fields/dic_fild.txt +npc: npc/re/warps/fields/geffen_fild.txt +npc: npc/re/warps/fields/hugel_fild.txt +npc: npc/re/warps/fields/morroc_fild.txt +npc: npc/re/warps/fields/payon_fild.txt +npc: npc/re/warps/fields/prontera_fild.txt +npc: npc/re/warps/fields/rachel_fild.txt +npc: npc/re/warps/fields/veins_fild.txt +npc: npc/re/warps/fields/yuno_fild.txt + +// --------------------------- Others --------------------------- +npc: npc/re/warps/other/jobquests.txt +npc: npc/re/warps/other/paradise.txt +npc: npc/re/warps/other/s_workshop.txt +npc: npc/re/warps/other/sign.txt diff --git a/npc/re/warps/cities/brasilis.txt b/npc/re/warps/cities/brasilis.txt new file mode 100644 index 000000000..131b4d1ca --- /dev/null +++ b/npc/re/warps/cities/brasilis.txt @@ -0,0 +1,41 @@ +//===== rAthena Script ======================================= +//= Brasilis Town Warps Script +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= Any Athena Version; RO Episode 13.1+ +//===== Description: ========================================= +//= [Aegis Conversion] +//= Warp Points for Brasilis +//===== Additional Comments: ================================= +//= 1.0 First version. +//= 1.1 Fixed warps according to official. [Protimus] +//= 1.1a Added Field warp according to official. [Jguy] +//= 1.2 Added missing warps & removed duplicated one. [Daegaladh] +//============================================================ + +//Museum +brasilis,146,162,0 warp brasilis_bra_in01 1,1,bra_in01,17,137 +bra_in01,17,134,0 warp bra_in01_brasilis 1,1,brasilis,148,161 +bra_in01,50,145,0 warp bra_in01_bra_in01#2 1,1,bra_in01,81,143 +bra_in01,79,142,0 warp bra_in01_bra_in01#3 1,1,bra_in01,47,144 +bra_in01,50,171,0 warp bra_in01_bra_in01#4 1,1,bra_in01,82,168 +bra_in01,79,169,0 warp bra_in01_bra_in01#5 1,1,bra_in01,46,170 +bra_in01,138,174,0 warp bra_in01_bra_in01#6 1,1,bra_in01,12,183 +bra_in01,206,98,0 warp bra_in01_bra_in01#7 1,1,bra_in01,138,176 + +//Inn +brasilis,274,153,0 warp brasilis_bra_in01#1 1,1,bra_in01,38,9 +bra_in01,39,7,0 warp bra_in01_brasilis#1 1,1,brasilis,273,151 +bra_in01,52,27,0 warp bra_in01_bra_in01#8 1,1,bra_in01,85,26 +bra_in01,83,27,0 warp bra_in01_bra_in01#9 1,1,bra_in01,50,27 +bra_in01,9,67,0 warp bra_in01_bra_in01#10 1,1,bra_in01,154,22 +bra_in01,156,23,0 warp bra_in01_bra_in01#11 1,1,bra_in01,11,65 +bra_in01,52,67,0 warp bra_in01_bra_in01#12 1,1,bra_in01,87,66 +bra_in01,85,67,0 warp bra_in01_bra_in01#13 1,1,bra_in01,50,66 +bra_in01,31,29,0 warp bra_in01_bra_in01#14 1,1,bra_in01,23,70 +bra_in01,25,70,0 warp bra_in01_bra_in01#15 1,1,bra_in01,32,26 +bra_in01,31,74,0 warp bra_in01_bra_in01#16 1,1,bra_in01,148,59 +bra_in01,148,57,0 warp bra_in01_bra_in01#17 1,1,bra_in01,31,72 diff --git a/npc/re/warps/cities/dewata.txt b/npc/re/warps/cities/dewata.txt new file mode 100644 index 000000000..d5c0b7f93 --- /dev/null +++ b/npc/re/warps/cities/dewata.txt @@ -0,0 +1,21 @@ +//===== rAthena Script ======================================= +//= Dewata Warp Script +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Warp Points for Dewata +//===== Additional Comments: ================================= +//= 1.0 First version +//= 1.1 Disabled warps that clash with quest warps. [Euphy] +//============================================================ + +dewata,44,252,0 warp dewata0001 1,1,dew_fild01,372,212 +dew_fild01,375,212,0 warp dewata0002 1,1,dewata,47,252 +//dew_fild01,57,273,0 warp dewata0003 1,1,dew_in01,16,34 +//dew_in01,16,31,0 warp dewata0004 1,1,dew_fild01,60,273 +dew_fild01,48,65,0 warp dewata0005 1,1,dew_dun02,302,30 +dew_dun02,305,30,0 warp dewata0006 1,1,dew_fild01,51,65 diff --git a/npc/re/warps/cities/dicastes.txt b/npc/re/warps/cities/dicastes.txt new file mode 100644 index 000000000..d80e178a9 --- /dev/null +++ b/npc/re/warps/cities/dicastes.txt @@ -0,0 +1,74 @@ +//===== rAthena Script ======================================= +//= El Dicastes Warp Script +//===== By: ================================================== +//= Chilly, Muad_Dib +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Warp Points for El Dicastes +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Added Elevators. +//= 1.2 Removed a warp. [Joseph] +//= 1.3 Updated to match official script. [Joseph] +//============================================================ + +// Town Warps +dicastes01,283,285,0 warp eldicastes0001 1,1,dic_in01,45,30 +dic_in01,45,28,0 warp eldicastes0002 1,1,dicastes01,281,284 +dicastes01,163,297,0 warp eldicastes0003 1,1,dic_in01,371,101 +dic_in01,372,99,0 warp eldicastes0004 1,1,dicastes01,163,295 +dicastes01,94,259,0 warp eldicastes0005 1,1,dic_in01,390,53 +dic_in01,390,55,0 warp eldicastes0006 1,1,dicastes01,95,257 +dicastes01,136,103,0 warp eldicastes0007 1,1,dic_in01,26,98 +dic_in01,26,96,0 warp eldicastes0008 1,1,dicastes01,137,106 +dicastes01,255,175,0 warp eldicastes0009 1,1,dic_in01,344,272 +dic_in01,342,271,0 warp eldicastes0010 1,1,dicastes01,255,173 +dicastes01,198,353,0 warp eldicastes0011 1,1,dicastes02,120,80 +dicastes02,120,77,0 warp eldicastes0012 1,1,dicastes01,197,351 +dicastes02,120,237,0 warp eldicastes0013 1,1,dic_in01,45,246 +dic_in01,45,244,0 warp eldicastes0014 1,1,dicastes02,119,235 +dic_in01,299,248,0 warp eldicastes0015 1,1,dic_in01,262,191 + +dic_in01,242,182,0 script #eldicastes0016 844,{ + if (isequipped(2782)) select("Administrative Office"); + else select("¡÷¡ú¡ð"); + warp "dic_in01",138,221; + end; +} + +// Elevators +- script Elevator#main -1,{ + set .@n, atoi(strnpcinfo(2)); + set .@eq, (isequipped(2782))?1:0; + if (.@n <= 4) { + set .@m$, (.@eq)?"Civil Services:Archive Room:Situation Room:Administrative Office":"¢³¡ð¡Ð:¡ñ¡ñ¡ò:¡ø¡ø¡ð:¡÷¡ú¡ð"; + setarray .@xy, 45,286,36,212,122,282,121,201; + } + else if (.@n <= 11) { + set .@m$, (.@eq)?"Residential Zone 1:Residential Zone 2:Residential Zone 3:Pub Burman Flone":"¡ô¡õ¡ñ ¡þ :¢³¡ü¡Ð ¡ú :¡ï¢³¢¤ ¢² :¢±¡Ð¡ñ"; + setarray .@xy, 42,115,110,108,178,108,260,115; + } + else if (.@n <= 13) { + set .@m$, (.@eq)?"Battle Station:Galten Quarters":"¡ø¡ô¡ï ¡ò :¡ü¡÷¡ó ¡÷ "; + setarray .@xy, 385,272,385,208; + } + set .@m, select(.@m$) - 1; + warp "dic_in01",.@xy[.@m*2],.@xy[.@m*2+1]; + end; +} +dic_in01,46,288,0 duplicate(Elevator#main) Elevator#1 844 +dic_in01,122,284,0 duplicate(Elevator#main) Elevator#2 844 +dic_in01,121,203,0 duplicate(Elevator#main) Elevator#3 844 +dic_in01,35,214,0 duplicate(Elevator#main) Elevator#4 844 +dic_in01,44,116,0 duplicate(Elevator#main) Elevator#5 844 +dic_in01,112,108,0 duplicate(Elevator#main) Elevator#6 844 +dic_in01,180,108,0 duplicate(Elevator#main) Elevator#7 844 +dic_in01,261,115,0 duplicate(Elevator#main) Elevator#8 844 +dic_in01,57,48,0 duplicate(Elevator#main) Elevator#9 844 +dic_in01,137,46,0 duplicate(Elevator#main) Elevator#10 844 +dic_in01,222,46,0 duplicate(Elevator#main) Elevator#11 844 +dic_in01,388,272,0 duplicate(Elevator#main) Elevator#12 844 +dic_in01,389,208,0 duplicate(Elevator#main) Elevator#13 844
\ No newline at end of file diff --git a/npc/re/warps/cities/eclage.txt b/npc/re/warps/cities/eclage.txt new file mode 100644 index 000000000..c67bf202f --- /dev/null +++ b/npc/re/warps/cities/eclage.txt @@ -0,0 +1,33 @@ +//===== rAthena Script ======================================= +//= Eclage Warp Script +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Warp Points for Eclage +//===== Additional Comments: ================================= +//= 1.0 First Version. +//============================================================ + +// Town Warps +bif_fild02,292,351,0 warp eclage_field0001 1,1,ecl_fild01,205,74 +ecl_fild01,207,72,0 warp eclage_field0002 1,1,bif_fild02,294,349 +ecl_fild01,97,320,0 warp eclage_field0003 1,1,eclage,100,28 +eclage,98,26,0 warp eclage_field0004 1,1,ecl_fild01,97,317 +eclage,299,309,0 warp eclage_field0005 1,1,ecl_in01,47,11 +ecl_in01,47,8,0 warp eclage_field0006 1,1,eclage,297,307 +ecl_in01,8,67,0 warp eclage_field0007 1,1,ecl_hub01,38,94 +ecl_hub01,40,95,0 warp eclage_field0008 1,1,ecl_in01,11,67 +ecl_hub01,22,109,0 warp eclage_field0009 1,1,ecl_in02,98,7 +ecl_in02,98,4,0 warp eclage_field0010 1,1,ecl_hub01,23,107 +ecl_in02,81,18,0 warp eclage_field0011 1,1,ecl_in02,157,65 +ecl_in02,157,68,0 warp eclage_field0012 1,1,ecl_in02,83,18 +ecl_in01,84,68,0 warp eclage_field0013 1,1,ecl_hub01,107,107 +ecl_hub01,107,110,0 warp eclage_field0014 1,1,ecl_in01,81,68 +ecl_hub01,127,95,0 warp eclage_field0015 1,1,ecl_hub01,18,31 +ecl_hub01,18,34,0 warp eclage_field0016 1,1,ecl_hub01,124,95 +ecl_hub01,40,14,0 warp eclage_field0017 1,1,ecl_in03,144,17 +ecl_in03,144,14,0 warp eclage_field0018 1,1,ecl_hub01,40,11 diff --git a/npc/re/warps/cities/izlude.txt b/npc/re/warps/cities/izlude.txt new file mode 100644 index 000000000..149e61531 --- /dev/null +++ b/npc/re/warps/cities/izlude.txt @@ -0,0 +1,33 @@ +//===== rAthena Script ======================================= +//= Izlude Warp Script +//===== By: ================================================== +//= Athena (1.0), Nana (1.1) +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Description: ========================================= +//= Warp Points for Izlude +//===== Additional Comments: ================================= +//= 1.3 Added warps to Izlude Airship [Justin84] +//= 1.4 Minor correction on airport warps +//= 1.5 Updated to match the new Izlude Map. [Masao] +//============================================================ + +//= Izlude City ============================================== +izlude,109,182,0 warp iz01 3,3,izlude_in,65,87 +izlude,162,125,0 warp iz02 2,2,izlude_in,116,49 +izlude,216,162,0 warp iz03 3,2,izlude_in,151,127 +izlude,21,98,0 warp iz001 3,3,prt_fild08,367,212 +izlude,52,172,0 warp iz04 2,2,izlude_in,74,161 +izlude_in,108,169,0 warp iz05 2,3,izlude_in,84,169 +izlude_in,116,46,0 warp iz02-1 3,2,izlude,157,125 +izlude_in,148,127,0 warp iz03-1 2,5,izlude,207,162 +izlude_in,171,97,0 warp iz06 3,2,izlude_in,172,119 +izlude_in,172,116,0 warp iz06-1 3,2,izlude_in,172,94 +izlude_in,172,139,0 warp iz07 3,2,izlude_in,172,161 +izlude_in,172,158,0 warp iz07-1 3,2,izlude_in,172,136 +izlude_in,43,169,0 warp w219 2,3,izlude_in,64,169 +izlude_in,65,84,0 warp iz01-1 5,2,izlude,113,178 +izlude_in,74,158,0 warp iz04-1 3,2,izlude,52,166 +izlude_in,87,169,0 warp iz05-1 2,3,izlude_in,111,169 diff --git a/npc/re/warps/cities/malangdo.txt b/npc/re/warps/cities/malangdo.txt new file mode 100644 index 000000000..11810196b --- /dev/null +++ b/npc/re/warps/cities/malangdo.txt @@ -0,0 +1,63 @@ +//===== rAthena Script ======================================= +//= Malangdo Island Warp Script +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Warp Points for Malangdo Island +//===== Additional Comments: ================================= +//= 1.0 First version +//============================================================ + +// Town Warps +malangdo,240,150,0 warp malangdo0001 1,1,mal_in01,12,16 +mal_in01,9,16,0 warp malangdo0002 1,1,malangdo,237,150 +mal_in01,20,15,0 warp malangdo0003 1,1,mal_in01,67,9 +mal_in01,67,12,0 warp malangdo0004 1,1,mal_in01,20,12 +malangdo,112,168,0 warp malangdo0005 1,1,mal_in01,18,164 +mal_in01,18,161,0 warp malangdo0006 1,1,malangdo,114,166 +mal_in01,18,173,0 warp malangdo0007 1,1,mal_in01,72,174 +mal_in01,75,174,0 warp malangdo0008 1,1,mal_in01,18,170 +mal_in01,73,170,0 warp malangdo0009 1,1,mal_in01,124,172 +mal_in01,124,175,0 warp malangdo0010 1,1,mal_in01,70,170 +malangdo,113,151,0 warp malangdo0011 1,1,mal_in01,27,119 +mal_in01,30,119,0 warp malangdo0012 1,1,malangdo,116,151 +mal_in01,20,119,0 warp malangdo0013 1,1,mal_in01,67,115 +mal_in01,67,118,0 warp malangdo0014 1,1,mal_in01,20,116 +malangdo,119,137,0 warp malangdo0015 1,1,mal_in01,35,217 +mal_in01,38,217,0 warp malangdo0016 1,1,malangdo,122,137 +mal_in01,11,218,0 warp malangdo0017 1,1,mal_in01,75,219 +mal_in01,75,222,0 warp malangdo0018 1,1,mal_in01,11,221 +mal_in01,79,219,0 warp malangdo0019 1,1,mal_in01,140,216 +mal_in01,140,213,0 warp malangdo0020 1,1,mal_in01,79,216 +malangdo,135,109,0 warp malangdo0021 1,1,mal_in01,18,75 +mal_in01,18,78,0 warp malangdo0022 1,1,malangdo,135,112 +mal_in01,18,67,0 warp malangdo0023 1,1,mal_in01,67,63 +mal_in01,67,66,0 warp malangdo0024 1,1,mal_in01,21,67 +malangdo,135,276,0 warp malangdo0025 1,1,mal_in01,163,16 +mal_in01,163,13,0 warp malangdo0026 1,1,malangdo,135,273 +malangdo,73,239,0 warp malangdo0027 1,1,mal_dun01,33,230 +mal_dun01,30,230,0 warp malangdo0028 1,1,malangdo,75,237 + +// Ship Warps +malangdo,162,163,0 warp malangdo_ship0001 1,1,mal_in02,57,61 +mal_in02,60,61,0 warp malangdo_ship0002 1,1,malangdo,164,161 +mal_in02,51,60,0 warp malangdo_ship0003 1,1,mal_in02,31,60 +mal_in02,34,60,0 warp malangdo_ship0004 1,1,mal_in02,54,60 +mal_in02,63,53,0 warp malangdo_ship0005 1,1,mal_in02,63,32 +mal_in02,63,35,0 warp malangdo_ship0006 1,1,mal_in02,63,56 +mal_in02,63,66,0 warp malangdo_ship0007 1,1,mal_in02,64,90 +mal_in02,64,87,0 warp malangdo_ship0008 1,1,mal_in02,63,63 +mal_in02,101,53,0 warp malangdo_ship0009 1,1,mal_in02,101,32 +mal_in02,101,35,0 warp malangdo_ship0010 1,1,mal_in02,101,56 +mal_in02,101,66,0 warp malangdo_ship0011 1,1,mal_in02,102,90 +mal_in02,102,87,0 warp malangdo_ship0012 1,1,mal_in02,101,63 +mal_in02,137,53,0 warp malangdo_ship0013 1,1,mal_in02,139,32 +mal_in02,139,35,0 warp malangdo_ship0014 1,1,mal_in02,137,56 +mal_in02,137,66,0 warp malangdo_ship0015 1,1,mal_in02,140,90 +mal_in02,140,87,0 warp malangdo_ship0016 1,1,mal_in02,137,63 +mal_in02,142,60,0 warp malangdo_ship0017 1,1,mal_in02,162,61 +mal_in02,159,61,0 warp malangdo_ship0018 1,1,mal_in02,139,60 diff --git a/npc/re/warps/cities/malaya.txt b/npc/re/warps/cities/malaya.txt new file mode 100644 index 000000000..3a8b1002e --- /dev/null +++ b/npc/re/warps/cities/malaya.txt @@ -0,0 +1,46 @@ +//===== rAthena Script ======================================= +//= Malaya Port Warp Script +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Warp Points for Malaya Port +//===== Additional Comments: ================================= +//= 1.0 First Version. +//============================================================ + +// Town Warps +malaya,309,70,0 warp malaya_field0001 1,1,ma_in01,108,92 +ma_in01,105,92,0 warp malaya_field0002 1,1,malaya,310,67 +malaya,300,211,0 warp malaya_field0003 1,1,ma_in01,36,152 +ma_in01,33,152,0 warp malaya_field0004 1,1,malaya,297,211 +malaya,178,211,0 warp malaya_field0005 1,1,ma_in01,24,80 +ma_in01,24,77,0 warp malaya_field0006 1,1,malaya,178,208 +malaya,112,212,0 warp malaya_field0007 1,1,ma_in01,83,16 +ma_in01,86,16,0 warp malaya_field0008 1,1,malaya,115,212 +malaya,299,167,0 warp malaya_field0009 1,1,ma_in01,12,24 +ma_in01,9,24,0 warp malaya_field0010 1,1,malaya,296,167 +malaya,261,240,0 warp malaya_field0011 1,1,ma_in01,126,20 +ma_in01,126,17,0 warp malaya_field0012 1,1,malaya,261,237 +malaya,370,277,0 warp malaya_field0013 1,1,ma_fild01,40,272 +ma_fild01,37,272,0 warp malaya_field0014 1,1,malaya,367,277 +ma_fild01,266,359,0 warp malaya_field0015 1,1,ma_fild02,248,36 +ma_fild02,248,33,0 warp malaya_field0016 1,1,ma_fild01,266,356 +ma_fild01,251,190,0 warp malaya_field0017 1,1,ma_in01,108,160 +ma_in01,105,160,0 warp malaya_field0018 1,1,ma_fild01,249,192 +ma_fild01,288,52,0 warp malaya_field0019 1,1,ma_scene01,142,78 +ma_scene01,140,80,0 warp malaya_field0020 1,1,ma_fild01,288,55 + +// Car Warps +ma_zif01,30,22,0 warp malaya_car0001 1,1,malaya,241,238 +ma_zif02,30,22,0 warp malaya_car0002 1,1,malaya,71,43 +ma_zif03,30,22,0 warp malaya_car0003 1,1,malaya,284,129 +ma_zif04,30,22,0 warp malaya_car0004 1,1,malaya,134,247 +ma_zif05,30,22,0 warp malaya_car0005 1,1,malaya,341,150 +ma_zif06,30,22,0 warp malaya_car0006 1,1,malaya,294,293 +ma_zif07,30,22,0 warp malaya_car0007 1,1,malaya,239,221 +ma_zif08,30,22,0 warp malaya_car0008 1,1,malaya,59,246 +ma_zif09,30,22,0 warp malaya_car0009 1,1,malaya,254,68 diff --git a/npc/re/warps/cities/rachel.txt b/npc/re/warps/cities/rachel.txt new file mode 100644 index 000000000..8610fa3bf --- /dev/null +++ b/npc/re/warps/cities/rachel.txt @@ -0,0 +1,126 @@ +//===== rAthena Script ======================================= +//= Rachel Warp Script +//===== By: ================================================== +//= erKURITA & RockmanEXE +//===== Current Version: ===================================== +//= 1.5 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Description: ========================================= +//= Warp Points for Rachel City, shops & other locations +//===== Additional Comments: ================================= +//= 1.0 Added the official warps and commented out the +//= "custom duplicates" for future checkout. Special thanks +//= to RockmanEXE who provided all the info. [erKURITA] +//= 1.1 Added warp to Veins Field [Playtester] +//= 1.2 Fully official rachel warps [Playtester] +//= 1.2a Added missing warp (Pope's office entryway -> temple) [L0ne_W0lf] +//= 1.3 Updated Rachel -> Veins Field warp. [L0ne_W0lf] +//= 1.4 Disabled rachel33, moved to quest_rachel.txt [L0ne_W0lf] +//= 1.5 Renewal warp adjustments. +//============================================================ + +rachel,150,249,0 warp rachel01 1,1,ra_temple,120,30 + +rachel,81,33,0 warp rachel02 1,1,ra_in01,237,198 +rachel,61,33,0 warp rachel03 1,1,ra_in01,181,198 +rachel,217,55,0 warp rachel04 1,1,ra_in01,250,34 +rachel,179,220,0 warp rachel05 1,1,ra_in01,295,352 +rachel,103,240,0 warp rachel06 1,1,ra_in01,343,193 +rachel,216,160,0 warp rachel07 1,1,ra_in01,135,282 +rachel,42,87,0 warp rachel08 1,1,ra_in01,171,359 +rachel,42,109,0 warp rachel09 1,1,ra_in01,171,388 +rachel,83,78,0 warp rachel10 1,1,ra_in01,249,266 +rachel,115,149,0 warp rachel11 1,1,ra_in01,386,43 +rachel,90,189,0 warp rachel12 1,1,ra_in01,192,148 +rachel,108,200,0 warp rachel13 1,1,ra_in01,213,83 + +ra_in01,188,189,0 warp rachel14 1,1,ra_in01,263,144 +ra_in01,296,144,0 warp rachel15 1,1,ra_in01,235,189 +ra_in01,175,189,0 warp rachel16 1,1,ra_in01,132,189 +ra_in01,244,189,0 warp rachel17 1,1,ra_in01,291,189 +ra_in01,235,21,0 warp rachel18 1,1,ra_in01,187,31 +ra_in01,312,374,0 warp rachel19 1,1,ra_in01,359,374 +ra_in01,291,371,0 warp rachel20 1,1,ra_in01,225,380 +ra_in01,381,200,0 warp rachel21 1,1,ra_in01,377,268 +ra_in01,367,255,0 warp rachel22 1,1,ra_in01,326,296 +ra_in01,319,303,0 warp rachel23 1,1,ra_in01,381,320 +ra_in01,178,370,0 warp rachel24 1,1,ra_in01,113,385 +ra_in01,165,369,0 warp rachel25 1,1,ra_in01,122,334 +ra_in01,241,299,0 warp rachel26 1,1,ra_in01,193,312 +ra_in01,185,303,0 warp rachel27 1,1,ra_in01,194,249 +ra_in01,357,61,0 warp rachel28 1,1,ra_in01,310,62 +ra_in01,297,59,0 warp rachel29 1,1,ra_in01,339,116 + +ra_temin,130,93,0 warp rachel30 1,1,ra_temin,239,258 +ra_temin,206,93,0 warp rachel31 1,1,ra_temin,312,258 +ra_temin,275,332,0 warp rachel32 1,1,ra_temin,27,305 + +//ra_temin,275,226,0 warp rachel33 1,1,ra_temsky,99,11 + +ra_temsky,99,118,0 warp rachel34 1,1,ra_temsky,99,140 +ra_temsky,112,143,0 warp rachel35 1,1,ra_temsky,141,139 +ra_temsky,87,143,0 warp rachel36 1,1,ra_temsky,58,139 + +ra_temple,120,22,0 warp rachel37 1,1,rachel,150,243 + +ra_in01,237,202,0 warp rachel38 1,1,rachel,81,38 +ra_in01,181,202,0 warp rachel39 1,1,rachel,61,38 +ra_in01,250,38,0 warp rachel40 1,1,rachel,217,60 +ra_in01,295,348,0 warp rachel41 1,1,rachel,179,215 +ra_in01,339,193,0 warp rachel42 1,1,rachel,98,238 +ra_in01,135,286,0 warp rachel43 1,1,rachel,216,164 +ra_in01,171,355,0 warp rachel44 1,1,rachel,42,82 +ra_in01,172,392,0 warp rachel45 1,1,rachel,42,114 +ra_in01,249,262,0 warp rachel46 1,1,rachel,83,73 +ra_in01,386,39,0 warp rachel47 1,1,rachel,115,144 +ra_in01,192,152,0 warp rachel48 1,1,rachel,90,193 +ra_in01,213,79,0 warp rachel49 1,1,rachel,108,195 + +ra_in01,259,144,0 warp rachel50 1,1,ra_in01,184,189 +ra_in01,231,189,0 warp rachel51 1,1,ra_in01,292,144 +ra_in01,136,189,0 warp rachel52 1,1,ra_in01,179,189 +ra_in01,287,189,0 warp rachel53 1,1,ra_in01,240,189 +ra_in01,183,31,0 warp rachel54 1,1,ra_in01,239,21 +ra_in01,355,374,0 warp rachel55 1,1,ra_in01,308,374 +ra_in01,221,380,0 warp rachel56 1,1,ra_in01,287,371 +ra_in01,381,268,0 warp rachel57 1,1,ra_in01,387,200 +ra_in01,330,296,0 warp rachel58 1,1,ra_in01,371,255 +ra_in01,381,324,0 warp rachel59 1,1,ra_in01,319,299 +ra_in01,109,385,0 warp rachel60 1,1,ra_in01,174,370 +ra_in01,126,334,0 warp rachel61 1,1,ra_in01,169,369 +ra_in01,197,312,0 warp rachel62 1,1,ra_in01,245,299 +ra_in01,194,245,0 warp rachel63 1,1,ra_in01,190,302 +ra_in01,314,62,0 warp rachel64 1,1,ra_in01,361,61 +ra_in01,339,120,0 warp rachel65 1,1,ra_in01,297,63 + +ra_temin,169,18,0 warp rachel66 1,1,ra_temple,119,175 + +ra_temin,239,253,0 warp rachel67 1,1,ra_temin,130,88 +ra_temin,312,253,0 warp rachel68 1,1,ra_temin,206,88 +ra_temin,27,299,0 warp rachel69 1,1,ra_temin,275,328 + +ra_temsky,99,8,0 warp rachel70 1,1,ra_temin,275,231 + +ra_temsky,99,135,0 warp rachel71 1,1,ra_temsky,99,113 +ra_temsky,137,139,0 warp rachel72 1,1,ra_temsky,109,143 +ra_temsky,62,139,0 warp rachel73 1,1,ra_temsky,91,143 + +//rachel,25,125,0 warp rachel74 1,1,ra_fild11,353,226 +rachel,275,125,0 warp rachel75 1,1,ra_fild12,40,226 +rachel,130,21,0 warp rachel76 1,1,ve_fild02,195,377 + +que_rachel,130,93,0 warp rachel77 1,1,que_rachel,239,258 +que_rachel,206,93,0 warp rachel78 1,1,que_rachel,312,258 +que_rachel,275,332,0 warp rachel79 1,1,que_rachel,27,305 +que_rachel,239,253,0 warp rachel80 1,1,que_rachel,130,88 +que_rachel,312,253,0 warp rachel81 1,1,que_rachel,206,88 +que_rachel,27,299,0 warp rachel82 1,1,que_rachel,275,328 + +ra_in01,309,70,0 warp rachel83 1,1,rachel,108,175 +rachel,105,171,0 warp rachel84 1,1,ra_in01,309,65 +ra_in01,375,109,0 warp rachel85 1,1,rachel,116,154 +rachel,116,158,0 warp rachel86 1,1,ra_in01,375,114 + +//Additional Temple warp +ra_temin,275,243,0 warp rachel87 1,1,ra_temin,131,131 diff --git a/npc/re/warps/cities/yggdrasil.txt b/npc/re/warps/cities/yggdrasil.txt new file mode 100644 index 000000000..92f084372 --- /dev/null +++ b/npc/re/warps/cities/yggdrasil.txt @@ -0,0 +1,27 @@ +//===== rAthena Script ======================================= +//= Yggdrasil Tree Warp Script +//===== By: ================================================== +//= PKGINGO (1.0) +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= Any Athena Version; RO Episode 6+ +//===== Description: ========================================= +//= Warp Points for Yggdrasil Tree +//===== Additional Comments: ================================= +//= Extracted from Vidar -> Athena +//= 1.1 Renewal warp adjustments. +//============================================================ + +//Umbala Entrance +//um_dun02,125,163,0 warp nwarp1 1,1,yggdrasil01,40,63 + +// RE Yggdrasil Entrance +umbala,106,285,1 warp ygGate_yg1 1,1,yggdrasil01,39,63 + +//Niflheim Exit +yggdrasil01,249,262,0 warp nwarp5 1,1,nif_fild01,315,66 + +//Yggdrasil Tree +yggdrasil01,271,51,0 warp nwarp3 1,1,yggdrasil01,26,196 +yggdrasil01,26,193,0 warp nwarp4 1,1,yggdrasil01,269,53 diff --git a/npc/re/warps/dungeons/bra_dun.txt b/npc/re/warps/dungeons/bra_dun.txt new file mode 100644 index 000000000..a151ed645 --- /dev/null +++ b/npc/re/warps/dungeons/bra_dun.txt @@ -0,0 +1,17 @@ +//===== rAthena Script ======================================= +//= Brasilis Dungeon Warp +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Description: ========================================= +//= [Aegis Conversion] +//= Brasilis Dungeon warp script +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +bra_dun01,199,35,0 warp brad1tobrad2 1,1,bra_dun02,261,263 +bra_dun02,261,265,0 warp brad2tobrad1 1,1,bra_dun01,199,37 diff --git a/npc/re/warps/dungeons/dic_dun.txt b/npc/re/warps/dungeons/dic_dun.txt new file mode 100644 index 000000000..2af6d4445 --- /dev/null +++ b/npc/re/warps/dungeons/dic_dun.txt @@ -0,0 +1,25 @@ +//===== rAthena Script ======================================= +//= Scaraba Hole Warp Script +//===== By: ================================================== +//= Chilly, Muad_Dib +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Warp Points for Scaraba Hole +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Updated to match official script. [Joseph] +//============================================================ + +dic_dun01,87,212,0 warp scarabahole0001 1,1,dic_dun01,169,227 +dic_dun01,165,227,0 warp scarabahole0002 1,1,dic_dun01,83,212 +dic_dun01,371,228,0 warp scarabahole0003 1,1,dic_dun01,32,156 +dic_dun01,28,156,0 warp scarabahole0004 1,1,dic_dun01,367,228 +dic_dun01,371,172,0 warp scarabahole0005 1,1,dic_dun01,32,100 +dic_dun01,28,100,0 warp scarabahole0006 1,1,dic_dun01,367,172 +dic_dun02,102,148,0 warp scarabahole0007 1,1,dic_dun01,290,99 +dic_dun01,371,100,0 warp scarabahole0008 1,1,dic_dun01,33,43 +dic_dun01,29,43,0 warp scarabahole0009 1,1,dic_dun01,367,100 +dic_dun03,101,148,0 warp scarabahole0010 1,1,dic_dun01,286,102 diff --git a/npc/re/warps/dungeons/ecl_dun.txt b/npc/re/warps/dungeons/ecl_dun.txt new file mode 100644 index 000000000..6d6bb321a --- /dev/null +++ b/npc/re/warps/dungeons/ecl_dun.txt @@ -0,0 +1,24 @@ +//===== rAthena Script ======================================= +//= Eclage Dungeon Warp Script +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Warp Points for Eclage Dungeon +//===== Additional Comments: ================================= +//= 1.0 First Version. +//============================================================ + +ecl_fild01,182,82,0 warp eclage_dun0001 1,1,ecl_tdun01,60,13 +ecl_tdun01,61,11,0 warp eclage_dun0002 1,1,ecl_fild01,182,85 +ecl_tdun01,67,106,0 warp eclage_dun0003 1,1,ecl_tdun02,60,88 +ecl_tdun02,60,90,0 warp eclage_dun0004 1,1,ecl_tdun01,70,105 +ecl_tdun02,52,9,0 warp eclage_dun0005 1,1,ecl_tdun03,47,13 +ecl_tdun03,49,11,0 warp eclage_dun0006 1,1,ecl_tdun02,50,11 +ecl_tdun03,50,46,0 warp eclage_dun0007 1,1,ecl_tdun04,26,23 +ecl_tdun04,26,26,0 warp eclage_dun0008 1,1,ecl_tdun03,50,43 +ecl_tdun04,34,17,0 warp eclage_dun0009 1,1,ecl_fild01,183,73 +ecl_fild01,183,70,0 warp eclage_dun0010 1,1,ecl_tdun04,32,19 diff --git a/npc/re/warps/dungeons/iz_dun.txt b/npc/re/warps/dungeons/iz_dun.txt new file mode 100644 index 000000000..b912f62e1 --- /dev/null +++ b/npc/re/warps/dungeons/iz_dun.txt @@ -0,0 +1,18 @@ +//===== rAthena Script ======================================= +//= Izlude Dungeon Renewal Warp Script +//===== By: ================================================== +//= Athena (1.0) +//= Nana (1.1) +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Description: ========================================= +//= Warp Points for Bibilyn Island & Undersea Cave +//===== Additional Comments: ================================= +//= 1.2 Moved common warps to base path. [Euphy] +//============================================================ + +//= Undersea Cave ============================================ +iz_dun04,129,233,0 warp izd07 2,2,iz_dun05,141,187 +iz_dun05,141,190,0 warp izd07-1 2,2,iz_dun04,129,230 diff --git a/npc/re/warps/fields/bif_fild.txt b/npc/re/warps/fields/bif_fild.txt new file mode 100644 index 000000000..d6f6505e4 --- /dev/null +++ b/npc/re/warps/fields/bif_fild.txt @@ -0,0 +1,22 @@ +//===== rAthena Script ======================================= +//= Bifrost Field Warp Script +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Warp Points for Bifrost Field +//===== Additional Comments: ================================= +//= 1.0 First Version. +//============================================================ + +splendide,275,390,0 warp bifrost_field0001 1,1,bif_fild01,316,50 +bif_fild01,318,48,0 warp bifrost_field0002 1,1,splendide,275,387 +bif_fild02,285,333,0 warp bifrost_field0003 1,1,mora,179,74 +mora,182,74,0 warp bifrost_field0004 1,1,bif_fild02,285,330 +bif_fild02,95,310,0 warp bifrost_field0005 1,1,mora,22,157 +mora,20,159,0 warp bifrost_field0006 1,1,bif_fild02,98,309 +bif_fild02,174,162,0 warp bifrost_field0007 1,1,mora,58,27 +mora,56,25,0 warp bifrost_field0008 1,1,bif_fild02,177,162 diff --git a/npc/re/warps/fields/bra_fild.txt b/npc/re/warps/fields/bra_fild.txt new file mode 100644 index 000000000..1f0fe24ba --- /dev/null +++ b/npc/re/warps/fields/bra_fild.txt @@ -0,0 +1,16 @@ +//===== rAthena Script ======================================= +//= Brasilis Fild Warps Script +//===== By: ================================================== +//= Protimus +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Description: ========================================= +//= [Aegis Conversion] +//= Warp Points for Brasilis +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ +bra_fild01,72,34,0 warp bra_fild01_brasilis 1,1,brasilis,309,334 +brasilis,308,336,0 warp brasilis_bra_fild01 1,1,bra_fild01,74,34 diff --git a/npc/re/warps/fields/com_fild.txt b/npc/re/warps/fields/com_fild.txt new file mode 100644 index 000000000..765874af1 --- /dev/null +++ b/npc/re/warps/fields/com_fild.txt @@ -0,0 +1,51 @@ +//===== rAthena Script ======================================= +//= Comodo Field Warp Script +//===== By: ================================================== +//= Nana +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Description: ========================================= +//= [Aegis Conversion] +//= Warp Points for Comodo Fields +//===== Additional Comments: ================================= +//= 1.1 Rescripted to Aegis 10.3 Standards. [L0ne_W0lf] +//= 1.2 Renewal warp adjustments. +//============================================================ + +cmd_fild01,222,24,0 warp cmd_fild01-1 1,1,cmd_fild02,222,372 +cmd_fild01,362,73,0 warp cmd_fild01-2 1,1,cmd_fild03,27,68 +cmd_fild01,362,263,0 warp cmd_fild01-3 1,1,cmd_fild03,27,269 +cmd_fild02,222,376,0 warp cmd_fild02-1 1,1,cmd_fild01,222,30 +cmd_fild02,382,269,0 warp cmd_fild02-2 1,1,cmd_fild04,25,275 +cmd_fild02,358,95,0 warp cmd_fild02-3 1,1,cmd_fild04,35,94 +cmd_fild03,23,269,0 warp cmd_fild03-1 1,1,cmd_fild01,359,260 +cmd_fild03,23,68,0 warp cmd_fild03-2 1,1,cmd_fild01,359,76 +cmd_fild03,181,17,0 warp cmd_fild03-3 1,1,cmd_fild04,181,367 +//cmd_fild03,384,165,0 warp cmd_fild03-4 1,1,cmd_fild05,26,161 +cmd_fild04,21,275,0 warp cmd_fild04-1 1,1,cmd_fild02,378,264 +cmd_fild04,31,92,0 warp cmd_fild04-2 1,1,cmd_fild02,351,92 +cmd_fild04,376,287,0 warp cmd_fild04-3 1,1,cmd_fild06,26,288 +cmd_fild04,180,372,0 warp cmd_fild04-4 1,1,cmd_fild03,183,23 +//cmd_fild05,21,163,0 warp cmd_fild05-1 1,1,cmd_fild03,377,167 +//cmd_fild05,148,19,0 warp cmd_fild05-2 1,1,cmd_fild06,150,374 +//cmd_fild06,150,380,0 warp cmd_fild06-3 1,1,cmd_fild05,146,27 +cmd_fild06,21,285,0 warp cmd_fild06-4 1,1,cmd_fild04,371,288 +cmd_fild06,151,27,0 warp cmd_fild06-5 1,1,cmd_fild07,147,370 +cmd_fild06,368,96,0 warp cmd_fild06-6 1,1,cmd_fild08,25,102 +cmd_fild06,379,174,0 warp cmd_fild06-7 1,1,cmd_fild08,28,166 +cmd_fild06,372,359,0 warp cmd_fild06-8 1,1,cmd_fild08,31,359 +cmd_fild07,149,379,0 warp cmd_fild07-1 10,1,cmd_fild06,147,36 +cmd_fild07,389,186,0 warp cmd_fild07-2 1,3,cmd_fild09,18,170 +cmd_fild08,25,355,0 warp cmd_fild08-1 1,1,cmd_fild06,366,359 +cmd_fild08,25,170,0 warp cmd_fild08-2 1,1,cmd_fild06,374,167 +cmd_fild08,15,102,0 warp cmd_fild08-3 1,1,cmd_fild06,361,96 +cmd_fild08,76,31,0 warp cmd_fild08-4 2,1,cmd_fild09,76,375 +cmd_fild08,309,48,0 warp cmd_fild08-5 2,1,cmd_fild09,307,374 +cmd_fild08,354,324,0 warp cmd_fild08-6 1,1,moc_fild12,26,305 +cmd_fild09,12,170,0 warp cmd_fild09-1 1,4,cmd_fild07,382,184 +cmd_fild09,369,164,0 warp cmd_fild09-2 2,2,moc_fild18,55,170 +cmd_fild09,309,381,0 warp cmd_fild09-3 2,1,cmd_fild08,309,60 +cmd_fild09,75,382,0 warp cmd_fild09-4 2,1,cmd_fild08,75,42 +moc_fild18,51,170,0 warp moc_fild18-1 1,3,cmd_fild09,363,164 diff --git a/npc/re/warps/fields/dic_fild.txt b/npc/re/warps/fields/dic_fild.txt new file mode 100644 index 000000000..d49b5f5c7 --- /dev/null +++ b/npc/re/warps/fields/dic_fild.txt @@ -0,0 +1,20 @@ +//===== rAthena Script ======================================= +//= El Dicastes Field Warp Script +//===== By: ================================================== +//= Chilly, Muad_Dib +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Warp Points for El Dicastes Field +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Updated to match the official script. [Joseph] +//============================================================ + +dic_dun01,371,44,0 warp dic_field0001 1,1,dic_fild01,28,79 +dic_fild01,24,79,0 warp dic_field0002 1,1,dic_dun01,366,45 +dic_fild01,69,23,0 warp dic_field0003 1,1,dic_fild02,70,373 +dic_fild02,71,375,0 warp dic_field0004 1,1,dic_fild01,69,25 +dicastes01,199,34,0 warp dic_field0005 1,1,dic_fild01,149,279 diff --git a/npc/re/warps/fields/geffen_fild.txt b/npc/re/warps/fields/geffen_fild.txt new file mode 100644 index 000000000..08b0e46e2 --- /dev/null +++ b/npc/re/warps/fields/geffen_fild.txt @@ -0,0 +1,73 @@ +//===== rAthena Script ======================================= +//= Geffen Warp Script +//===== By: ================================================== +//= Nana (1.0) +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Description: ========================================= +//= Warp Points for Geffen Field's +//===== Additional Comments: ================================= +//= No comment! +//= 1.1 Renewal warp adjustments. +//============================================================ + +//= Geffen Field Warps ======================================= +gef_fild00,267,382,0 warp gef007 4,2,mjolnir_06,265,32 +gef_fild00,381,137,0 warp gef008 3,9,prt_fild00,24,125 +gef_fild00,40,199,0 warp gef009 2,7,geffen,213,119 +gef_fild01,382,111,0 warp gef010 2,9,prt_fild04,20,114 +gef_fild01,16,102,0 warp geff01 2,4,gef_fild09,368,92 +gef_fild01,69,17,0 warp geff02 4,2,gef_fild03,66,379 +gef_fild02,380,156,0 warp gef011 3,7,prt_fild07,21,143 +gef_fild02,380,289,0 warp gef012 3,12,prt_fild07,18,289 +gef_fild02,380,68,0 warp gef013 3,10,prt_fild07,17,64 +gef_fild02,266,18,0 warp gef026 5,2,prt_fild10,227,296 +gef_fild02,14,78,0 warp geff03 2,4,gef_fild03,379,77 +gef_fild02,16,275,0 warp geff04 2,4,gef_fild03,379,277 +gef_fild03,312,16,0 warp gef014 5,2,prt_fild11,302,298 +gef_fild03,66,382,0 warp geff02-1 4,2,gef_fild01,69,20 +gef_fild03,382,77,0 warp geff03-1 2,4,gef_fild02,17,78 +gef_fild03,382,277,0 warp geff04-1 2,4,gef_fild02,19,275 +gef_fild03,18,52,0 warp geff05 2,4,gef_fild10,367,56 +gef_fild04,187,39,0 warp gef015 4,2,geffen,119,210 +gef_fild04,261,362,0 warp gef016 4,2,mjolnir_01,284,21 +gef_fild04,362,322,0 warp gef017 2,4,mjolnir_06,21,331 +gef_fild04,16,309,0 warp geff06 2,6,gef_fild05,361,309 +gef_fild05,364,309,0 warp geff06-1 2,8,gef_fild04,19,309 +gef_fild05,15,201,0 warp geff07 2,4,gef_fild06,379,211 +gef_fild05,64,15,0 warp geff08 4,2,gef_fild07,64,360 +gef_fild06,382,211,0 warp geff07-1 2,4,gef_fild05,18,201 +gef_fild06,218,17,0 warp geff09 4,2,gef_fild08,200,352 +gef_fild07,339,187,0 warp gef025 2,4,geffen,29,119 +gef_fild07,64,363,0 warp geff08-1 4,2,gef_fild05,64,18 +gef_fild07,18,191,0 warp geff10 2,4,gef_fild08,357,187 +gef_fild07,40,19,0 warp geff13 1,1,gef_fild13,41,369 +gef_fild08,200,355,0 warp geff09-1 4,2,gef_fild06,218,20 +gef_fild08,360,187,0 warp geff10-1 2,4,gef_fild07,21,191 +//gef_fild08,215,18,0 warp geff14 1,1,gef_fild12,221,369 +gef_fild09,23,56,0 warp geff18-1 1,1,gef_fild13,376,56 +gef_fild09,225,25,0 warp geff11 3,2,gef_fild10,251,368 +gef_fild09,368,95,0 warp geff01-1 4,2,gef_fild01,19,102 +gef_fild10,251,371,0 warp geff11-1 5,2,gef_fild09,225,28 +gef_fild10,104,21,0 warp geff12 5,2,gef_fild11,114,360 +gef_fild10,370,56,0 warp geff05-1 2,5,gef_fild03,21,52 +gef_fild10,136,331,0 warp gef018 1,1,in_orcs01,122,171 +gef_fild10,138,284,0 warp gef019 1,1,in_orcs01,29,114 +gef_fild10,215,51,0 warp gef020 1,1,in_orcs01,162,53 +gef_fild10,223,205,0 warp gef021 1,1,in_orcs01,108,89 +gef_fild10,63,337,0 warp gef022 1,1,in_orcs01,30,157 +//gef_fild10,27,219,0 warp geff19-1 1,1,gef_fild14,367,219 +gef_fild11,377,293,0 warp gef023 2,4,prt_fild11,20,281 +gef_fild11,111,364,0 warp geff12-1 6,3,gef_fild10,104,24 +//gef_fild12,221,374,0 warp geff14-1 1,1,gef_fild08,215,25 +//gef_fild12,368,180,0 warp geff15 1,1,gef_fild13,29,202 +//gef_fild12,372,50,0 warp geff16 1,1,gef_fild13,29,59 +//gef_fild13,200,25,0 warp geff17 1,1,gef_fild14,180,357 +//gef_fild13,25,202,0 warp geff15-1 1,1,gef_fild12,364,180 +//gef_fild13,26,59,0 warp geff16-1 1,1,gef_fild12,370,50 +gef_fild13,380,56,0 warp geff18 1,1,gef_fild09,27,56 +gef_fild13,41,373,0 warp geff13-1 1,1,gef_fild07,40,23 +//gef_fild14,180,360,0 warp geff17-1 1,1,gef_fild13,200,29 +//gef_fild14,371,219,0 warp geff19 1,1,gef_fild10,31,219 diff --git a/npc/re/warps/fields/hugel_fild.txt b/npc/re/warps/fields/hugel_fild.txt new file mode 100644 index 000000000..8b5de97b2 --- /dev/null +++ b/npc/re/warps/fields/hugel_fild.txt @@ -0,0 +1,53 @@ +//===== rAthena Script ======================================= +//= Hugel Field Warp Script +//===== By: ================================================== +//= Sara-chan (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version; RO Episode 10+ +//===== Description: ========================================= +//= Warp Points for Hugel Field +//===== Additional Comments: ================================= +//= Initial Release +//= 1.1 Official warps [Playtester] +//= 1.2 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] +//= 1.3 Renewal warp adjustments. +//============================================================ + +//= Hugel Field ============================================== +ein_fild04,343,293,0 warp hugel001 1,1,ein_fild05,80,294 +ein_fild05,76,294,0 warp hugel001a 1,1,ein_fild04,336,292 +ein_fild05,376,183,0 warp hugel002 1,1,ein_fild06,47,166 +ein_fild06,42,171,0 warp hugel002a 1,1,ein_fild05,371,183 +//ein_fild02,357,251,0 warp hugel003-1 1,1,yuno_fild04,38,280 +//yuno_fild04,33,279,0 warp hugel003a-1 1,1,ein_fild02,350,250 +//ein_fild01,349,369,0 warp hugel003 1,1,yuno_fild05,43,346 +//yuno_fild05,41,350,0 warp hugel003a 1,1,ein_fild01,345,367 +//ein_fild01,106,34,0 warp hugel004 1,1,ein_fild02,109,358 +//ein_fild02,108,364,0 warp hugel004a 1,1,ein_fild01,106,40 +//ein_fild01,234,34,0 warp hugel005 1,1,ein_fild02,258,343 +//ein_fild02,257,350,0 warp hugel005a 1,1,ein_fild01,231,40 +//ein_fild02,170,29,0 warp hugel006 1,1,ein_fild05,172,366 +//ein_fild05,172,371,0 warp hugel006a 1,1,ein_fild02,170,37 +hu_fild01,366,185,0 warp hugel007 1,1,hu_fild02,22,168 +hu_fild02,17,168,0 warp hugel007a 1,1,hu_fild01,361,189 +hu_fild04,47,372,0 warp hugel008 1,1,hu_fild02,40,27 +hu_fild02,40,22,0 warp hugel008a 1,1,hu_fild04,48,368 +hu_fild04,294,379,0 warp hugel009 1,1,hu_fild02,280,31 +hu_fild02,283,28,0 warp hugel009a 1,1,hu_fild04,289,376 +//hu_fild05,284,356,0 warp hugel010 1,1,hu_fild03,288,26 +//hu_fild03,288,19,0 warp hugel010a 1,1,hu_fild05,276,346 +hu_fild05,353,126,0 warp hugel011 1,1,hu_fild06,34,119 +hu_fild06,28,119,0 warp hugel011a 1,1,hu_fild05,347,130 +hu_fild02,374,339,0 warp hugel012 1,1,hu_fild03,24,337 +//hu_fild03,20,338,0 warp hugel012a 1,1,hu_fild02,370,339 +hu_fild02,378,162,0 warp hugel013 1,1,hu_fild03,30,163 +//hu_fild03,25,163,0 warp hugel013a 1,1,hu_fild02,373,160 +//yuno_fild09,377,184,0 warp hugel014 1,1,yuno_fild10,44,183 +//yuno_fild10,39,183,0 warp hugel014a 1,1,yuno_fild09,371,184 + +// RE Addon +ein_fild01,106,34,0 warp EinF01Dn01_EinF05Up01 1,1,ein_fild05,172,366 +ein_fild01,234,34,0 warp EinF01Dn02_EinF05Up02 1,1,ein_fild05,172,366 +ein_fild05,172,371,0 warp EinF05Up01_EinF01Dn01 1,1,ein_fild01,106,40 diff --git a/npc/re/warps/fields/morroc_fild.txt b/npc/re/warps/fields/morroc_fild.txt new file mode 100644 index 000000000..6cd6c64b5 --- /dev/null +++ b/npc/re/warps/fields/morroc_fild.txt @@ -0,0 +1,119 @@ +//===== rAthena Script ======================================= +//= Morroc Field Warp Script +//===== By: ================================================== +//= Nana (1.0) +//===== Current Version: ===================================== +//= 1.4b +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Description: ========================================= +//= Warp Points for Morroc Fields +//===== Additional Comments: ================================= +//= 1.1 changed 'anthell' to @anthell [Lupus] +//= 1.2 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] +//= 1.3 Updated warps for episode 12.1 [L0ne_W0lf] +//= 1.4 Uncommented warp that shouldn't have been commented. [L0ne_W0lf] +//= 1.4a Uncommented yet ANOTHER warp that was taken out. [L0ne_W0lf] +//= 1.4b Uncommented ANOTHER warp! Yay! :D [L0ne_W0lf] +//============================================================ + +//= Sograt Dessert =========================================== +//moc_fild01,101,16,0 warp mocf01-1 15,3,moc_fild04,317,376 +moc_fild01,101,16,0 warp mocf01-1 15,3,moc_fild20,210,342 +moc_fild01,22,242,0 warp mocf005 2,2,prt_fild09,380,237 +moc_fild01,239,382,0 warp mocf006 12,1,prt_fild08,233,20 +moc_fild01,301,16,0 warp mocf02 10,1,moc_fild02,77,338 +moc_fild01,321,16,0 warp mocf02-1 10,1,moc_fild02,77,338 +moc_fild01,341,16,0 warp mocf02-2 10,1,moc_fild02,77,338 +moc_fild01,379,162,0 warp mocf011 2,12,pay_fild04,20,165 +moc_fild01,56,384,0 warp moc007a 3,2,prt_fild08,54,24 +//moc_fild01,68,16,0 warp mocf01 15,3,moc_fild04,317,376 +moc_fild02,228,29,0 warp mocf03 4,2,moc_fild13,298,367 +moc_fild02,332,19,0 warp mocf04 5,3,moc_fild03,70,336 +moc_fild02,350,339,0 warp mocf012 6,2,pay_fild04,194,20 +moc_fild02,67,342,0 warp mocf02-3 11,3,moc_fild01,315,25 +moc_fild02,71,18,0 warp mocf05 4,2,moc_fild13,146,365 +moc_fild02,92,342,0 warp mocf02-4 11,3,moc_fild01,315,25 +moc_fild03,17,37,0 warp mocf06 2,4,moc_fild13,305,49 +//moc_fild03,179,16,0 warp mocf013 4,2,pay_fild11,38,327 +moc_fild03,303,170,0 warp mocf014 2,7,pay_fild01,17,152 +moc_fild03,70,341,0 warp mocf04-1 5,2,moc_fild02,332,23 +//moc_fild04,14,122,0 warp mocf07-1 1,11,moc_fild05,378,119 +//moc_fild04,14,146,0 warp mocf07-2 1,11,moc_fild05,378,119 +//moc_fild04,14,98,0 warp mocf07 1,11,moc_fild05,378,119 +//moc_fild04,175,18,0 warp mocf08 3,2,moc_fild08,170,380 +//moc_fild04,19,206,0 warp mocf09 3,15,moc_fild05,373,208 +//moc_fild04,219,327,0 script mocf016 45,3,4,{ set @anthell,0; warp "anthell01",35,262; } +//moc_fild04,292,381,0 warp mocf01-2 10,1,moc_fild01,76,25 +//moc_fild04,314,381,0 warp mocf01-3 10,1,moc_fild01,76,25 +//moc_fild04,336,381,0 warp mocf01-4 10,1,moc_fild01,76,25 +//moc_fild04,92,381,0 warp mocf008 9,2,prt_fild09,246,19 +//moc_fild05,144,375,0 warp mocf009 11,2,prt_fild10,263,23 +//moc_fild05,18,136,0 warp mocf10 1,8,moc_fild06,367,317 +//moc_fild05,18,154,0 warp mocf10-1 1,8,moc_fild06,367,317 +//moc_fild05,18,172,0 warp mocf10-2 1,8,moc_fild06,367,317 +//moc_fild05,268,18,0 warp mocf11 4,2,moc_fild09,267,368 +//moc_fild05,325,382,0 warp mocf010 6,2,prt_fild09,95,19 +//moc_fild05,378,208,0 warp mocf09-1 3,14,moc_fild04,26,206 +//moc_fild05,384,108,0 warp mocf07-3 1,8,moc_fild04,22,123 +//moc_fild05,384,126,0 warp mocf07-4 1,8,moc_fild04,22,123 +//moc_fild05,384,144,0 warp mocf07-5 1,8,moc_fild04,22,123 +//moc_fild05,82,16,0 warp mocf12 5,2,moc_fild09,80,366 +//moc_fild06,18,198,0 warp mocf13 1,18,moc_fild07,378,201 +//moc_fild06,207,18,0 warp mocf14 11,2,moc_fild10,208,295 +//moc_fild06,377,316,0 warp mocf10-3 1,15,moc_fild05,24,153 +moc_fild07,198,21,0 warp mocf001 2,2,morocc,160,294 +//moc_fild07,381,201,0 warp mocf13-1 2,16,moc_fild06,28,201 +moc_fild07,380,201,0 warp mocf13-1 2,16,moc_fild20,36,177 +//moc_fild08,16,207,0 warp mocf15 2,4,moc_fild09,371,195 +//moc_fild08,170,383,0 warp mocf08-1 3,2,moc_fild04,175,21 +//moc_fild08,204,16,0 warp mocf16 4,2,moc_fild14,196,379 +//moc_fild08,383,211,0 warp mocf17 2,4,moc_fild13,32,171 +//moc_fild09,126,20,0 warp mocf18 4,2,moc_fild15,158,360 +//moc_fild09,267,371,0 warp mocf11-1 4,2,moc_fild05,268,21 +//moc_fild09,30,162,0 warp mocf19 2,3,moc_fild10,381,258 +//moc_fild09,374,195,0 warp mocf15-1 2,8,moc_fild08,19,207 +//moc_fild09,80,369,0 warp mocf12-1 7,2,moc_fild05,82,19 +//moc_fild10,189,23,0 warp mocf20 3,2,moc_fild11,189,360 +//moc_fild10,19,207,0 warp mocf002 2,2,morocc,299,207 +//moc_fild10,208,298,0 warp mocf14-1 10,2,moc_fild06,207,21 +//moc_fild10,384,258,0 warp mocf19-1 2,3,moc_fild09,33,162 +//moc_fild11,189,363,0 warp mocf20-1 3,2,moc_fild10,189,26 +moc_fild11,189,360,0 warp mocf20-1 3,2,moc_fild20,197,24 +moc_fild11,212,29,0 warp mocf21 4,2,moc_fild17,218,366 +moc_fild11,26,161,0 warp mocf22 2,10,moc_fild12,286,168 +//moc_fild11,379,197,0 warp mocf23 2,6,moc_fild15,41,105 +moc_fild11,377,197,0 warp mocf23 2,6,moc_fild20,36,177 +moc_fild12,118,30,0 warp mocf24 4,2,moc_fild18,158,379 +moc_fild12,159,381,0 warp mocf003 2,2,morocc,160,20 +moc_fild12,289,168,0 warp mocf22-1 2,3,moc_fild11,29,161 +moc_fild13,146,368,0 warp mocf05-1 5,2,moc_fild02,71,21 +//moc_fild13,29,171,0 warp mocf17-1 2,4,moc_fild08,380,211 +moc_fild13,32,171,0 warp mocf17-1 2,4,moc_fild20,349,179 +moc_fild13,298,370,0 warp mocf03-1 4,2,moc_fild02,228,32 +moc_fild13,308,49,0 warp mocf06-1 2,4,moc_fild03,20,37 +//moc_fild14,16,278,0 warp mocf25 2,6,moc_fild15,364,276 +//moc_fild14,196,382,0 warp mocf16-1 4,2,moc_fild08,204,19 +//moc_fild15,104,16,0 warp mocf26 9,2,moc_fild16,125,380 +//moc_fild15,158,363,0 warp mocf18-1 6,2,moc_fild09,126,23 +//moc_fild15,258,253,0 script mocf017 45,3,3,{ set @anthell,1; warp "anthell01",35,262; } +//moc_fild15,348,18,0 warp mocf27 5,2,moc_fild16,334,379 +//moc_fild15,367,276,0 warp mocf25-1 2,4,moc_fild14,19,278 +//moc_fild15,38,105,0 warp mocf23-1 2,4,moc_fild11,376,197 +//moc_fild16,125,383,0 warp mocf26-1 5,2,moc_fild15,104,19 +moc_fild16,124,381,0 warp mocf26-1 5,2,moc_fild20,197,24 +moc_fild16,16,179,0 warp mocf28 2,6,moc_fild17,366,272 +//moc_fild16,334,382,0 warp mocf27-1 4,2,moc_fild15,348,21 +moc_fild16,333,380,0 warp mocf27-1 4,2,moc_fild20,197,24 +moc_fild17,218,369,0 warp mocf21-1 5,2,moc_fild11,212,32 +moc_fild17,30,300,0 warp moc29 2,5,moc_fild18,379,305 +moc_fild17,369,272,0 warp mocf28-1 2,3,moc_fild16,19,179 +moc_fild18,158,382,0 warp mocf24-1 4,2,moc_fild12,118,33 +moc_fild18,382,305,0 warp moc29-1 2,4,moc_fild17,33,300 +moc_fild19,169,107,0 warp mocf004 1,4,morocc,27,164 +moc_fild19,71,170,0 warp mocf018 8,2,moc_ruins,71,19 +moc_fild19,98,99,0 warp mocf019 1,1,in_sphinx1,288,9 + +// Satan Morroc Addition +moc_fild21,26,196,0 warp mocf020 1,1,moc_fild20,349,179 +moc_fild22,32,196,0 warp mocf021 1,1,moc_fild20,349,179 diff --git a/npc/re/warps/fields/payon_fild.txt b/npc/re/warps/fields/payon_fild.txt new file mode 100644 index 000000000..d991f2280 --- /dev/null +++ b/npc/re/warps/fields/payon_fild.txt @@ -0,0 +1,50 @@ +//===== rAthena Script ======================================= +//= Payon Field Warps +//===== By: ================================================== +//= Nana (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any rAthena Mod +//===== Description: ========================================= +//= Payon Field Warps +//===== Additional Comments: ================================= +//= 1.1 Refixed payon field08 -> payon warp +//= 1.2 Changed trigger area of pay_fild08 -> payon warp. [L0ne_W0lf] +//= 1.3 Renewal warp adjustments. +//============================================================ + +//= Payon Field's ============================================ +pay_fild01,13,152,0 warp payf001 2,7,moc_fild03,299,170 +pay_fild01,278,14,0 warp payf01 13,2,pay_fild02,83,382 +pay_fild01,353,14,0 warp payf02 20,3,pay_fild02,160,381 +pay_fild01,379,201,0 warp payf03 2,6,pay_fild07,23,207 +//pay_fild02,134,16,0 warp payf04 5,2,pay_fild05,127,375 +//pay_fild02,16,175,0 warp payf06 2,4,pay_fild11,294,135 +pay_fild02,167,390,0 warp payf02-1 20,3,pay_fild01,354,18 +pay_fild02,284,108,0 warp payf07 2,7,pay_fild03,20,110 +pay_fild02,83,386,0 warp payf01-1 13,2,pay_fild01,278,18 +pay_fild03,15,110,0 warp payf07-1 2,10,pay_fild02,280,108 +pay_fild03,172,281,0 warp payf08 5,2,pay_fild07,167,20 +pay_fild03,313,16,0 warp payf09 4,2,pay_fild06,305,372 +pay_fild03,392,63,0 warp payf005 2,7,alberta,19,233 +pay_fild04,17,165,0 warp payf002 2,8,moc_fild01,376,162 +pay_fild04,194,17,0 warp payf003 7,2,moc_fild02,350,336 +//pay_fild05,127,378,0 warp payf04-1 4,2,pay_fild02,134,19 +//pay_fild05,271,284,0 warp payf10 2,4,pay_fild06,31,288 +//pay_fild06,28,288,0 warp payf10-1 2,2,pay_fild05,268,284 +pay_fild06,305,375,0 warp payf09-1 6,2,pay_fild03,313,19 +pay_fild07,16,200,0 warp payf03-1 3,3,pay_fild01,371,205 +pay_fild07,163,17,0 warp payf08-1 5,2,pay_fild03,177,275 +pay_fild07,280,382,0 warp payf11 4,2,pay_fild08,160,19 +pay_fild07,382,290,0 warp payf12 2,5,pay_fild10,19,290 +pay_fild08,160,16,0 warp payf11-1 4,2,pay_fild07,280,379 +pay_fild08,17,75,0 warp payf006 1,1,payon,265,92 +pay_fild08,262,91,0 warp payf13 2,4,pay_fild09,19,91 +pay_fild09,112,16,0 warp pay14 4,2,pay_fild10,112,379 +pay_fild09,16,91,0 warp payf13-1 2,4,pay_fild08,259,91 +pay_fild10,112,382,0 warp pay14-1 3,2,pay_fild09,112,19 +pay_fild10,16,290,0 warp payf12-1 2,5,pay_fild07,379,290 +pay_fild10,99,13,0 warp w1034 1,1,pay_fild10,148,252 +//pay_fild11,297,135,0 warp payf06-1 2,4,pay_fild02,19,175 +//pay_fild11,38,330,0 warp payf004 4,2,moc_fild03,179,19 diff --git a/npc/re/warps/fields/prontera_fild.txt b/npc/re/warps/fields/prontera_fild.txt new file mode 100644 index 000000000..16d3c8238 --- /dev/null +++ b/npc/re/warps/fields/prontera_fild.txt @@ -0,0 +1,106 @@ +//===== rAthena Script ======================================= +//= Prontera Field Warp Script +//===== By: ================================================== +//= Nana (1.0) +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Description: ========================================= +//= Warp Points for Prontera Field +//===== Additional Comments: ================================= +//= 1.1 updating according to jA [Lupus] +//= 1.2 Updated warps for episode 12.1 [L0ne_W0lf] +//= 1.3 Updated to match the new Izlude Map. [Masao] +//============================================================ + +//= Prontera Fields ========================================== +prt_fild00,159,383,0 warp prtf007 4,2,mjolnir_07,156,19 +prt_fild00,165,18,0 warp prtf01 9,3,prt_fild04,158,384 +prt_fild00,18,129,0 warp prtf015 2,6,gef_fild00,376,140 +prt_fild00,317,18,0 warp prtf02 8,2,prt_fild04,323,384 +prt_fild00,383,249,0 warp prtf008 2,4,mjolnir_09,33,248 +prt_fild01,136,373,0 warp prtf030 1,1,prt_maze01,99,31 +prt_fild01,199,24,0 warp prtf001 3,2,prt_gld,159,295 +prt_fild01,20,292,0 warp prtf009 2,3,mjolnir_09,370,288 +prt_fild01,261,373,0 warp prtf010 6,2,mjolnir_10,265,16 +prt_fild01,380,243,0 warp prtf03 2,5,prt_fild02,20,242 +prt_fild01,382,304,0 warp prtf04 2,10,prt_fild02,20,305 +prt_fild01,382,351,0 warp prtf05 2,8,prt_fild02,20,350 +prt_fild01,66,373,0 warp prtf011 2,2,mjolnir_10,66,18 +prt_fild02,17,242,0 warp prtf03-1 2,5,prt_fild01,377,243 +prt_fild02,17,305,0 warp prtf04-1 2,5,prt_fild01,379,302 +prt_fild02,17,350,0 warp prtf05-1 2,7,prt_fild01,379,351 +prt_fild02,173,382,0 warp prtf012 4,2,mjolnir_11,174,23 +prt_fild02,305,17,0 warp prtf06 10,2,prt_fild06,277,315 +prt_fild02,380,347,0 warp prtf07 2,10,prt_fild03,23,249 +prt_fild03,16,249,0 warp prtf07-1 2,10,prt_fild02,373,353 +prt_fild03,371,256,0 warp prtf006 2,2,prt_monk,25,248 +prt_fild04,160,387,0 warp prtf01-1 10,2,prt_fild00,164,24 +prt_fild04,17,114,0 warp prtf016 2,10,gef_fild01,375,111 +prt_fild04,323,387,0 warp prtf02-1 7,2,prt_fild00,315,21 +prt_fild04,378,72,0 warp prtf08 2,6,prt_fild05,17,59 +prt_fild04,384,155,0 warp prtf09 2,7,prt_fild05,20,134 +prt_fild04,384,334,0 warp prtf10 2,6,prt_fild05,20,333 +prt_fild05,105,381,0 warp prtf013 5,2,mjolnir_09,106,34 +prt_fild05,13,63,0 warp prtf08-1 2,15,prt_fild04,374,73 +prt_fild05,134,14,0 warp prtf11 14,3,prt_fild07,129,374 +prt_fild05,14,141,0 warp prtf09-1 2,18,prt_fild04,380,158 +prt_fild05,15,333,0 warp prtf10-1 2,8,prt_fild04,380,332 +prt_fild05,255,14,0 warp prtf12 12,2,prt_fild07,248,369 +prt_fild05,292,385,0 warp prtf014 4,2,mjolnir_09,305,33 +prt_fild05,373,205,0 warp prtf002 3,3,prontera,26,203 +prt_fild06,23,193,0 warp prtf003 2,3,prontera,285,203 +prt_fild06,277,320,0 warp prtf06-1 10,2,prt_fild02,305,22 +prt_fild07,13,64,0 warp prtf017 3,8,gef_fild02,376,69 +prt_fild07,132,381,0 warp prtf11-1 9,3,prt_fild05,142,18 +prt_fild07,14,289,0 warp prtf018 3,10,gef_fild02,375,292 +prt_fild07,17,145,0 warp prtf019 3,12,gef_fild02,376,156 +prt_fild07,206,12,0 warp prtf13 4,2,prt_fild09,224,377 +prt_fild07,248,376,0 warp prtf12-1 8,2,prt_fild05,257,18 +prt_fild07,383,239,0 warp prtf14 3,20,prt_fild08,20,239 +prt_fild07,385,186,0 warp prtf15 3,20,prt_fild08,20,186 +prt_fild07,84,13,0 warp prtf16 4,2,prt_fild09,87,377 +prt_fild08,16,187,0 warp prtf15-1 3,17,prt_fild07,380,186 +prt_fild08,16,239,0 warp prtf14-1 3,15,prt_fild07,379,239 +prt_fild08,170,378,0 warp prtf004 3,2,prontera,156,26 +prt_fild08,233,16,0 warp prtf023 12,1,moc_fild01,238,378 +prt_fild08,371,212,0 warp prtf005 3,3,izlude,26,98 +prt_fild08,55,21,0 warp prtf024 4,2,moc_fild01,56,380 +prt_fild09,14,124,0 warp prtf17 2,6,prt_fild10,336,126 +prt_fild09,14,139,0 warp prtf17-1 2,8,prt_fild10,336,126 +prt_fild09,224,380,0 warp prtf13-1 4,2,prt_fild07,206,15 +//prt_fild09,246,16,0 warp prtf025 7,2,moc_fild04,92,378 +prt_fild09,246,17,0 warp prtf025 7,2,moc_fild20,209,333 +prt_fild09,383,223,0 warp prtf026 2,15,moc_fild01,25,242 +prt_fild09,383,251,0 warp prtf027 2,15,moc_fild01,25,242 +prt_fild09,87,380,0 warp prtf16-1 5,2,prt_fild07,84,16 +//prt_fild09,95,16,0 warp prtf028 7,2,moc_fild05,325,379 +prt_fild09,95,19,0 warp prtf028 7,2,moc_fild20,209,333 +prt_fild10,20,122,0 warp prtf19 2,4,prt_fild11,359,111 +prt_fild10,20,196,0 warp prtf20 2,4,prt_fild11,358,184 +prt_fild10,227,299,0 warp prtf020 5,2,gef_fild02,266,21 +//prt_fild10,263,20,0 warp prtf029 6,2,moc_fild05,144,372 +prt_fild10,263,22,0 warp prtf029 6,2,moc_fild20,209,333 +prt_fild10,339,126,0 warp prtf17-2 2,8,prt_fild09,17,133 +prt_fild11,17,281,0 warp prtf021 2,4,gef_fild11,374,293 +prt_fild11,302,301,0 warp prtf022 5,2,gef_fild03,312,19 +prt_fild11,361,184,0 warp prtf20-1 2,5,prt_fild10,23,196 +prt_fild11,362,111,0 warp prtf19-1 2,6,prt_fild10,23,122 + +//= St. Capitolina Abbey ===================================== +monk_in,128,46,0 warp monk03 1,3,monk_in,161,38 +monk_in,128,84,0 warp monk04 1,3,monk_in,161,90 +monk_in,159,38,0 warp monk03-1 1,3,monk_in,126,46 +monk_in,159,90,0 warp monk04-1 1,3,monk_in,126,84 +monk_in,40,38,0 warp monk05 1,3,monk_in,71,46 +monk_in,40,92,0 warp monk06 1,3,monk_in,71,84 +monk_in,69,46,0 warp monk05-1 1,3,monk_in,38,38 +monk_in,69,84,0 warp monk06-1 1,3,monk_in,38,92 +monk_in,98,186,0 warp monk02-1 3,2,prt_monk,245,139 +monk_in,98,27,0 warp monk01-1 5,2,prt_monk,245,104 +monk_in,99,102,0 warp monk07 5,1,monk_in,99,143 +monk_in,99,141,0 warp monk07-1 3,1,monk_in,99,100 +prt_monk,22,248,0 warp monk001 2,2,prt_fild03,368,256 +prt_monk,245,106,0 warp monk01 1,1,monk_in,98,30 +prt_monk,245,137,0 warp monk02 1,1,monk_in,98,183 diff --git a/npc/re/warps/fields/rachel_fild.txt b/npc/re/warps/fields/rachel_fild.txt new file mode 100644 index 000000000..475557200 --- /dev/null +++ b/npc/re/warps/fields/rachel_fild.txt @@ -0,0 +1,48 @@ +//===== rAthena Script ======================================= +//= Rachel Field Warp Script +//===== By: ================================================== +//= Playtester +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Description: ========================================= +//= Warp Points for Rachel Field +//===== Additional Comments: ================================= +//= 1.0 Initial version [Playtester] +//= 1.1 Official warps [Playtester] +//= 1.2 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] +//= 1.3 Renewal warp adjustments. +//============================================================ + +ra_fild01,233,333,0 warp ra000 1,1,ice_dun01,157,15 +ra_fild01,306,38,0 warp ra001 1,1,ra_fild04,322,371 +ra_fild04,322,378,0 warp ra002 1,1,ra_fild01,306,43 +ra_fild04,362,351,0 warp ra003 1,1,ra_fild05,39,353 +ra_fild05,33,353,0 warp ra004 1,1,ra_fild04,356,351 +//ra_fild05,27,13,0 warp ra005 1,1,ra_fild09,30,337 +//ra_fild09,29,343,0 warp ra006 1,1,ra_fild05,31,17 +ra_fild04,263,54,0 warp ra007 1,1,ra_fild08,287,365 +ra_fild08,287,370,0 warp ra008 1,1,ra_fild04,263,60 +//ra_fild09,27,238,0 warp ra009 1,1,ra_fild08,360,234 +//ra_fild08,368,234,0 warp ra010 1,1,ra_fild09,35,238 +ra_fild04,23,176,0 warp ra011 1,1,ra_fild03,370,172 +ra_fild03,374,168,0 warp ra012 1,1,ra_fild04,29,176 +ra_fild05,348,274,0 warp ra013 1,1,ra_fild06,24,277 +ra_fild06,19,277,0 warp ra014 1,1,ra_fild05,341,273 +ra_fild06,294,21,0 warp ra015 1,1,lhz_fild01,296,376 +lhz_fild01,296,382,0 warp ra016 1,1,ra_fild06,298,25 +ra_fild12,36,225,0 warp ra017 1,1,rachel,270,125 +ra_fild08,165,29,0 warp ra018 1,1,ra_fild12,149,369 +ra_fild12,149,374,0 warp ra019 1,1,ra_fild08,165,36 +//ra_fild12,303,27,0 warp ra020 1,1,ra_fild13,295,341 +//ra_fild13,295,346,0 warp ra021 1,1,ra_fild12,303,33 +//ra_fild11,360,226,0 warp ra022 1,1,rachel,30,125 +//ra_fild11,21,290,0 warp ra023 1,1,ra_fild10,379,283 +//ra_fild10,384,287,0 warp ra024 1,1,ra_fild11,28,290 +//ra_fild11,202,335,0 warp ra025a 1,1,ra_fild07,215,32 +//ra_fild07,215,27,0 warp ra025b 1,1,ra_fild11,201,329 +//ra_fild07,168,353,0 warp ra026 1,1,ra_fild02,171,45 +//ra_fild02,168,36,0 warp ra027 1,1,ra_fild07,168,349 +//ra_fild02,373,275,0 warp ra028 1,1,ra_fild03,28,294 +//ra_fild03,23,294,0 warp ra029 1,1,ra_fild02,367,270 diff --git a/npc/re/warps/fields/veins_fild.txt b/npc/re/warps/fields/veins_fild.txt new file mode 100644 index 000000000..ac05163ff --- /dev/null +++ b/npc/re/warps/fields/veins_fild.txt @@ -0,0 +1,55 @@ +//===== rAthena Script ======================================= +//= Veins Field Warp Script +//===== By: ================================================== +//= $ephiroth +//===== Current Version: ===================================== +//= 1.5 +//===== Compatible With: ===================================== +//= Any Athena Version +//===== Description: ========================================= +//= Warp Points for Veins Field +//===== Additional Comments: ================================= +//= 1.4 Rescripted to Aegis 11.2 Standards. [L0ne_W0lf] +//= 1.5 Renewal warp adjustments. +//============================================================ + +ve_fild01,366,267,0 warp ve_fild1-1 1,1,ve_fild02,36,263 +ve_fild01,184,20,0 warp ve_fild1-2 1,1,ve_fild04,174,334 +//ra_fild11,233,27,0 warp ve_fild1-3 1,1,ve_fild01,243,363 +//ve_fild01,243,368,0 warp ve_fild1-4 1,1,ra_fild11,232,32 +ve_fild01,350,92,0 warp ve_fild1-5 1,1,ve_fild02,78,133 +//ra_fild13,29,308,0 warp ve_fild2-1 1,1,ve_fild02,380,308 +//ve_fild02,385,308,0 warp ve_fild2-2 1,1,ra_fild13,34,308 +ve_fild02,195,382,0 warp ve_fild2-3 1,1,rachel,130,25 +ve_fild02,31,263,0 warp ve_fild2-4 1,1,ve_fild01,361,267 +ve_fild02,73,133,0 warp ve_fild2-5 1,1,ve_fild01,345,92 +ve_fild03,355,223,0 warp ve_fild3-1 1,1,ve_fild04,49,249 +//ve_fild03,222,43,0 warp ve_fild3-2 1,1,ve_fild05,200,325 +ve_fild04,174,339,0 warp ve_fild4-1 1,1,ve_fild01,184,25 +ve_fild04,44,249,0 warp ve_fild4-2 1,1,ve_fild03,350,220 +ve_fild04,115,50,0 warp ve_fild4-3 1,1,ve_fild06,80,183 +//ve_fild05,200,330,0 warp ve_fild5-1 1,1,ve_fild03,222,48 +//ve_fild05,359,192,0 warp ve_fild5-2 1,1,ve_fild06,80,183 +ve_fild06,153,220,0 warp ve_fild6-1 1,1,veins,218,355 +/* +ve_fild06,81,177,0 script ve_fild6-2 45,1,1,{ + if (rand(2)) + warp "ve_fild04",115,55; + else + warp "ve_fild05",354,191; + end; +} +*/ +ve_fild07,147,371,0 warp ve_fild7-1 1,1,veins,146,28 + +// Renewal Addon +ve_fild06,81,177,0 warp VeF06S_VeF04S 1,1,ve_fild04,115,55 + +//============================================================ +// Old changelog +//============================================================ +//= 1.0 Initial version [$ephiroth] +//= 1.1 Updated more warps [$ephiroth] +//= 1.2 Removed some unofficial warps [Playtester] +//= 1.3 Added random Veins exit [Playtester] +//============================================================ diff --git a/npc/re/warps/fields/yuno_fild.txt b/npc/re/warps/fields/yuno_fild.txt new file mode 100644 index 000000000..32d1924f5 --- /dev/null +++ b/npc/re/warps/fields/yuno_fild.txt @@ -0,0 +1,90 @@ +//===== rAthena Script ======================================= +//= Yuno Field Warp Script +//===== By: ================================================== +//= Nana (1.0), Sara +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any Athena Version; RO Episode 5+ +//===== Description: ========================================= +//= Warp Points for Yuno Field +//===== Additional Comments: ================================= +//= 1.1 - Updated for the new Yuno Fields +//= 1.2 New field update - Hugel Field by Sara - Version 1 +//= 1.3 Renewal warp adjustments. +//============================================================ + +//= Yuno Field =============================================== +//yuno_fild01,286,368,0 warp yunfild01 1,1,yuno_fild02,294,26 +//yuno_fild02,294,24,0 warp yunfild01-1 1,1,yuno_fild01,286,366 +//yuno_fild01,70,378,0 warp yunfild02 1,1,yuno_fild02,70,25 +//yuno_fild02,70,23,0 warp yunfild02-1 1,1,yuno_fild01,70,376 + +yuno_fild02,18,337,0 warp yunfild03 1,1,yuno_fild03,381,331 +yuno_fild03,383,331,0 warp yunfild03-1 1,1,yuno_fild02,20,337 +yuno_fild03,19,79,0 warp yunfild04 1,1,yuno_fild04,373,84 +yuno_fild04,375,84,0 warp yunfild04-1 1,1,yuno_fild03,21,79 +yuno_fild03,20,155,0 warp yunfild05 1,1,yuno_fild04,373,150 +yuno_fild04,375,150,0 warp yunfild05-1 1,1,yuno_fild03,22,155 +yuno_fild04,231,288,0 warp yunfild-yun 1,1,yuno,158,17 +yuno_fild03,32,139,0 warp yunfild-mag01 1,1,mag_dun01,126,68 + +//= New Yuno Fields ========================================== +yuno_fild01,26,246,0 warp newjun01 1,1,yuno_fild12,373,239 +yuno_fild12,375,239,0 warp newjun01a 1,1,yuno_fild01,28,246 +yuno_fild12,23,338,0 warp newjun02 1,1,yuno_fild11,366,361 +yuno_fild11,368,361,0 warp newjun02a 1,1,yuno_fild12,25,338 +yuno_fild12,24,225,0 warp newjun03 1,1,yuno_fild11,363,218 +yuno_fild11,365,218,0 warp newjun03a 1,1,yuno_fild12,24,227 +yuno_fild07,92,12,0 warp newjun04 1,1,yuno_fild11,92,369 +yuno_fild11,92,371,0 warp newjun04a 1,1,yuno_fild07,92,14 +yuno_fild12,193,371,0 warp newjun05 1,1,yuno_fild08,143,21 +yuno_fild08,145,21,0 warp newjun05a 1,1,yuno_fild12,195,371 +yuno_fild01,70,378,0 warp newjun06 1,1,yuno_fild09,70,19 +yuno_fild09,70,17,0 warp newjun06a 1,1,yuno_fild01,70,376 +yuno_fild01,286,368,0 warp newjun07 1,1,yuno_fild09,280,30 +yuno_fild09,280,28,0 warp newjun07a 1,1,yuno_fild01,286,366 +yuno_fild09,19,194,0 warp newjun08 1,1,yuno_fild08,374,193 +yuno_fild08,376,193,0 warp newjun08a 1,1,yuno_fild09,21,194 +yuno_fild08,20,278,0 warp newjun09 1,1,yuno_fild07,352,291 +yuno_fild07,354,291,0 warp newjun09a 1,1,yuno_fild08,22,278 +yuno_fild08,31,58,0 warp newjun10 1,1,yuno_fild07,358,72 +yuno_fild07,360,72,0 warp newjun10a 1,1,yuno_fild08,33,58 + +//= (By speculation only) ==================================== +yuno_fild07,179,354,0 warp newjun11 1,1,yuno_fild03,179,17 +yuno_fild03,179,15,0 warp newjun11a 1,1,yuno_fild07,179,352 +yuno_fild08,74,376,0 warp newjun12 1,1,yuno_fild02,70,25 +yuno_fild02,70,23,0 warp newjun12a 1,1,yuno_fild08,74,374 +yuno_fild08,286,386,0 warp newjun13 1,1,yuno_fild02,294,26 +yuno_fild02,294,24,0 warp newjun13a 1,1,yuno_fild08,286,384 +//yuno_fild04,42,369,0 warp newjun14 1,1,yuno_fild05,59,30 +//yuno_fild05,59,28,0 warp newjun14a 1,1,yuno_fild04,42,367 + + +//= Al de Baran <-> Yuno Connection ========================== +aldebaran,140,244,0 warp alde-yunfild 1,1,yuno_fild01,208,19 +yuno_fild01,208,17,0 warp yunfild-alde 1,1,aldebaran,140,242 + +//= Hugel Field +//= Version 1 +//yuno_fild05,370,321,0 warp hu001 1,1,yuno_fild06,48,322 +//yuno_fild06,41,319,0 warp hu001a 1,1,yuno_fild05,366,319 +yuno_fild06,214,27,0 warp hu002 1,1,yuno_fild03,215,375 +yuno_fild03,215,382,0 warp hu002a 1,1,yuno_fild06,218,33 +yuno_fild06,369,132,0 warp hu003 1,1,hu_fild04,34,126 +hu_fild04,27,126,0 warp hu003a 1,1,yuno_fild06,362,132 +hu_fild04,122,27,0 warp hu004 1,1,yuno_fild02,114,370 +yuno_fild02,117,375,0 warp hu004a 1,1,hu_fild04,122,35 +yuno_fild06,151,370,0 warp hu005 1,1,hu_fild01,135,42 +hu_fild01,141,36,0 warp hu005a 1,1,yuno_fild06,156,368 +hu_fild04,380,183,0 warp hu006 1,1,hu_fild05,39,206 +hu_fild05,33,198,0 warp hu006a 1,1,hu_fild04,373,181 +//hu_fild05,89,43,0 warp hu007 1,1,hu_fild07,80,365 +//hu_fild07,81,370,0 warp hu007a 1,1,hu_fild05,89,50 +//hu_fild07,36,352,0 warp hu008 1,1,yuno_fild02,378,336 +//yuno_fild02,383,339,0 warp hu008a 1,1,hu_fild07,42,351 +//hu_fild07,57,37,0 warp hu009 1,1,yuno_fild09,48,370 +//yuno_fild09,48,376,0 warp hu009a 1,1,hu_fild07,58,42 +//hu_fild07,226,38,0 warp hu010 1,1,yuno_fild09,220,368 +//yuno_fild09,220,373,0 warp hu010a 1,1,hu_fild07,224,43 diff --git a/npc/re/warps/other/jobquests.txt b/npc/re/warps/other/jobquests.txt new file mode 100644 index 000000000..5dec2077c --- /dev/null +++ b/npc/re/warps/other/jobquests.txt @@ -0,0 +1,44 @@ +//===== rAthena Script ======================================= +//= Job Quest Renewal Warp Script +//===== By: ================================================== +//= Athena (1.0) +//===== Current Version: ===================================== +//= 2.2 +//===== Compatible With: ===================================== +//= Any Athena Version; RO Version Ep4+ +//===== Description: ========================================= +//= Warp Points for Job Quest Maps +//===== Additional Comments: ================================= +//= 2.1 Added one Shadow Chaser job warp. [Euphy] +//= 2.2 Moved common warps to base path, added warps. [Euphy] +//============================================================ + +//============================================================================== +//Arch Bishop +//============================================================================== +job3_arch01,29,24,0 warp #archout 1,1,odin_tem02,282,263 + +//============================================================================== +//Guillotine Cross +//============================================================================== +veins,257,256,0 warp #gate_to_guil01 1,1,job3_guil01,9,93 +job3_guil01,6,93,0 warp #gate_to_guil02 1,1,veins,254,255 +job3_guil01,18,48,0 warp #gate_to_guil03 1,1,job3_guil01,68,91 +job3_guil01,67,95,0 warp #gate_to_guil04 1,1,job3_guil01,18,53 +job3_guil01,65,50,0 warp #gate_to_guil06 1,1,job3_guil01,83,77 +job3_guil01,11,4,0 warp #gate_to_guil08 1,1,job3_guil01,51,50 +job3_guil01,79,27,0 warp #gate_to_guil10 1,1,job3_guil01,51,50 +job3_guil01,143,61,0 warp #gate_to_guil11 1,1,job3_guil01,51,50 + +//============================================================================== +//Genetic +//============================================================================== +lighthalzen,52,132,0 warp #lighttogen 1,1,job3_gen01,45,50 +job3_gen01,49,49,0 warp #gentolight 1,1,lighthalzen,54,132 +job3_gen01,7,59,0 warp #from1to2gen 1,1,job3_gen01,72,52 +job3_gen01,71,56,0 warp #from2to1gen 1,1,job3_gen01,11,60 + +//============================================================================== +//Shadow Chaser +//============================================================================== +job3_sha01,71,19,0 warp shadowc1 1,1,tha_t01,149,224
\ No newline at end of file diff --git a/npc/re/warps/other/paradise.txt b/npc/re/warps/other/paradise.txt new file mode 100644 index 000000000..fec766ec4 --- /dev/null +++ b/npc/re/warps/other/paradise.txt @@ -0,0 +1,25 @@ +//===== rAthena Script ======================================= +//= Paradise Group Warp Script +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN; +//===== Description: ========================================= +//= Warp Points for Paradise Group +//===== Additional Comments: ================================= +//= 1.0 First Release +//============================================================ + +moc_para01,57,27,0 warp #warp_2_pub 1,1,moc_para01,162,26 +moc_para01,158,26,0 warp #warp_2_din_1 1,1,moc_para01,55,27 +moc_para01,48,16,0 warp #warp_2_2f 1,1,moc_para01,48,164 +moc_para01,47,161,0 warp #warp_2_1f 1,1,moc_para01,47,18 +moc_para01,107,12,0 warp #warp_2_din_2 1,1,moc_para01,47,37 +moc_para01,100,27,0 warp #warp_2_gym 1,1,moc_para01,47,85 +moc_para01,49,86,0 warp #warp_2_pass_1 1,1,moc_para01,103,27 +moc_para01,113,32,0 warp #warp_2_ware 1,1,moc_para01,105,92 +moc_para01,102,92,0 warp #warp_2_pass_2 1,1,moc_para01,109,33 +moc_para01,41,187,0 warp #warp_2_room2 1,1,moc_para01,179,93 +moc_para01,179,90,0 warp #warp_2_2fhall_3 1,1,moc_para01,41,185 diff --git a/npc/re/warps/other/s_workshop.txt b/npc/re/warps/other/s_workshop.txt new file mode 100644 index 000000000..884d77202 --- /dev/null +++ b/npc/re/warps/other/s_workshop.txt @@ -0,0 +1,31 @@ +//===== rAthena Script ======================================= +//= Shadow Workshop Warp Script +//===== By: ================================================== +//= Chilly +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Warp Points for Shadow Workshop +//===== Additional Comments: ================================= +//= 1.0 First Release +//= 1.1 Added warps for Shadow Chaser job quest. [Euphy] +//============================================================ + +rachel,180,115,0 warp s_atelier0001 1,1,s_atelier,131,72 +s_atelier,131,75,0 warp s_atelier0002 1,1,rachel,180,118 +s_atelier,117,71,0 warp s_atelier0003 1,1,s_atelier,169,72 +s_atelier,166,72,0 warp s_atelier0004 1,1,s_atelier,117,68 +prontera,272,108,0 warp s_atelier0005 1,1,s_atelier,13,119 +s_atelier,9,119,0 warp s_atelier0006 1,1,prontera,269,108 +s_atelier,31,128,0 warp s_atelier0007 1,1,s_atelier,76,125 +s_atelier,76,128,0 warp s_atelier0008 1,1,s_atelier,28,128 +s_atelier,19,79,0 warp s_atelier0009 1,1,lighthalzen,41,58 +lighthalzen,41,52,0 warp s_atelier0010 1,1,s_atelier,18,72 +s_atelier,32,65,0 warp s_atelier0011 1,1,s_atelier,80,59 +s_atelier,80,66,0 warp s_atelier0012 1,1,s_atelier,32,56 +s_atelier,109,129,0 warp s_atelier0013 1,1,s_atelier,159,125 +s_atelier,160,130,0 warp s_atelier0014 1,1,s_atelier,114,129 +yuno,278,66,0 warp s_atelier0015 1,1,s_atelier,111,122 +s_atelier,107,122,0 warp s_atelier0016 1,1,yuno,274,66
\ No newline at end of file diff --git a/npc/re/warps/other/sign.txt b/npc/re/warps/other/sign.txt new file mode 100644 index 000000000..fb24620f8 --- /dev/null +++ b/npc/re/warps/other/sign.txt @@ -0,0 +1,39 @@ +//===== rAthena Script ======================================= +//= Sign Quest Warps +//===== By: ================================================== +//= MasterOfMuppets +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= Any Athena Version; RO Episode 8+ +//===== Description: ========================================= +//= Warp Points related to the Sign Quest will be put here +//===== Additional Comments: ================================= +//= 1.0 A few warps. [MasterOfMuppets] +//= 1.1 A few more warps. [MasterOfMuppets] +//= 1.2 Completed the warps [MasterOfMuppets] +//= 1.3 Correct AEGIS Warps. [Kisuka] +//= 1.4 Added Renewal Changes. [Kisuka] +//============================================================ + +cmd_in01,17,34,0 warp sign01 1,1,comodo,187,164 + +geffen,140,99,0 warp sign02 1,1,geffen_in,165,50 +geffen_in,165,54,0 warp sign02a 1,1,geffen,138,104 + +himinn,49,6,0 warp sign03 1,1,gef_fild07,179,241 + +himinn,49,67,0 warp sign04 1,1,himinn,49,75 +himinn,49,72,0 warp sign04a 1,1,himinn,49,63 + +um_in,33,18,0 warp sign05 1,1,um_in,89,11 +um_in,89,9,0 warp sign05a 1,1,um_in,33,16 + +umbala,107,118,0 warp sign06 1,1,um_in,15,20 +um_in,11,18,0 warp sign06a 1,1,umbala,111,121 + +que_sign01,113,132,0 warp sign07 1,1,nif_in,117,173 + +que_sign01,45,15,0 warp sign08 1,1,niflheim,146,245 + +que_sign02,22,313,0 warp sign09 1,1,niflheim,30,156 |