summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-10-15 03:01:46 +0000
committerL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-10-15 03:01:46 +0000
commita672f33c0df7df8cf5c15e4953d6231a862a98ca (patch)
tree76ce9ba136f3636f0d5c03ac61560b1b7216100a /npc
parente21cce52274896709ca35256669a11707edfec82 (diff)
downloadhercules-a672f33c0df7df8cf5c15e4953d6231a862a98ca.tar.gz
hercules-a672f33c0df7df8cf5c15e4953d6231a862a98ca.tar.bz2
hercules-a672f33c0df7df8cf5c15e4953d6231a862a98ca.tar.xz
hercules-a672f33c0df7df8cf5c15e4953d6231a862a98ca.zip
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
Diffstat (limited to 'npc')
-rw-r--r--npc/Changelog.txt1
-rw-r--r--npc/quests/skills/archer_skills.txt475
-rw-r--r--npc/quests/skills/mage_skills.txt239
-rw-r--r--npc/quests/skills/thief_skills.txt872
4 files changed, 931 insertions, 656 deletions
diff --git a/npc/Changelog.txt b/npc/Changelog.txt
index ebf428e1a..5a286dd10 100644
--- a/npc/Changelog.txt
+++ b/npc/Changelog.txt
@@ -1,6 +1,7 @@
Date Added
======
2007/10/14
+ * Rev. 11471 Updated Archer, Mage, and Thief quest skill NPCs. [L0ne_W0lf]
* Rev. 11470 Added headers to Acolyte, Swordman, and Novice quest skill files. [L0ne_W0lf]
* Rev. 11469 Updated Acolyte, Swordman, and Novice quest skill NPCs. [L0ne_W0lf]
2007/10/13
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: =========================================
-//= <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]
+//============================================================