From a672f33c0df7df8cf5c15e4953d6231a862a98ca Mon Sep 17 00:00:00 2001 From: L0ne_W0lf Date: Mon, 15 Oct 2007 03:01:46 +0000 Subject: Updated Archer, Mage, and Thief quest skill NPCs. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11471 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/quests/skills/archer_skills.txt | 475 ++++++++++++-------- npc/quests/skills/mage_skills.txt | 239 ++++++---- npc/quests/skills/thief_skills.txt | 872 +++++++++++++++++++++--------------- 3 files changed, 930 insertions(+), 656 deletions(-) (limited to 'npc/quests/skills') diff --git a/npc/quests/skills/archer_skills.txt b/npc/quests/skills/archer_skills.txt index 825c6b7a1..d4fcded27 100644 --- a/npc/quests/skills/archer_skills.txt +++ b/npc/quests/skills/archer_skills.txt @@ -3,12 +3,284 @@ //===== By: ================================================== //= eAthena dev team //===== Current Version: ===================================== -//= 1.4b -//===== Compatible With: ===================================== -//= eAthena 7.15 + -//===== Description: ========================================= -//= Arrow crafting, Arrow Repel skills -//===== Additional Comments: ================================= +//= 1.5 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Quest for skills: Arrow Crafting, Arrow Repel +//===== Additional Comments: ================================= +//= 1.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] +//============================================================ + +morocc,121,109,5 script Roberto#qsk_ac 88,{ + if (BaseClass == Job_Archer) { + if (getskilllv(147) == 1) { + mes "[Roberto]"; + mes "Ooh, you're from my home town!"; + mes "Nice to see you!"; + mes "How are you?"; + mes "Ah! That arrow!"; + mes "You made it, didn't you!"; + next; + mes "[Roberto]"; + mes "Haha...!"; + mes "Do you think it's a lot better?"; + mes "Haha... anyways, I am glad."; + mes "Come back with once in a while"; + mes "with news from home."; + mes "Then byebye~"; + close; + } + else if ((Basejob == Job_Archer && JobLevel >= 30) || BaseJob == Job_Hunter || BaseJob == Job_Dancer || BaseJob == Job_Bard) { + mes "[Roberto]"; + mes "Eh!"; + mes " "; + mes "You are..."; + next; + if (countitem(907) > 19 && countitem(921) > 6 && countitem(7012) > 40 && countitem(1019) > 12 && countitem(501) > 0) { + mes "[Roberto]"; + mes "You brought them!"; + mes "Thank you very much."; + mes "Then, as I promised, I will teach you the skill."; + next; + delitem 907,20; //Resin + delitem 921,7; //Mushroom_Spore + delitem 7012,41; //Tough_Scalelike_Stem + delitem 1019,13; //Wooden_Block + delitem 501,1; //Red_Potion + skill 147,1,0; + mes "[Roberto]"; + mes "No need to worry about arrows now."; + mes "Oh, and did you happen to see"; + mes "someone called Jason in Payon?"; + mes "Be careful. He is a"; + mes "ferocious one."; + next; + mes "[Roberto]"; + mes "You just have to be careful of Jason in Payon."; + mes "Remember."; + mes "Then bubye~ Thank you for the presents~"; + close; + } + else { + mes "[Roberto]"; + mes "An archer in Morroc!?"; + mes "Nice to see you! Meeting a fellow"; + mes "archer in a place like this! *sniffsniff*!"; + mes "I came alone to Morroc.."; + mes "but I was a newcomer, and the pressure... waaah~"; + mes "I was very lonely~"; + next; + if (select("It must be hard. It's ok have faith.:Keep suffering.") == 1) { + mes "[Roberto]"; + mes "Yes. Thank you..."; + mes "You must be having a hard"; + mes "time in a place like this."; + mes "Isn't it hard to find arrows?"; + mes "That's why I make my own."; + next; + select("Eh, really?!"); + mes "[Roberto]"; + mes "Yeah! I gather different items"; + mes "and make arrows using them."; + mes "It is a useful skill to help me"; + mes "survive alone in this tough world."; + mes "If you'd like, I can teach you."; + next; + select("That would be wonderful."); + mes "[Roberto]"; + mes "But.. I can't do it for free."; + mes "Nothing is free in this world~"; + mes "Mmm... How about this?"; + mes "You bring me what I ask for."; + mes "Then I will teach you the skill."; + next; + mes "[Roberto]"; + mes "I've been very lonely since I left my hometown."; + mes "I would like to treat my homesick-ness"; + mes "with things from there."; + mes "Bring me 20 Resins from the trees in the "; + mes "Payon forest, and 1 Red Potion"; + mes "sold in the store."; + next; + mes "[Roberto]"; + mes "Also, 13 Trunks from the Willows that"; + mes "lives near the Payon Forest,"; + mes "41 Tough Scalelike Stem,"; + mes "7 Mushroom Spores."; + mes "If you bring me all of these."; + next; + mes "[Roberto]"; + mes "I will teach you the skill."; + mes "Then.. I'll be waiting."; + mes "For news from our home."; + close; + } + mes "[Roberto]"; + if (Sex) + mes "...hey miss."; + else + mes "...hey mister."; + mes "...be careful at night."; + close; + } + } + else { + mes "[Roberto]"; + mes "Hmm... Do you?"; + mes "Have something to say?"; + mes "I,"; + mes "have nothing."; + mes "Difference in levels"; + mes "cuts off conversations."; + close; + } + } + else { + mes "[?]"; + mes "Eh... First time seeing an archer or something?"; + mes "Just go where you were going."; + mes "I only talk to high level archers."; + mes "Won't open my mouth otherwise!"; + close; + } +} + +payon,103,63,3 script Jason#qsk_ac 88,3,3,{ + if (BaseClass == Job_Archer) { + if (getskilllv(148) == 1) { + mes "[Jason]"; + mes "Eh, we meet again."; + mes "Ehhhh so weird."; + mes "Whenever I see someone again"; + mes "I start eh-ing a lot."; + mes "Ehhh... anyways nice to see you again."; + mes "Ehhhh... don't come any more ehh..."; + close; + } + else if ((Basejob == Job_Archer && JobLevel >= 35) || BaseJob == Job_Hunter || BaseJob == Job_Dancer || BaseJob == Job_Bard) { + mes "[Jason]"; + mes "Darn... my wound isn't healing."; + mes "Bleh.. I was too careless... "; + mes "to become like this.. err..."; + mes "But still, hurting me like this"; + mes "giving me so many injuries..."; + next; + mes "What should I do about Roberto."; + mes "Mmmm... Ah!"; + mes "You? How long have you been there?"; + mes "Mmm... very high level."; + mes "Someone like you would definitely be"; + mes "able to know how to use Arrow Repel."; + next; + switch(select("What is that?:Teach me.")) { + case 1: + mes "[Jason]"; + mes "...you're kidding, right?"; + mes "Oh my, you don't even know"; + mes "Arrow Repel at that level?"; + mes "You're a strange person."; + next; + mes "[Jason]"; + mes "(Jason was in the lala land.)"; + next; + mes "[Jason]"; + mes "Well, ok. I'll teach you what"; + mes "Arrow Repel is."; + next; + mes "[Jason]"; + mes "Arrow Repel is a skill that allows you to"; + mes "push the opponent away as soon as you attack."; + mes "You can only use it when you aim exactly"; + mes "at the target. But unlike magic, "; + mes "it doesn't de-spell."; + next; + mes "[Jason]"; + mes "It is very useful for an archer"; + mes "that is weak in close ranges."; + mes "If you would like to learn,"; + mes "come find me again."; + mes "There are some necessary materials."; + next; + mes "[Jason]"; + mes "First, because you must modify a bow"; + mes "bring a crossbow you do not use."; + mes "10 Tentacles, 10 Bill of Birds,"; + mes "3 Yoyo Tails.. these are very elastic."; + mes "Also, 2 Emeralds. And last but not least..."; + mes "36 bottles of Banana Juice that I love!"; + next; + mes "[Jason]"; + mes "......Ehem!"; + mes "If you bring all of these,"; + mes "I shall teach you Arrow Repel."; + mes "Then, see you again."; + mes "(I'm going to be mad if you don't bring the Banana Juice.)"; + close; + case 2: + if (countitem(721) > 1 && countitem(942) > 2 && countitem(962) > 9 && countitem(925) > 9 && countitem(532) > 35) { + mes "[Jason]"; + mes "Ok! Perfect!"; + mes "I shall teach you the nationally"; + mes "renowned skill, Arrow Repel!"; + next; + delitem 721,2; //Azure_Jewel + delitem 942,3; //Yoyo_Tail + delitem 962,10; //Tentacle + delitem 925,10; //Bill_Of_Birds + delitem 532,36; //Banana_Juice + skill 148,1,0; + mes "[Jason]"; + mes "Oh, works better than I expected!"; + mes "Won't be needing to modify the bow!"; + mes "You can take this back~"; + mes "And enjoy using your newly inherited"; + mes "skill in fields and dungeons!"; + mes "He~heh~!"; + close; + } + else { + mes "[Jason]"; + mes "Mmm... too bad."; + mes "You are missing some things."; + mes "Once again, you need 2 Emeralds,"; + mes "3 Yoyo Tails, 10 Tentacles,"; + mes "10 Bill of Birds, and last but"; + mes "not least 36 bottles of Banana juice!"; + next; + mes "[Jason]"; + mes "Make sure you have all of them and come again!"; + close; + } + } + } + else { + mes "[Jason]"; + mes "Ooh... you are an archer."; + mes "If you try a little more"; + mes "you will have a great"; + mes "reputation as an archer!"; + mes "Exert yourself!"; + close; + } + } + else { + mes "[?]"; + mes "What does life need from"; + mes "a lonely lad like me?"; + close; + } + +OnTouch: + mes "[???]"; + mes "Errrrrrr..."; + close; +} + +//============================================================ +// Old changelog +//============================================================ //= v1.0 Roberto message text is based off RO npc. Jason message //= text is custom from old version. //= All items are from official quests though.[kobra_k88] @@ -20,194 +292,3 @@ //= 1.4a Fixed some typos [IVBela] //= 1.4b changed perm. variables to temp ones [Lupus] //============================================================ - - - -//<======================== Roberto: Arrow crafting =========================>\\ -morocc,121,109,5 script Roberto 88,{ - mes "[Roberto]"; - if(baseClass == Job_Archer) goto L_Start; - -L_Other: - mes "Eh?... First time seeing an archer or something? Why don't you just"; - mes "go about your business and leave me be. I only talk to high level"; - mes "Archer types........"; - emotion e_what; - close; -L_Start: - if(BaseJob==Job_Archer && JobLevel<30) goto L_LowLvl; - if(getskilllv(147)>0) goto L_GotSkill; - if(@ARWCRFT) goto L_GetSkill; - mes "Hmmm?.... Oh you seem to be a high level Archer type. Why don't we"; - mes "converse for a while, eh? Let me start off by talking about my"; - mes "childhood.... . . . . . . . . . . ."; - next; - mes "[Roberto]"; - mes "When I turned 15, I decided I'd work for a Blacksmith........"; - next; - mes "[Roberto]"; - mes "............... ~(blah blah blah)~..................."; - next; - mes "[Roberto]"; - mes ".... man was my Junior Prom a mess..........."; - next; - mes "[Roberto]"; - mes "..~(blah blah)~........ ~(blah blah)~........."; - next; - mes "(many grueling hours later.....)"; - next; - mes "[Roberto]"; - mes "So that's how I found out how to create all of these different"; - mes "kinds of arrows for myself. It definitely comes in handy."; - next; - mes "[Roberto]"; - mes "Say, would you like me to teach you? We've had such a nice talk"; - mes "that I feel like can trust you with this knowledge......."; - next; - menu "Zzz... Eh!! Uh, Arrows... making... yes, teach.",M_0, "Zzzzz... Eh! Uh... where am I????",M_1; - - M_0: - mes "[Roberto]"; - mes "Alright then! In order for me to teach you the art of ^5533FF'Arrow"; - mes "Crafting'^000000, you must first bring me these items:"; - mes "^FF335520 Resin,"; - mes "7 Poison Spores,"; - mes "41 Pointed Scales,"; - mes "13 Trunks,"; - mes "1 Red potion^000000"; - set @ARWCRFT, 1; - emotion e_ic; - close; - M_1: - mes "[Roberto]"; - mes "................................................................"; - emotion e_ag; - next; - mes "[Roberto]"; - mes "Let me teach you this special skill.... It's called, my boot up"; - mes "your A........"; - emotion e_pif; - next; - mes "!!!!SMACK!!!!"; - percentheal -5,0; - close; - -L_GetSkill: - if((countitem(907)<20) || (countitem(7033)<7) || (countitem(906)<41) || (countitem(1019)<13) || (countitem(501)<1)) goto L_NotEnuf; - delitem 907, 20; - delitem 7033, 7; - delitem 906, 41; - delitem 1019, 13; - delitem 501, 1; - mes "You've brought all of the items... very good. Lets begin....."; - next; - mes "~ hands you a very long list of ingredients ~"; - next; - mes "[Roberto]"; - mes "There you are. You're all set."; - next; - mes "......................."; - next; - mes "[Roberto]"; - mes "Hmm?...... What do you mean 'that's it'?....... What else were you"; - mes "expecting...... With that list you will be able to make any kind of"; - mes "arrows you want......."; - next; - mes "[Roberto]"; - mes "I hope you didn't expect some kind of elaborate ceremony or some"; - mes "kind of unique and lengthy training......."; - next; - skill 147,1,0; - set @ARWCRFT, 0; - mes "[Roberto]"; - mes "...... Well good luck and have fun making arrows. I've got other"; - mes "things to do if you don't mind......."; - close; - - L_NotEnuf: - mes "You don't have everything I need."; - next; - goto M_0; -L_GotSkill: - mes "Hmmm?.... Sorry but I've got nothing left to teach you. Just keep"; - mes "on making those arrows..... For us Archer types there can never be"; - mes "too many arrows....."; - close; -L_LowLvl: - mes "Hmm?... Do you have something to say to me? Unfortunately I have"; - mes "nothing to say to you....."; - emotion e_what; - next; - mes "[Roberto]"; - mes "It's sad but conversations with people who have ^5533FFlow job levels^000000 such"; - mes "as yourself always seem to end abruptly..... Maybe if you trained a"; - mes "little bit longer we would have more to talk about............"; - close; -} - - -//<============================== Arrow Repel ===============================>\\ -payon,103,63,5 script Jason 88,{ - mes "[Jason]"; - if(baseClass == Job_Archer) goto L_Start; - -L_Other: - mes "What does life need from a lonely lad like me?"; - close; -L_Start: - if(getskilllv(148)>0) goto L_GotSkill; - if(BaseJob == Job_Archer && JobLevel < 35) goto L_LowLvl; - if(@ARWREP) goto L_Check; - mes "Hi, I'm the master of the skill ^0033FFArrow Repel^000000. I might be able to"; - mes "teach you the skill, but only if you help me get the ingredients"; - mes "for my Grandma's soup."; - next; - mes "[Jason]"; - mes "Arrow Repel allows you to use your arrows to repel, push back, an"; - mes "enemy and keep them at a distance. This is a great skill for us"; - mes "Archer types."; - next; - - L_List: - mes "[Jason]"; - mes "I need the following:"; - mes "- 2 ^FF0000Emeralds^000000"; - mes "- 3 ^FF0000Yoyo tails^000000"; - mes "- 10 ^FF0000Tentacles^000000"; - mes "- 10 ^FF0000Bill of birds^000000"; - mes "- 36 ^FF0000Banana Juices^000000"; - next; - mes "[Jason]"; - mes "Hurry hurry!"; - set @ARWREP, 1; - close; - -L_LowLvl: - mes "Oh I think you're a bit inexperienced to learn anything from me,"; - mes "come back later! Maybe around ^5533FFjob level 35^000000 or so....."; - close; - -L_Check: - if((countitem(721)<2) || (countitem(942)<3) || (countitem(962)<10) || (countitem(925)<10) || (countitem(532)<36)) goto L_NotEnuf; - delitem 721,2; - delitem 942,3; - delitem 962,10; - delitem 925,10; - delitem 532,36; - mes "OH! Marvelous you brought me all the ingredients!"; - mes "Now it'll be my pleasure to teach you the skill ^0033FFArrow Repel^000000"; - next; - skill 148,1,0; - set @ARWREP, 0; - mes "[Jason]"; - mes "There you go! Happy hunting in the future."; - close; - - L_NotEnuf: - mes "You don't have everything I need."; - next; - goto L_List; -L_GotSkill: - mes "Hey! It's you again? I'm afraid I've taught you everything I know."; - close; -} diff --git a/npc/quests/skills/mage_skills.txt b/npc/quests/skills/mage_skills.txt index 34d3ce4c6..31bb06334 100644 --- a/npc/quests/skills/mage_skills.txt +++ b/npc/quests/skills/mage_skills.txt @@ -3,116 +3,169 @@ //===== By: ================================================== //= kobra_k88 //===== Current Version: ===================================== -//= 1.4b -//===== Compatible With: ===================================== -//= eAthena 7.15 + -//===== Description: ========================================= -//= -//===== Additional Comments: ================================= -//= v1.0a Now using functions found in "Global_Functions.txt" -//= for class checks.[kobra_k88] -//= 1.2 Added Baby Class Support [Lupus] -//= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon] -//= 1.4 Fixed exploit [Lupus] -//= 1.4a Fixed some typos [IVBela] -//= 1.4b changed perm. variables to temp ones [Lupus] +//= 1.5 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Quest for skills: Energy Coat +//===== Additional Comments: ================================= +//= 1.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] //============================================================ - - -geffen_in,151,119,4 script BLIZZARDRISS 71,{ +geffen_in,151,119,4 script Great Wizard#qsk_mg 64,{ mes "[BLIZZARDRISS]"; - if(baseClass == Job_Mage) goto L_Start; - -L_Other: - mes "What new magic spells will I discover today......??"; - emotion e_hmm; - close; - -L_Start: - if(@ENRGYCOAT) goto L_GetSkill; - if(getskilllv(157)>0) goto L_GotSkill; - mes "Hey! My friend! I see that you are a magic user. If you look within yourself, you'll find that you have... 'HIDDEN ABILITIES'!!"; + mes "Hey ! My friend !"; + mes "I see that you are a mage."; + mes "Look into yourself to discover"; + mes "your hidden abilities !"; next; - menu "'Hidden Abilities'.....?",M_0, "End Conversation.",M_End; - - M_0: + switch(select("About mage's hidden ability:About skill ^3355FF' Energy Coat '^000000:End conversation")) { + case 1: mes "[BLIZZARDRISS]"; - mes "For many years I studied the ancient magic of Geffen, and I recently re-discovered a forgotten magic spell that is quite useful."; + mes "For many years"; + mes "I have studied the ancient"; + mes "magic¡¯s of Geffen."; + mes "Recently, I discovered"; + mes "a very good forgotten skill! ! !"; + mes "Isn't that fortunate?"; next; mes "[BLIZZARDRISS]"; - mes "The spell uses your 'pyschokinetic energy' to 'coat' your body in a magical shield, protecting you from enemy attacks."; + mes "The skill uses your mental"; + mes "energy to block attacks against you."; + mes "It is like a magical shield, or armor."; + mes "Only the most special of persons can"; + mes "use this amazing skills."; next; mes "[BLIZZARDRISS]"; - mes "Only highly trained magic users can learn this amazing spell."; - mes "Those who want to use this spell must tap into the hidden energies and abilities buried deep within!"; + mes "But the most amazing part is that I"; + mes "can use the skill! ! !"; + mes "I can use this to protect myself !"; + mes "Pu hah hah hah !!"; next; mes "[BLIZZARDRISS]"; - mes "The spell is called ^5555FF'Energy Coat'^000000!. Would you like me to teach it to you?"; + mes "Ok Ok, don't get too excited."; + mes "Listen carefully to what I can tell you."; + mes "Those who use this spell must tap"; + mes "the hidden energies and abilities"; + mes "locked within themselves !"; next; - menu "Wow! Sounds great!",sM_0, "Meh... not interested.",sM_End; - - sM_0: + mes "[BLIZZARDRISS]"; + mes "If you wish to learn this skill, you"; + mes "must first have a few items to"; + mes "be used during the process."; + next; + mes "[BLIZZARDRISS]"; + mes "three ^3355FFGlass Bead^000000 "; + mes "one ^3355FF1 carat Diamond^000000 "; + mes "five ^3355FFShell^000000 "; + mes "one ^3355FFSolid Shell^000000 "; + mes "Bring me these items."; + next; + mes "[BLIZZARDRISS]"; + mes "Also, one more thing. . ."; + mes "You must be sufficiently experienced"; + mes "in the magical arts. This means you must"; + mes "either be a wizard or mage job level 35+."; + next; + mes "[BLIZZARDRISS]"; + mes "Wizards already have already"; + mes "experienced the role of a mage"; + mes "and so do not require a job level."; + mes "In any case, one who wishes to"; + mes "be trained in this art must be in a"; + mes "healthy and strong mental state."; + next; + mes "[BLIZZARDRISS]"; + mes "Okay . ."; + mes "There is nothing more to say, are you interested?"; + close; + case 2: + if (getskilllv(157) == 1) { mes "[BLIZZARDRISS]"; - mes "In order for me to teach you this spell I will need the following items:"; - mes "^5533FF 3 Glass Beads,"; - mes " 1 One Carat Diamond,"; - mes " 5 Shells,^000000"; - mes " and ^5533FF1 Solid shell^000000."; - next; + mes "It seems that you have "; + mes "already mastered this skill."; + mes "Your skill in 'Energy Coat' "; + mes "is evident."; + mes "I am sorry, "; + mes "I have nothing more to teach you ..."; + close; + } + else { + if (countitem(746) > 2 && countitem(730) > 0 && countitem(935) > 4 && countitem(943) > 0) { + if ((JobLevel > 34 && BaseJOb == Job_Mage) || BaseJob == Job_Wizard || BaseJob == Job_Sage) { + mes "[BLIZZARDRISS]"; + mes "Okay, I have received your request."; + mes "I will now awaken your hidden energies . ."; + mes ". . . . . ."; + mes ". . . . . . . . . . . . ."; + mes ". . . . . . . . . . . . . . . . . . . . . . . . . ."; + next; + mes "[BLIZZARDRISS]"; + mes "Ancient powers of"; + mes "Geffen! I seek the enlightenment"; + mes "and honor of your presence. "; + mes "I am humbled in your presence!"; + mes " ..."; + next; + mes "[BLIZZARDRISS]"; + mes "Grant me your power!"; + mes "Release your spirit"; + mes "Mana Shield! Metal Armor!"; + mes ". . . . . . . . . . . ."; + mes "ENERGY COAT! ! !"; + next; + delitem 746,3; //Glass_Bead + delitem 730,1; //Crystal_Jewel + delitem 935,5; //Shell + delitem 943,1; //Solid_Shell + skill 157,1,0; + mes "[BLIZZARDRISS]"; + mes ". . . . ."; + mes "It is done. . ."; + mes "You know have the "; + mes "elite skill of ^3355FF' Energy Coat '^000000 ."; + mes "Use it well."; + next; + mes "[BLIZZARDRISS]"; + mes "Do not shame our"; + mes "class with disgraceful"; + mes "use of this or any skill."; + mes "Your new power calls for new responsibility."; + close; + } + } mes "[BLIZZARDRISS]"; - mes "You will also need to have a sufficient amount of experience. For Mages, a job level of at least 35 is needed."; - mes "Wizards and Sages are high level magic users and can learn the skill at any job level."; + mes "Look!!"; + mes "Didn't you listen to my explanation ? !"; + mes "You have not prepared fully"; + mes "for me to assist you."; + mes "Check that you have me all the requirements"; next; mes "[BLIZZARDRISS]"; - mes "When you are fully trained and have all of the required items come back and see me."; - set @ENRGYCOAT, 1; - close; - - sM_End: - mes "[BLIZZARDRISS]"; - mes "Hmf! Suit yourself. Don't come complaining to me when get beat up by a bunch of spores!!"; - emotion e_an; + mes "If you need me to explain"; + mes "all this again, then ask me."; + mes "I would be happy to explain again"; + mes "if only you would listen. . ."; close; - - M_End: + } + case 3: mes "[BLIZZARDRISS]"; - mes "The wise man must have patience! Prepare yourself and return when you are ready."; - close; - -L_GetSkill: - if(BaseJob==Job_Mage && JobLevel < 35) goto L_JobLvl; - if(countitem(746)<3 || countitem(730)<1 || countitem(935)<5 || countitem(943)<1) goto L_Items; - delitem 746,3; - delitem 730,1; - delitem 935,5; - delitem 943,1; - mes "Ohh my, ohh my...... This is going to be swell. Hand over the items... Thank you."; - next; - mes "~ several hours later ~"; - next; - skill 157,1,0; - set @ENRGYCOAT,0; - mes "[BLIZZARDRISS]"; - mes "You can now use the spell, 'Energy Coat'!! Use it wisely my friend!"; - emotion e_no1; - close; - - L_JobLvl: - mes "Didn't you listen to my explanation? You need a job level of at least 35 to learn 'Energy Coat'."; - emotion e_what; - close; - - L_Items: - mes "Didn't you listen to my explanation? You need the following items for me to teach you 'Energy Coat':"; - mes "^5533FF 3 Glass Beads,"; - mes " 1 One Carat Diamond,"; - mes " 5 Shells,^000000"; - mes " and ^5533FF1 Solid shell^000000."; - emotion e_what; + mes "The wise man must have patience !"; + mes "Prepare yourself again,"; + mes "and return when you are ready."; close; - -L_GotSkill: - mes "Well hello there. The 'Energy Coat' skill is great, isn't it? Anyway, good luck with your journey."; - close; + } } + +//============================================================ +// Old changelog +//============================================================ +//= v1.0a Now using functions found in "Global_Functions.txt" +//= for class checks.[kobra_k88] +//= 1.2 Added Baby Class Support [Lupus] +//= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon] +//= 1.4 Fixed exploit [Lupus] +//= 1.4a Fixed some typos [IVBela] +//= 1.4b changed perm. variables to temp ones [Lupus] +//============================================================ diff --git a/npc/quests/skills/thief_skills.txt b/npc/quests/skills/thief_skills.txt index eb5a07d0d..9373e3ec5 100644 --- a/npc/quests/skills/thief_skills.txt +++ b/npc/quests/skills/thief_skills.txt @@ -3,385 +3,525 @@ //===== By: ================================================== //= kobra_k88 //===== Current Version: ===================================== -//= 1.4b +//= 1.5 //===== Compatible With: ===================================== -//= eAthena 7.15 + +//= eAthena SVN //===== Description: ========================================= -//= Sand Attack, Back Slide, Find Stone, Stone Fling skill quests. +//= [Aegis Conversion] +//= Quests for skills: Sand Attack, Back Slide, Find Stone, +//= Stone Fling. //===== Additional Comments: ================================= -//= v1.0 Fully working -//= v1.1 Changed Sand Attack requirements from 5 Grit to 5 Fine Grit and a -//= Leather Bag of Infinity. These are the official RO requirements -//= Added npc RuRumuni, maker of Leather Bag of Infinity. [kobra_k88] -//= v1.1a Now using functions found in "Global_Functions.txt" for -//= class checks.[kobra_k88] -//= 1.2 Added Baby Class Support [Lupus] -//= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon] -//= 1.4 Fixed exploit [Lupus] -//= 1.4a Fixed some typos [IVBela] -//= 1.4b changed perm. variables to temp ones [Lupus] +//= 1.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] //============================================================ - - -//====================================================================================================== -moc_prydb1,154,128,4 script Alcouskou 118,{ - mes "[Alcouskou]"; - if(baseClass == Job_Thief) goto L_Start; - if(BaseJob==Job_Novice) goto L_Novice; - -L_Other: - mes "Your kind isn't welcome here."; - close; - -L_Novice: - mes "Although thieves and assassins have basic skills which aid them in their jobs, most don't have the 'special' skills which can make them truly great!"; - next; - mes "[Alcouskou]"; - mes "I just happen to be the ONLY one who can teach them these skills!"; - mes "If you ever decide to become a Thief or an Assassin, come back here and I'll teach you these cool skills."; - next; - mes "[Alcouskou]"; - mes "And if you know anyone who already is one, send them to me. I'm willing to teach anyone who's interested."; - close; - -L_Start: - mes "During the course of your life you will experience many things."; - mes "You many have trouble understanding the importance of some of these experiences, and may even consider them to be useless to you."; - next; - mes "[Alcouskou]"; - mes "But do not be to hasty with your judgement of them, for some of these experience may actually prove to be beneficial for you."; - next; - mes "[Alcouskou]"; - mes "Let me explain:"; -M_Menu: - next; - menu "-Sand Attack",M_Sand, "-Back Slide",M_Back, "-Find Stone",M_Find, "-Stone Fling",M_Fling, "-I will be back later.",M_End; - - M_Sand: - mes "[Alcouskou]"; - if(@SANDATTACK) goto L_Sand; - if(getskilllv(149) > 0) goto L_GotSand; - mes "The most important aspect of being a good Thief/Assassin is stealth. One should never be seen or touched unless he/she wants to be"; - next; - mes "[Alcouskou]"; - mes "Some may consider this cowardly but I don't see it that way."; - mes "We live in a world where it is the survival of the fittest and you must do whatever it takes to survive....."; - next; - mes "[Alcouskou]"; - mes "Even if this means throwing sand in an enemy's face. That is why the skill, ^5555FFSand Attack^000000, was created."; - next; - mes "[Alcouskou]"; - mes "This skill allows the user to throw and kick sand in the eyes of an opponent, temporarily blinding them."; - mes "This effectively impairs the opponent's ability to defend or attack giving the user a brief but great advantage."; - next; - mes "[Alcouskou]"; - mes "In order to learn this skill you will need to gather ^5555FF5 Fine Grit^000000 and a ^FF3355'Leather Bag of Infinity'^000000."; - if(BaseJob == Job_Thief) mes "You will also need a job level of at least ^5555FF25^000000."; - next; - mes "[Alcouskou]"; - mes "You can find the Leather Bag of Infinity by talking to a merchant by the name of ^5533FFRuRumuni^000000."; - mes "He can be found in the ^009500West end of Payon^000000."; - next; - mes "[Alcouskou]"; - mes "Come back when you are ready."; - set @SANDATTACK, 1; - goto M_Menu; - M_Back: - mes "[Alcouskou]"; - if(@BACKSLIDE)goto L_Back; - if(getskilllv(150)>0) goto L_GotBack; - mes "People tend to focus on attack and damage, but it's necessary to understand that FLEEING is JUST AS IMPORTANT as attacking!"; - next; - mes "[Alcouskou]"; - mes "We thieves/assassins pride ourselves on our speed and ability to quickly dodge."; - mes "Of course I'm sure you've noticed that there is a downside to that speed and quickness....."; - next; - mes "[Alcouskou]"; - mes "If we DO get hit, depending on the monster, that single hit could put us in serious danger!"; - next; - mes "[Alcouskou]"; - mes "I can understand how funny it is to watch a monster constantly miss while its attacking you, but......"; - next; - mes "[Alcouskou]"; - mes "If you get attacked by a large group of monsters..... you may not even have room to dodge and that won't be at all funny."; - next; - mes "[Alcouskou]"; - mes "That's why most Thieves/Assassins fear large mobs and will flee at the first sign of them."; - mes "There are those however, that do not fear being overwhelmed by a large mob."; - next; - mes "[Alcouskou]"; - mes "These are the people who have learned a unique skill that allows them to deal with mob situations."; - mes "The skill enables the user to quickly 'back' out of the way of a mob, putting a great deal of distance between the two."; - next; - mes "[Alcouskou]"; - mes "The skill is called ^5555FFBack Slide^000000 and requires a lot of practice to master."; - mes "If you wish to learn this skill you will first need to bring in ^5555FF20 Grasshopper's Legs^000000."; - next; - mes "[Alcouskou]"; - mes "Think of it as the first part of your training."; - if(BaseJob == Job_Thief) mes "If you are a Thief, you will also need to have a job level of at least ^5555FF35^000000."; - set @BACKSLIDE, 1; - goto M_Menu; - M_Find: - mes "[Alcouskou]"; - if(@FINDSTONE) goto L_Find; - if(getskilllv(151)>0) goto L_GotFind; - mes "The more experienced and better skilled members of our guild are quite handy."; - mes "They can turn something as common as a rock on the ground into a very effective weapon."; - next; +moc_prydb1,154,128,4 script Alcouskou#qsk_tf 118,{ + if (BaseClass == Job_Thief) { mes "[Alcouskou]"; - mes "They can throw a rock at a far away target with great accuracy and strength."; - mes "They can throw it so powerfully that sometimes an enemy will become stunned by it."; + mes "As you live life you will encounter"; + mes "many things. Sometimes you will"; + mes "not understand and wonder why some"; + mes "things are so important. You may consider it"; + mes "as useless knowledge, but it isn't"; + mes "Let me explain."; next; + switch(select("Sand Attack:Back Slide:Find Stone:Stone Fling:I will be back later.")) { + case 1: + switch(THIEF_SK) { + case 0: + if (countitem(7041) > 4 && (BaseJob == Job_Thief && JobLevel > 24) || BaseJob == Job_Assassin || BaseJob == Job_Rogue) { + mes "[Alcouskou]"; + mes "Luckily, you have brought some"; + mes "sand with you. It is very important"; + mes "to a thief to have a small quantity at"; + mes "all times. Most people do not"; + mes "realize the value of such a common"; + mes "substance."; + next; + mes "[Alcouskou]"; + mes "In case you meet a powerful"; + mes "monster in a dungeon with no"; + mes "sand, you could use this sand to"; + mes "blind the monster and flee."; + mes "You should have a special sand pocket."; + next; + mes "[Alcouskou]"; + mes "What? You don't expect me to"; + mes "do that for you as well do you?"; + mes "You must be very lazy! ! !"; + mes "Very well, find the one named"; + mes "RuRumuni. He will make you a"; + mes "sturdy leather pocket."; + next; + mes "[Alcouskou]"; + mes "I will be preparing for your"; + mes "return. Find RuRumuni in"; + mes "west Payon. That is where I"; + mes "heard he is these days."; + delitem 7041,5; //Fine_Grit + set THIEF_SK,1; + close; + } + else { + mes "[Alcouskou]"; + mes "The most important part"; + mes "of being a good thief is stealth."; + mes "A thief should never be seen or"; + mes "touched unless he wants to."; + mes "Some consider this cowardly"; + mes "but I think differently."; + next; + mes "[Alcouskou]"; + mes "The way I see it, we live in a"; + mes "world where survival of the fittest"; + mes "rules our lives. "; + mes "They may think less of me for use"; + mes "this special skill. . . What is this skill?"; + mes "This is the sand blinding skill."; + next; + mes "[Alcouskou]"; + mes "If you can throw or kick sand"; + mes "in the eyes of your opponent,"; + mes "not only does their defense decrease,"; + mes "but their ability to attack is impaired."; + mes "It is so effective, you may even stun them."; + next; + mes "[Alcouskou]"; + mes "Well, we have to survive too."; + mes "Its either us or them. . ."; + mes "I think it is important and vital"; + mes "that we prepare a little sand."; + mes "What do you think? If you like it "; + mes "go and get five Fine Grit."; + next; + mes "[Alcouskou]"; + mes "I am sure you eager to learn this"; + mes "skill, but you must first gather five Fine Grit"; + mes "Until you have gathered them,"; + mes "I cannot teach you this skill."; + mes "Don't be disappointed, hurry and gather them."; + next; + mes "[Alcouskou]"; + mes "Oh, I almost forgot! ! !"; + mes "If you want to learn this "; + mes "special skill, be sure that"; + mes "you are sufficiently experienced"; + mes "to use this properly. This means"; + mes "you should be at least job level 25."; + close; + } + case 1: + mes "[Alcouskou]"; + mes "Go to west payon and find"; + mes "RuRumuni. He will make you"; + mes "fine durable pouch for your"; + mes "sand."; + next; + mes "[Alcouskou]"; + mes "I will take these five Fine Grit"; + mes "and prepare them for you while I wait."; + close; + case 2: + mes "[Alcouskou]"; + mes "Okay! Great !!"; + mes "What a fine pouch indeed!"; + mes "Small and easy to carry, with enough"; + mes "capacity for enough sand. "; + mes "This is a perfect ^3355FFLeather Bag of Infinity^000000 !!"; + mes "for you to use with this skill."; + next; + mes "[Alcouskou]"; + mes "Well let¡¯s see what your skill"; + mes "is like -"; + mes "Try it out ! !"; + next; + mes "[Alcouskou]"; + mes "AHhh, watch out for my eyes !!"; + mes "^5533FF- *throwing sand* -^000000"; + next; + mes "^5533FF- *tossing sand* -^000000"; + next; + mes "[Alcouskou]"; + mes "Hoo Hoo Hoo... You are a"; + mes "natural! ! ! Excellent !"; + mes "I guess I have nothing more"; + mes "that I can teach you."; + mes "I hope that this skill will"; + mes "aid you in the future. -"; + delitem 7042,1; //Leather_Bag_Of_Infinity + skill 149,1,0; + close; + } + case 2: + if (countitem(940) > 19 && (BaseJob == Job_Thief && JobLevel > 34) || BaseJob == Job_Assassin || BaseJob == Job_Rogue) { + mes "[Alcouskou]"; + mes "Okay! Let¡¯s practice!"; + next; + mes "[Alcouskou]"; + mes "Suuu Suuu uk -"; + next; + mes "[Alcouskou]"; + mes "Suuuuk - -"; + next; + mes "[Alcouskou]"; + mes "Suk - Suuuk - - -"; + next; + mes "[Alcouskou]"; + mes "Great! -At this level,"; + mes "I am sure you can increase"; + mes "your skill on your own."; + delitem 940,20; //Grasshopper's_Leg + skill 150,1,0; + close; + } + else { + mes "[Alcouskou]"; + mes "Usually we like to think about"; + mes "attacking and damage, but"; + mes "it is important to realize that"; + mes "fleeing is just as important"; + mes "as attacking!"; + mes "We pride ourselves in our"; + next; + mes "[Alcouskou]"; + mes "speed and quick dodges,"; + mes "but I am sure that at times you"; + mes "have realized while fighting that"; + mes "despite the fact that our dodging"; + mes "is superior, if we are hit once we are"; + mes "serious danger."; + next; + mes "[Alcouskou]"; + mes "It is true that at times we"; + mes "can view others as humorous as"; + mes "we easily dodge their attacks."; + mes "But if we are attacked by many at"; + mes "once, you must remember that we"; + mes "may not even have room to doge."; + next; + mes "[Alcouskou]"; + mes "You must make a quick decision"; + mes "to flee. Most would flee immediately,"; + mes "but we don't need to."; + mes "Even if we don't see an opening,"; + mes "our skill can allow us to slip out"; + mes "of a very serious predicament."; + next; + mes "[Alcouskou]"; + mes "This skill uses our energies in"; + mes "allowing us to slip out unnoticed."; + mes "In a short amount of time we can use"; + mes "this skill to put a large amount of "; + mes "distance between us and our opponent."; + mes "This skill requires endless hours of"; + next; + mes "[Alcouskou]"; + mes "practice for us to master."; + mes "If you wish to learn and practice,"; + mes "you will need to prepare some items."; + mes "Prepare ^3355FF20 Grasshopper's Leg^"; + mes "to begin your training."; + next; + mes "[Alcouskou]"; + mes "Oh, by the way. . ."; + mes "You need to have some background"; + mes "in the skills of a thief to properly master"; + mes "this skill. This means you require at"; + mes "least the experience of job level ^3355FF35^000000 ."; + mes "If not, I cannot teach you."; + close; + } + case 3: + if (countitem(912) > 0 && countitem(948) > 0 && countitem(908) > 4 && (BaseJob == Job_Thief && JobLevel > 19) || BaseJob == Job_Assassin || BaseJob == Job_Rogue) { + mes "[Alcouskou]"; + mes "Wow, you have already prepared?"; + mes "Great, I see promise in you. -"; + mes "Your zeal is truly sincere."; + mes "Okay, Shall we begin your training?"; + mes "Stone throwing . . . . ."; + mes "Find a smoot stone with a good weight."; + next; + mes "[Alcouskou]"; + mes "Picking the right stone is "; + mes "very important in being successful."; + mes "Well I could tell you a million"; + mes "times but it is better to see for yourself."; + mes "Okay why don't you try the skill out"; + mes "right here where I can watch you."; + next; + mes "^3355FF- Shweeput ! -^000000"; + next; + mes "^3355FF- Cheeeguk! -^000000"; + next; + mes "^3355FF- Shyaaaakkk ! -^000000"; + next; + mes "[Alcouskou]"; + mes "Very nice. You seem to take up -"; + mes "the skill easily."; + mes "You can improve your skill with"; + mes "practice on your own time."; + mes "I hope it aids you in the future."; + mes ". . . . . Hope to see you soon"; + delitem 912,1; //Zargon + delitem 948,1; //Bear's_Foot + delitem 908,5; //Spawn + skill 151,1,0; + close; + } + else { + mes "[Alcouskou]"; + mes "The skilled and experienced"; + mes "members of our guild are usually very handy!"; + mes "They can pick up a small stone"; + mes "by the road and use it to hit an"; + mes "opponent accurately and quickly from"; + mes "a distance."; + next; + mes "[Alcouskou]"; + mes "They realized what a waste it was"; + mes "to not teach this skill to others. -"; + mes "They founded a group to train"; + mes "others in this skill. . ."; + mes "That is how the ^3355FF' Find Stone '^000000 and"; + mes "^3355FF' Stone Fling '^000000 skills came to be."; + next; + mes "[Alcouskou]"; + mes "It is handy to be able to find a stone"; + mes "in most any place and have the"; + mes "ability to hurl it into a distanced enemy."; + mes "A very valuable skill indeed. -"; + mes "Without costing you a zeny, you"; + mes "can have this skill at your disposal."; + next; + mes "[Alcouskou]"; + mes "I really think of this as a great skill."; + mes "What do you think of it?"; + mes ". . . . . Hah Hah Hah . . . . . ."; + next; + mes "[Alcouskou]"; + mes "^3355FF' Find Stone ! '^000000 skill"; + mes "can be used in just about any location."; + mes "Picking stones off the ground that"; + mes "are smooth and well weighted for"; + mes "throwing. It does take some familiarity"; + mes "and skill to learn this skill well."; + next; + mes "[Alcouskou]"; + mes "The small amount of training required"; + mes "does require that you put in a full"; + mes "effort . . .-"; + mes ". . . . . *Ahem* . . . . ."; + mes "Let first begin by practicing how to pick up"; + mes "one ^3355FFBear's Footskin^000000 to familiarize the action."; + next; + mes "[Alcouskou]"; + mes "And in lieu of a stone, try picking up"; + mes " a ^3355FFZargon^000000 !"; + mes "Would that be too little ?"; + mes "Lets add ^3355FF5 Spawn^000000 !!"; + mes "Show me your skill !"; + mes "Retrieve these items by any means you see fit."; + close; + } + case 4: + if (countitem(910) > 1 && countitem(911) > 1 && (BaseJob == Job_Thief && JobLevel > 14) || BaseJob == Job_Assassin || BaseJob == Job_Rogue) { + mes "[Alcouskou]"; + mes "Wow! Have you already gathered the items!"; + mes "Very well, do you wish to begin?"; + mes "Prepare the items you have gathered .."; + next; + mes "^3355FF- Shyuuk ! -^000000"; + next; + mes "^3355FF- Shyuuuk Tuk. . -^000000"; + next; + mes "^3355FF- Shyupattt !! - Tauk !! -^000000"; + next; + mes "[Alcouskou]"; + mes "Strike~~~!!"; + mes "That was excellent !"; + mes "You know have sufficient"; + mes "power and skill."; + next; + mes "[Alcouskou]"; + mes "Okay, that is all there is"; + mes "to it. How you use it in"; + mes "the future is up to you .."; + mes "I wish you luck!"; + delitem 910,2; //Garlet + delitem 911,2; //Scell + skill 152,1,0; + close; + } + else { + mes "[Alcouskou]"; + mes "The skilled and experienced"; + mes "members of our guild are usually very handy!"; + mes "They can pick up a small stone"; + mes "by the road and use it to hit an"; + mes "opponent accurately and quickly from"; + mes "a distance."; + next; + mes "[Alcouskou]"; + mes "They realized what a waste it was"; + mes "to not teach this skill to others. -"; + mes "They founded a group to train"; + mes "others in this skill. . ."; + mes "That is how the ^3355FF' Find Stone '^000000 and"; + mes "^3355FF' Stone Fling '^000000 skills came to be."; + next; + mes "[Alcouskou]"; + mes "It is handy to be able to find a stone"; + mes "in most any place and have the"; + mes "ability to hurl it into a distanced enemy."; + mes "A very valuable skill indeed. -"; + mes "Without costing you a zeny, you"; + mes "can have this skill at your disposal."; + next; + mes "[Alcouskou]"; + mes "I really think of this as a great skill."; + mes "What do you think of it?"; + mes ". . . . . Hah Hah Hah . . . . . ."; + next; + mes "[Alcouskou]"; + mes "^3355FFStone Fling !!^000000"; + mes "This skill can be used so"; + mes "readily and does not take any"; + mes "extra money if you can pick up"; + mes "stones well . . ."; + mes "If you don't know how to choose"; + next; + mes "[Alcouskou]"; + mes "stones well, you can always buy"; + mes "them from those who can."; + mes "And if you can choose stones well,"; + mes "it could be very profitable for you."; + mes "What do you think? Do you like the idea?"; + next; + mes "[Alcouskou]"; + mes "If you wish to master this skill,"; + mes "you will have to train quite a bit."; + mes "The training also requires some items"; + mes "that won't be easy to find. . ."; + mes "Of course, I am sure it won't be"; + mes "impossible with your skill . ."; + next; + mes "[Alcouskou]"; + mes "You will need two ^3355FF' Garlet '^000000"; + mes "and two ^3355FF' Scell '^000000 to start with."; + mes "Make sure they are similar to stones"; + mes "and able to be thrown. When you"; + mes "have gathered these items, I will be"; + mes "happy to teach you."; + close; + } + case 5: + mes "[Alcouskou]"; + mes "It seems you are not very experienced. . ."; + mes "We may need some more time to consider you."; + close; + } + } + else { mes "[Alcouskou]"; - mes "Of course not every stone can be used as a weapon. That is why the skill, ^5555FFFind Sone^000000, was developed."; - mes "With practice one can learn to pick out a stone that has a weight and shape that is fit for 'flinging'."; - next; - mes "[Alcouskou]"; - mes "Once mastered a Thieve/Assassin will be able to pick up stones from any location."; - mes "Think about it... the ability to use a long range weapon without spending any zeny.... isn't it great?"; - next; - mes "[Alcouskou]"; - mes "If you want to learn this skill you must do a little training first. Start by picking up ^5555FF1 Bear's Footskin^000000."; - mes "Then try to find ^5555FF1 Zargon^000000. Next pick out ^5555FF5 Spawn^000000. Once you've done all this come back and see me."; - next; - mes "[Alcouskou]"; - mes "Collecting those items will help you develop the skills necessary to learn Find Stone."; - set @FINDSTONE, 1; - goto M_Menu; - M_Fling: - mes "[Alcouskou]"; - if(@STONEFLING) goto L_Fling; - if(getskilllv(152)>0) goto L_GotFling; - mes "The more experienced and better skilled members of our guild are quite handy."; - mes "They can turn something as common as a rock on the ground into a very effective weapon."; - next; - mes "[Alcouskou]"; - mes "They can throw a stone at a target far away with great accuracy and strength."; - mes "They can throw it so powerfully that sometimes an enemy will become stunned by it."; - next; - mes "[Alcouskou]"; - mes "These guild members call this skill ^5555FFStone Fling^000000. It is extremely useful and doesn't cost any zeny."; - next; - mes "[Alcouskou]"; - mes "If you wish to learn Stone Fling you must first bring me ^5555FF2 Garlet and 2 Scell^000000."; - mes "You will also need to have mastered ^5555FFFind Stone^000000 as well."; - set @STONEFLING, 1; - goto M_Menu; - M_End: - mes "[Alcouskou]"; - mes "It seems that you are not experienced enough yet...."; - close; - -L_Sand: - if(countitem(7041)<5 || countitem(7042)<1) goto L_NotRdy1; - if(BaseJob==Job_Thief && JobLevel<25) goto L_LowLvl1; - delitem 7041, 5; - delitem 7042, 1; - mes "Alright, you've got all the items. Now it's time to learn.... the... ultimate.... attack.... Sand Attack!!!"; - next; - mes "[Alcouskou]"; - mes "Look down at your feet. See that? The very thing your stepping on is the secret behind this skill......... SAND!!"; - next; - mes "[Alcouskou]"; - mes "Okay, grab a handful....... yep, that much will do....... now........."; - next; - mes "[Alcouskou]"; - mes "THROW IT AT ME!!!"; - emotion e_go; - next; - mes "[Alcouskou]"; - mes "(AHHH!! My EYES!!! Son of a)......... ya see how effective that was........ (JEEZE that STINGS!!)......."; - emotion e_omg; - next; - mes "[Alcouskou]"; - mes "Anyways that's all there is too it....... (CRAP that's a lot of sand!!).... So yeah, Sand Attack, use it as a last resort...... (AWW MAN!!)"; - next; - mes "[Alcouskou]"; - mes "Oh and it does Earth Property damage....... (I gotta find a better way to teach this)........."; - emotion e_swt; - skill 149,1,0; - set @SANDATTACK, 0; - close; - - L_NotRdy1: - mes "You need ^5555FF5 Fine Grit^000000 and a ^FF3355'Leather Bag of Infinity'^000000."; + mes "Most thieves and assassins"; + mes "have the basic skills to do"; + mes "well at their job. However,"; + mes "the skills that I can teach them"; + mes "cannot be learned anywhere else."; + mes "If you every decide to"; next; mes "[Alcouskou]"; - mes "You can find the Leather Bag of Infinity by talking to a merchant by the name of ^5533FFRuRumuni^000000."; - mes "He can be found in the ^009500West end of Payon^000000."; - close; - L_LowLvl1: - mes "You need to have a ^5555FFJob level of 25^000000 to learn Sand Attack."; - close; - L_GotSand: - mes "Oh you're back... hopefully not to throw any more sand in my eyes, heh heh.... heh........ heh.............."; - emotion e_swt; - close; - -L_Back: - if(countitem(940)<20) goto L_NotRdy2; - if(BaseJob==Thief && JobLevel<35) goto L_LowLvl2; - delitem 940,20; - mes "Great, you have the grasshopper legs. While you were collecting them I'm sure you picked up on many of the characteristics of grasshoppers."; - next; - mes "[Alcouskou]"; - mes "You will need that knowledge because this skill is based on the movement of the grasshopper. Like it you will become quick, agile, and have a keen eyesight."; - next; - mes "[Alcouskou]"; - mes "Okay, lets begin........"; - next; - mes "~fwoosh~"; - next; - mes "~fwooooosh~"; - next; - mes "~fwoooooooooooooooosh~"; - next; - mes "[Alcouskou]"; - mes "Ah! You've got it. Just like a pro. With this skill being overwhelmed by mobs is a thing of the past."; - skill 150,1,0; - set @BACKSLIDE, 0; - close; - - L_NotRdy2: - mes "You need ^5555FF20 Grasshopper's Legs^000000."; - close; - L_LowLvl2: - mes "You need a ^5555FFJob level of 35^000000 to learn Back Slide."; - close; - L_GotBack: - mes "Seeing as you already have Back Slide..... why don't you 'Back' on outta here....."; + mes "become a thief or assassin,"; + mes "or know someone who is,"; + mes "come to me or send them to me."; + mes "These new skills should be"; + mes "taught to all who want to learn them."; close; + } +} -L_Find: - if(countitem(912)<1 || countitem(948)<1 || countitem(908)<5) goto L_NotRdy3; - delitem 912,1; - delitem 948,1; - delitem 908,5; - mes "Ah! I see that you're fully prepared to learn this skill. Let us begin...."; - next; - mes "[Alcouskou]"; - mes "There are many stones on the floor here. Pick them all up one by one and examine each one carefully."; - mes "Get a feel for how much each one weighs and become aware of how each one has a different texture."; - next; - mes "[Alcouskou]"; - mes "You must become one with the stone... it is the only way you will be able to use it effectively..."; - next; - mes "~ an hour later... ~"; - next; - mes "[Alcouskou]"; - mes "Very good. You have chosen some fine stones. This tells me that you have now perfected the Find Stone skill."; - emotion e_no1; - skill 151,1,0; - set @FINDSTONE, 0; - next; - mes "[Alcouskou]"; - mes "Have fun using it."; - close; - - L_NotRdy3: - mes "You need ^5555FF1 Bear's Footskin, 1 Zargon, and 5 Spawns^000000 to learn Find Stone."; - close; - L_GotFind: - mes "Picking up stones can be fun but...... don't spend all day doing it OK?....."; - close; - -L_Fling: - if(getskilllv(151) == 0) goto L_NotRdy4; - if((countitem(910)<2) || (countitem(911)<2)) goto L_NotRdy4; - delitem 910,2; - delitem 911,2; - mes "Good! You look like you're ready for me to teach you the Stone Fling skill. Let us begin...."; - next; - mes "[Alcouskou]"; - mes "First, loosen up your arm. Next, find a good quality stone using Find Stone. Now close your eyes and visualize the target in your mind."; - next; - mes "[Alcouskou]"; - mes "Now imagine yourself going straight through the target! Continue to visualize this!"; - next; - mes "~ 1/2 hour later... ~"; - next; - mes "[Alcouskou]"; - mes "Think of the stone as an extension of your body. Keep the target clear in your mind! You are one with the stone, the stone is one with you....."; - next; - mes "[Alcouskou]"; - mes "Open your eyes! SEE THE TARGET!! Throw the stone at the target as if you were hurling yourself towards it! DO IT NOW!!"; - emotion e_go; - next; - mes "!!Whooooossshh!!................. !!Thwack!!"; - next; - mes "[Alcouskou]"; - mes "Haha! Excellent! It's a bullseye. You have now mastered Stone Fling, congratulations."; - emotion e_no1; - skill 152,1,0; - set @STONEFLING, 0; - next; - mes "[Alcouskou]"; - mes "As you can see this is a skill that relies heavily on concentration."; - mes "As long as you keep your mind focused you will have on problems using this skill."; - close; - - L_NotRdy4: - mes "You need ^5555FF2 Scell and 2 Garlet^000000, and the ability to use ^5555FFFind Stone^000000 to learn Stone Fling."; +payon,91,77,3 script Bag Seller#qsk_tf 99,{ + mes "[RuRumuni]"; + mes "I am a humble merchant here"; + mes "in Payon. I buy the leather"; + mes "hides of animals brought in by"; + mes "the hunters and make leather"; + mes "pouches to sell. I grew up"; + mes "around leather working and am quite good at it."; + next; + switch(THIEF_SK) { + case 0: + mes "[RuRumuni]"; + mes "There is a thief guild in the"; + mes "area of Moroc. I know one there"; + mes "that sends me thieves in need"; + mes "of items I make such as a"; + mes "^3355FF' Leather Bag of Infinity '^000000."; + mes "They visit my store often."; close; - L_GotFling: - mes "So Stone Fling is coming in handy huh? Just make sure you don't hit the wrong monster"; + case 1: + if (countitem(952) > 0 && countitem(1055) > 0 && countitem(1025) > 0) { + mes "[RuRumuni]"; + mes "Ahhh... You have come for a leather bag."; + mes "Very good, very good."; + mes "I will make you the leather bag"; + mes "right away if you wait just a bit."; + mes "TuTak TuTak Shyuku Shyuku Shyuku"; + mes "- - - - -"; + next; + mes "[RuRumuni]"; + mes "Okay, here it is all done."; + mes "Take this leather bag"; + mes "to the Thief guild's Alcouskou"; + mes "If you take him this, he will"; + mes "teach you the skill that you "; + mes "wish to learn."; + delitem 952,1; //Cactus_Needle + delitem 1055,1; //Earthworm_Peeling + delitem 1025,1; //Spiderweb + set THIEF_SK,2; + getitem 7042,1; //Leather_Bag_Of_Infinity + close; + } + else { + mes "[RuRumuni]"; + mes "Find Alcouskou of the thief guild"; + mes "to place and order for a leather bag of infinity."; + mes "You should know that the leather bag of infinity"; + mes "takes much time and skill to make."; + mes "In order to make such an item, you"; + mes "must provide me with the materials."; + next; + mes "The items needed as materials are"; + mes "these items. .."; + mes "^3355FF' Earthworm Peeling '^000000"; + mes "^3355FF' Cobweb '^000000"; + mes "^3355FF' Cactus Needle '^000000"; + mes "I need one of each."; + close; + } + case 2: + mes "[RuRumuni]"; + mes "Here is your leather bag of infinity."; + mes "Take this to the Thief guilds"; + mes "Alcouskou and let him know "; + mes "that you are now ready to learn"; + mes "the skill."; close; + } } - -//==================================================================================== -payon,91,77,4 script RuRumuni 99,{ - mes "[RuRumuni]"; - if(@SANDATTACK && !countitem(7042)) goto L_Start; - - mes "I am a humble merchant here in Payon. I buy leather hides, brought in by the hunters, to make leather pouches to sell."; - mes "I grew up around leather and am quite good at working with it."; - next; - mes "[RuRumuni]"; - mes "There is a Thief guild in the Morroc area."; - mes "I know someone there that sends me Thieves in need of the items I make, such as the ^5533FF'Leather Bag of Infinity'^000000."; - close; - -L_Start: - if(@BAGNFNTY == 1) goto L_Check; - mes "Hello. So you were sent by Alcouskou to obtain a ^5533FF'Leather Bag of Infinity'^000000........"; - mes "I will be more than happy to make one for you............"; - next; - mes "[RuRumuni]"; - mes "But this bag is very special, and I will need some special items in order to make it."; - next; - set @BAGNFNTY, 1; - -L_List: - mes "[RuRumuni]"; - mes "Here are the items that I will need:"; - mes "- 5 ^5533FFScorpion Tails^000000"; - mes "- 1 ^5533FFCobweb^000000"; - mes "- 1 ^5533FFCactus Needle^000000"; - mes "- 1 ^5533FFEarthworm Peeling^000000."; - next; - mes "[RuRumuni]"; - mes "Once you have all of these items I will be able to make the Bag of Infinity for you."; - close; - -L_Check: - mes "Nice to see you again. Do you have all of the items? Lets see........"; - next; - if(countitem(904)<5 || countitem(1025)<1 || countitem(952)<1 || countitem(1055)<1) goto L_List; - delitem 904, 5; - delitem 1025, 1; - delitem 952, 1; - delitem 1055, 1; - mes "[RuRumuni]"; - mes "Great you have everything I asked for. Let me start making the bag right away......."; - next; - mes "~( 30 minutes later )~"; - next; - mes "[RuRumuni]"; - mes "Here you go, one Leather Bag of Infinity. Enjoy!"; - getitem 7042, 1; - set @BAGNFNTY, 0; - close; -} +//============================================================ +// Old changelog +//============================================================ +//= v1.0 Fully working +//= v1.1 Changed Sand Attack requirements from 5 Grit to 5 Fine Grit and a +//= Leather Bag of Infinity. These are the official RO requirements +//= Added npc RuRumuni, maker of Leather Bag of Infinity. [kobra_k88] +//= v1.1a Now using functions found in "Global_Functions.txt" for +//= class checks.[kobra_k88] +//= 1.2 Added Baby Class Support [Lupus] +//= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon] +//= 1.4 Fixed exploit [Lupus] +//= 1.4a Fixed some typos [IVBela] +//= 1.4b changed perm. variables to temp ones [Lupus] +//============================================================ -- cgit v1.2.3-70-g09d2