//===== eAthena Script ======================================= //= Blacksmith Quest //===== By: ================================================== //= EREMES THE CANIVALIZER(Aegis) //= Translated by: yoshiki. //= Converted by: Komurka. //= Optimized and further edited by kobra_k88. //= Further bugfixed and tested by Lupus //===== Current Version: ===================================== //= 2.2 //===== Compatible With: ===================================== //= eAthena 1.0+ //===== Description: ========================================= //= //===== Additional Comments: ================================= //= Changed some npc names to the iRO names. Changed some variable //= names and labels. Edited some text.[kobra_k88] //= Removed "if(JobLevel > 48) goto higher". It was a left over line. //= Thx to "Decker".[kobra_k88] //= Fixed some typos, thanks to Riotblade [celest] //= 1.3-1.5 Added Baby Class support [Lupus] //= 1.6 Added a func which prevent advanced classes passing //= 2nd Job Quests again. It also guides adv classes where //= to go. [Lupus] //= 1.7 item quantity/ids typos fix //= 1.8 Moved the Quest to Einbroch [Poki#3] //= 2.0 Changed numbers to constants. [Vicious] //= 2.1 Removed Duplicates [Silent] //= 2.2 Merged Jfunc, changed job numbers to constants [Lupus] //============================================================== //<==================================================== Blacksmith Altiregen (Job changer)==================================================>\\ ein_in01.gat,18,28,4 script Guildsman Altiregen 731,{ callfunc "F_BlockHigh",Job_Merchant_High,"Merchant High",Job_Whitesmith,"White Smith","Blacksmith Altiregen"; if (BaseJob == Job_Merchant) goto L_Merc; mes "[Blacksmith Altiregen]"; mes "Welcome! We're the masters of the metal, blacksmiths!"; mes "Our skills in creating weapons, in a way, is almost an art form!."; next; mes "[Blacksmith Altiregen]"; mes "Those weapons, heh, can be sold for quite a profit as well."; next; mes "[Blacksmith Altiregen]"; if (BaseJob == Job_Novice){ if(sex){ mes "Hmmm, you look like you wish to be a blacksmith! Sorry, but only merchants can be blacksmiths!."; } else { mes "...Hello little lady! If you wish to be a blacksmith, you have to be a merchant first!"; } close; } if (baseClass == Job_Swordman){ mes "Hello! Come here to order a sword? Sorry, but I have some paperwork to do, so I can't forge anything now."; close; } if (baseClass == Job_Acolyte){ mes "Oh! A Holy one...! Do me a favor and bless the sword I'm crafting!"; close; } if (baseClass == Job_Thief){ mes "Sorry, but this is more of a office, so there's nothing worth money. We CAN do knife forges though."; close; } if (baseClass == Job_Mage){ mes "Interested in training? Our guild cannot assist magic users is such matters."; close; } if (baseClass == Job_Archer){ mes "Hmmm, sorry, but we're not hiring anyone that isn't a merchent."; close; } if (BaseJob == Job_Blacksmith){ mes "Hey! Been a while, running a errand for Christopher? I feel like my hammer is getting rusty after all this office work."; close; } mes "Only Merchants can become Blacksmiths."; close; L_Merc: mes "[Blacksmith Altiregen]"; if (BSMITH_Q == 1) goto L_Test1; if (BSMITH_Q == 2 || BSMITH_Q == 3) goto L_Test2and3; if (BSMITH_Q == 4) goto L_Test4; if (BSMITH_Q == 5) goto L_Change; mes "Hello fellow merchant! Are you here to apply?"; mes "Write your name and your job level on this piece of paper."; next; menu "Apply",M_App,"What's required?",M_Req,"Not now...",M_NtNow; M_App: if(JobLevel < 40) goto sL_Lowlvl; if(JobLevel == 50) goto sL_HighLvl; mes "[Blacksmith Altiregen]"; mes "Hmmm..."; mes "Your job level is satisfactory."; next; mes "[Blacksmith Altiregen]"; mes "Good, but we don't just accept anybody."; mes "We'll need to test your merchant skills and your determination."; next; mes "[Blacksmith Altiregen]"; mes "Rustle Rustle"; next; mes "[Blacksmith Altiregen]"; mes "Hmmm, the guildsman ^5533FFGeshupenschte in Einbech^000000, is a bit short of hands."; mes "Go help him, that's the first test."; next; mes "[Blacksmith Altiregen]"; mes "Have a nice trip!"; set BSMITH_Q,1; set JBLVL, 40; close; sL_Lowlvl: mes "[Blacksmith Altiregen]"; mes "You need more training as a merchant. We only accept job level 40+"; mes "As much as I want to accept you, we have regulations. Sorry, but return later."; close; sL_HighLvl: mes "[Blacksmith Altiregen]"; mes "Wow! I'm impressed! You've done a lot of training there. You know what they say, with hard work comes great rewards."; emotion e_what; next; mes "[Blacksmith Altiregen]"; mes "Well, first things first..... The guildsman ^5533FFGeshupenschte in Einbech^000000, is a bit short on help."; mes "Go help him, that's the first test."; next; mes "[Blacksmith Altiregen]"; mes "Have a nice trip!"; set BSMITH_Q,1; set JBLVL, 50; close; M_Req: mes "[Blacksmith Altiregen]"; mes "What is required?"; mes "First, be job level 40 at least."; mes "And pass the test."; mes "That's it. The test is a bit complicated, but passable."; mes "The test involves delievering items and being quized on the special items of certain regions and then being tested on knowledge of blacksmiths."; close; M_NtNow: mes "[Blacksmith Altiregen]"; mes "Alright, see you later."; close; L_Test1: mes "You didn't leave yet? I told you to go see Geshupenschte in Einbech. See you then."; emotion e_what; close; L_Test2and3: mes "How was the work Geshupenschte gave you? He can be a pain sometimes."; close; L_Test4: if (BSMITH_Q2 == 1) goto L_NotDone; mes "Congrats! You've passed Geshupenschte's tests!"; next; mes "[Blacksmith Altiregen]"; mes "Hmm? Heh, there is one last test you know."; mes "The guildsman for the last test is Mitmayer, go talk to her now."; next; menu "Cruel, but I'll go.",-,"......I don't wanna travel T_T",M_dontgo; set BSMITH_Q2, 1; mes "[Blacksmith Altiregen]"; mes "I hope you do, because the blacksmith's guild doesn't like shaming it's status by hiring idiots!"; next; mes "[Blacksmith Altiregen]"; mes "If such a thing happened, I can see the guild crumbling down, sob T_T"; mes "Well..... Go find her!"; close; M_dontgo: mes "[Blacksmith Altiregen]"; mes "What!? You're giving up!?!........."; emotion e_what; next; mes "[Blacksmith Altiregen]"; mes "HOW DARE YOU INSULT OUR GUILD LIKE THAT!"; mes "Leave now! Don't you dare even DREAM about becoming a blacksmith!"; emotion e_omg; next; mes "[Blacksmith Altiregen]"; mes "Can't endure ANYTHING can you!? How do you plan to become a blacksmith if you can't do these simple tasks!?"; emotion e_an; close; L_NotDone: mes "Hmmm? Didn't you say you're going?"; mes "Sorry, but you gotta pass the test."; close; L_Change: if(countitem(1005) < 1) goto L_NoHam; if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Blacksmith."; if(SkillPoint > 0) close; mes "Whoah, I can see the fire in your eyes! You've passed!!"; mes "I'll grant you the power to work metals!"; next; delitem 1005,1; callfunc "Job_Change",Job_Blacksmith; mes "[Blacksmith Altiregen]"; mes "Don't forget! We're the artists that put beauty into metal! Don't you dare forget that!"; next; mes "[Blacksmith Altiregen]"; mes "Here's a present! Congrats on passing!"; if(JBLVL != 50) getitem 999,5; if(JBLVL == 50) getitem 999,10; callfunc "F_ClearJobVar"; // clears all job variables for the current player emotion e_no1; close; L_NoHam: mes "Did you forget something? You need to show me the ^5533FFHammer of Blacksmiths^000000 to prove that you've passed all of the tests."; next; mes "[Blacksmith Altiregen]"; mes "You DO have it..... don't you???"; next; menu "Oh that thing... let me just get it out of storage...",-, "Actually I sold it for pots..... now what?",sM_What; mes "[Blacksmith Altiregen]"; mes "....... grrrrrrr......."; emotion e_ag; close; sM_What: mes "[Blacksmith Altiregen]"; mes ".......... I'll tell you what............."; next; mes "[Blacksmith Altiregen]"; mes "YOU GET TO START ALL OVER!!!!"; set BSMITH_Q, 0; set BSMITH_Q2, 0; emotion e_pif; close; } //<=============================================== Geshupenschte: 1st, 2nd, 3rd Test ===================================================>\\ ein_in01.gat,201,27,4 script Geshupenschte 63,{ if(BaseJob == Job_Merchant) goto L_merchant; mes "[Geshupenschte]"; mes "Hello sir! I'm the blacksmith. Geshupenschte! Nice to meet you!"; next; mes "[Geshupenschte]"; mes "Blacksmith is such a great job!! Don't you think so? Hahahahahahah!"; emotion e_heh; close; L_merchant: mes "[Geshupenschte]"; if (BSMITH_Q == 1) goto L_Test1; if (BSMITH_Q == 2) goto L_Test2; if (BSMITH_Q == 3) goto L_Test3; if (BSMITH_Q == 4) goto L_Done; if (BSMITH_Q == 5) goto L_GoChange; mes "Hoho!! A merchant! Excellent! I was in need of some help!!"; next; mes "[Geshupenschte]"; mes "Of course.... I wouldn't want to bother someone as busy as yourself. Go on your way if you must!...."; next; mes "[Geshupenschte]"; mes "~Dum dee dum dee dum~.....I am the best.... I am a blacksmith....(singing)"; next; mes "[Geshupenschte]"; mes "What? Why are you still here?"; emotion e_what; close; // Test 1----------------------------------------------------------------- L_Test1: if (BSMITH_Q2 == 1) goto L_ReTest1; mes "You're the one sent by the guild, right?"; mes "Whew, the people order so many items >_> We don't have enough people to deliever."; next; mes "[Geshupenschte]"; mes "Well, you ARE the one sent by the guild, right?"; mes "Oh well, hopefully >_>"; next; mes "[Geshupenschte]"; mes "See, this kid a few days ago,"; mes "he wasted SO much of our money."; mes "Just because I sent him on a semi complicated errand >_>"; mes "Now, let me ask a few questions!"; next; menu "Alright",M_Rdy,"Wait, let me go and get prepared",-; mes "[Geshupenschte]"; mes "Ok, return after you're ready."; mes "I'll be waiting here."; close; M_Rdy: set @score, 0; set @temp, rand(2); if (@temp == 1) goto L_setq2; L_setq1: mes "[Geshupenschte]"; mes "1. Which town and local item don't match?"; next; menu "Morroc - Thief Clothes",q1,"Alberta - 2 Hand Axe",q1,"Comodo - Berserk Potion",q1,"Alberta - Swordmace",-; set @score,@score+10; q1: mes "[Geshupenschte]"; mes "2. What does the smith skill Hammerfall do?"; next; menu "Stun",-,"Blind",q2,"Poison",q2,"Sleep",q2; set @score,@score+10; q2: mes "[Geshupenschte]"; mes "3. What is a merchant not good at?"; next; menu "Opening Shops",q3,"Buying Cheap",q3,"Selling High",q3,"Running Fast",-; set @score,@score+10; q3: mes "[Geshupenschte]"; mes "4. Where do you buy Blue Gems?"; next; menu "Alberta",q4,"Morroc",q4,"Geffen",-,"Prontera",q4; set @score,@score+10; q4: mes "[Geshupenschte]"; mes "5. Where is the Geffen Tool Shop from the tower?"; next; menu "8 o'clock",-,"11 o'clock",q5,"6 o'clock",q5,"5 o'clock",q5; set @score,@score+10; q5: mes "[Geshupenschte]"; mes "6. What weapon can't be used by merchants?"; next; menu "Stiletto",q6,"Buster",q6,"Chain",q6,"Bible",-; set @score,@score+10; q6: mes "[Geshupenschte]"; mes "7. Which has the highest def?"; next; menu "Panty",q7,"Mink Coat",-,"Wooden Mail",q7,"Silk Robe",q7; set @score,@score+10; q7: mes "[Geshupenschte]"; mes "8. How many times can you upgrade a lvl 3 weapon safely?"; next; menu "+3 ",q8,"+4 ",q8,"+5 ",-,"+6 ",q8; set @score,@score+10; q8: mes "[Geshupenschte]"; mes "9. What can you make with Trunks?"; next; menu "Sakkat",-,"Ghost Bandana",q9,"Majestic Goat",q9,"Antlers",q9; set @score,@score+10; q9: mes "[Geshupenschte]"; mes "10. What is the most important to merchants!?"; next; menu "Helpfulness",-,"Honor",-,"Money",-,"Honesty",-; set @score,@score+10; if (BSMITH_Q2 == 1) goto L_result2; goto L_result; L_setq2: mes "[Geshupenschte]"; mes "1. Which town and local item is mismatched?"; next; menu "Aldebaran - Ygg Leaf",q10,"Alberta - Hammer",q10,"Comodo - Berserk Potion",q10,"Aldebaran - Hammer",-; set @score,@score+10; q10: mes "[Geshupenschte]"; mes "2. How much does Jellopy sell for?"; next; menu "1z",q11,"2z",q11,"3z",-,"4z",q11; set @score,@score+10; q11: mes "[Geshupenschte]"; mes "3. What's necessary to make a shop?"; next; menu "Must have cart",-,"Item to sell",q12,"Have weapon equiped",q12,"Wear Armor",q12; set @score,@score+10; q12: mes "[Geshupenschte]"; mes "4. Where is the merchant guild located?"; next; menu "Alberta",-,"Morroc",q13,"Geffen",q13,"Prontera",q13; set @score,@score+10; q13: mes "[Geshupenschte]"; mes "5. Where is the Morroc Weapon Shop from the center?"; next; menu "7 o'clock",q14,"11 o'clock",q14,"6 o'clock",q14,"5 o'clock",-; set @score,@score+10; q14: mes "[Geshupenschte]"; mes "6. What can't a merchant equip?"; next; menu "Main Gauche",q15,"Claymore",-,"Chain",q15,"2 hand axe",q15; set @score,@score+10; q15: mes "[Geshupenschte]"; mes "7. What has the highest defense?"; next; menu "Panty",q16,"Mink Coat",-,"Wooden Mail",q16,"Silk Robe",q16; set @score,@score+10; q16: mes "[Geshupenschte]"; mes "8. How many times can you safely upgrade a lvl 4 weapon?"; next; menu "+3 ",q17,"+4",-,"+5",q17,"+6",q17; set @score,@score+10; q17: mes "[Geshupenschte]"; mes "9. Which monster doesn't drop iron ore?"; next; menu "Chonchon",q18,"Steel Chonchon",q18,"Zerom",q18,"Anolian",-; set @score,@score+10; q18: mes "[Geshupenschte]"; mes "10. What is the most important to merchants?!"; next; menu "Honesty",-,"Helpfulness",-,"Money",-,"Posture",-; set @score,@score+10; if (BSMITH_Q2 == 1) goto L_result2; goto L_result; L_result: mes "[Geshupenschte]"; mes "Good!"; next; mes "[Geshupenschte]"; mes "Lets see....your score is ^5533FF"+@score+".^000000"; if (@score == 100) goto L_perfect; mes "............."; next; mes "[Geshupenschte]"; mes "Sorry friend, I don't want to give you the job."; mes "You need just a bit more knowledge. Go study some more"; set BSMITH_Q2, 1; close; L_perfect: set BSMITH_Q,2; set BSMITH_Q2, 0; mes "Perfect!"; next; mes "[Geshupenschte]"; mes "Then you definatly can do the errand!"; mes "Are you prepared?"; close; L_result2: mes "[Geshupenschte]"; mes "Great!"; next; mes "[Geshupenschte]"; mes "Lets see....your score is ^5533FF"+@score+".^000000"; if (@score > 80) goto L_pass; mes "............."; next; mes "[Geshupenschte]"; mes "You've missed again!"; mes "If you keep missing, I can't give you the job. Go study more."; set BSMITH_Q2, 1; close; L_pass: set BSMITH_Q,2; set BSMITH_Q2, 0; mes "You Passed!"; next; mes "[Geshupenschte]"; mes "I'll let you do the job"; mes "Are you prepared?"; close; L_ReTest1: mes "Ah, I see you've studied more. Don't miss any questions! Here we go!"; next; goto M_Rdy; // Test 2----------------------------------------------------------------- L_Test2: if(BSMITH_Q2 > 0) goto L_CheckTest2; mes "Let's see... orders...."; next; mes "[Geshupenschte]"; mes "Ah, here it is!"; mes "Here's the order that's almost due"; mes "Hmmm"; next; mes "[Geshupenschte]"; mes "I need you to get me...."; next; set BSMITH_Q2,rand(1,5); if (BSMITH_Q2 == 2) goto R_item2; if (BSMITH_Q2 == 3) goto R_item3; if (BSMITH_Q2 == 4) goto R_item4; if (BSMITH_Q2 == 5) goto R_item5; R_item1: mes "[Geshupenschte]"; mes "^5533FF2 Steel"; mes "1 Rotten Bandage"; mes "2 Blue Gemstone^000000"; mes "and ^5533FF1 Arc Wand^000000 from the store."; next; mes "[Geshupenschte]"; mes "Hey, we're not making you bring these because we're cheap! It's a test!"; next; mes "[Geshupenschte]"; mes "^5533FF2 Steel"; mes "1 Rotten Bandage"; mes "2 Blue Gemstone^000000"; mes "and ^5533FF1 Arc Wand^000000 from the store."; next; goto L_finalword; R_item2: mes "[Geshupenschte]"; mes "^5533FF2 Star Dust"; mes "2 Skel Bones"; mes "1 Zargons^000000"; mes "and ^5533FF1 Gladius^000000 from the stores."; next; mes "[Geshupenschte]"; mes "Hey! We're not being cheap, this is a test!"; next; mes "[Geshupenschte]"; mes "I'll list them again"; mes "^5533FF2 Star Dust"; mes "2 Skel Bones"; mes "1 Zargons^000000"; mes "and ^5533FF1 Gladius^000000 from the stores."; next; goto L_finalword; R_item3: mes "[Geshupenschte]"; mes "^5533FF2 Coals"; mes "2 Shells"; mes "2 Red Bloods^000000"; mes "and ^5533FF1 Tsurugi^000000 from the stores."; next; mes "[Geshupenschte]"; mes "Hey! We're not being cheap, this is a test!"; next; mes "[Geshupenschte]"; mes "I'll list them again"; mes "^5533FF2 Coals"; mes "2 Shells"; mes "2 Red Bloods^000000"; mes "and ^5533FF1 Tsurugi^000000 from the stores."; next; goto L_finalword; R_item4: mes "[Geshupenschte]"; mes "^5533FF8 Iron Ores"; mes "1 Trunk"; mes "2 Blue Gems^000000"; mes "And a ^5533FFArbalest^000000 from the stores."; next; mes "[Geshupenschte]"; mes "Hey! We're not being cheap!"; next; mes "[Geshupenschte]"; mes "I'll list them again."; mes "^5533FF8 Iron Ores"; mes "1 Trunk"; mes "2 Blue Gems^000000"; mes "And a ^5533FFArbalest^000000 from the stores."; next; goto L_finalword; R_item5: mes "[Geshupenschte]"; mes "^5533FF8 Iron Ores"; mes "20 Green Herbs"; mes "2 Animal Skin^000000"; mes "and ^5533FF1 Morning Star^000000 from the stores."; next; mes "[Geshupenschte]"; mes "Hey! We're not being cheap! It's a test!"; next; mes "[Geshupenschte]"; mes "I'll list them again."; mes "^5533FF8 Iron Ores"; mes "20 Green Herbs"; mes "2 Animal Skin^000000"; mes "and ^5533FF1 Morning Star^000000 from the stores."; next; L_finalword: mes "[Geshupenschte]"; mes "Good luck!"; close; L_CheckTest2: mes "Hmm? Did you bring all the items?"; next; if (BSMITH_Q2 == 2) goto L_2b; if (BSMITH_Q2 == 3) goto L_2c; if (BSMITH_Q2 == 4) goto L_2d; if (BSMITH_Q2 == 5) goto L_2e; L_2a: if(countitem(999) < 2 || countitem(930) < 1 || countitem(717) < 2 || countitem(1610) < 1) goto sL_NtEnuf1; mes "[Geshupenschte]"; mes "Didn't I ask for 3 steels?"; next; mes "[Geshupenschte]"; mes "Oh yea! I did ask for 2."; mes "Gimme a sec."; delitem 999,2; delitem 930,1; delitem 717,2; delitem 1610,1; callsub sF_Make; mes "Deliever this to Geffen's Baisulitst and bring back the reciept."; getitem 1610,1; next; mes "[Geshupenschte]"; mes "WHAT!? Nothing looks different?"; mes "Look carefully where my hand is."; mes "See the emphesized groove!?"; mes "ITS THE SUPER Geshupenschte ARC WAND MK II!!!!! XDDDDD"; next; mes "[Geshupenschte]"; mes "Feel the difference! Almost no inertia!"; next; mes "[Geshupenschte]"; mes "Now, go deliever to Baisulitst!"; close; sL_NtEnuf1: mes "[Geshupenschte]"; mes "You didn't bring all the items!"; next; goto R_item1; L_2b: if(countitem(1001) < 2 || countitem(932) < 2 || countitem(912) < 1 || countitem(1219) < 1) goto sL_NtEnuf2; mes "[Geshupenschte]"; mes "Didn't I ask for 3 Star Dusts?"; next; mes "[Geshupenschte]"; mes "Oh yea, 2, that's right."; mes "Okay, gimme a sec."; delitem 1001,2; delitem 932,2; delitem 912,1; delitem 1219,1; callsub sF_Make; mes "Now, take this to Morroc's Wickebine"; getitem 1219,1; next; mes "[Geshupenschte]"; mes "WHAT!? IT DOESN'T LOOK ANY DIFFERENT!?"; mes "Look carefully at the blade!"; mes "CAN YOU NOT SEE THE BEAUTIFUL MARKINGS?!"; mes "ULTRA GLADIUS Geshupenschte Mk II!!"; next; mes "[Geshupenschte]"; mes "Isnt it so pretty ^_^"; next; mes "[Geshupenschte]"; mes "Well, go to Morroc and give it the Wickebine and bring the receipt back."; close; sL_NtEnuf2: mes "[Geshupenschte]"; mes "You didn't bring all the items!"; next; goto R_item2; L_2c: if(countitem(1003) < 2 || countitem(935) < 2 || countitem(990) < 1 || countitem(1119) < 1) goto sL_NtEnuf3; mes "[Geshupenschte]"; mes "Didn't I ask for 3 coals??"; next; mes "[Geshupenschte]"; mes "That's right, 2 coals"; mes "Okay, wait a sec."; delitem 1003,2; delitem 935,2; delitem 990,1; delitem 1119,1; callsub sF_Make; mes "Give this to Izlude's Gromgast and bring back the receipt."; getitem 1119,1; next; mes "[Geshupenschte]"; mes "WHAT!? NOTHING LOOKS DIFFERENT!?"; mes "Look carefully at the blade!"; mes "Look at the beautiful markings!"; mes "ULTRA Geshupenschte TSURUGI Mk II!!!"; next; mes "[Geshupenschte]"; mes "Isn't it so pretty ^_^"; next; mes "[Geshupenschte]"; mes "Anyways, Izlude's Gromgast! Go!"; close; sL_NtEnuf3: mes "[Geshupenschte]"; mes "You didn't bring all the items!"; next; goto R_item3; L_2d: if(countitem(1002) < 8 || countitem(1019) < 1 || countitem(717) < 2 || countitem(1713) < 1) goto sL_NtEnuf4; mes "[Geshupenschte]"; mes "Didn't I ask for 30 iron ores?"; next; mes "[Geshupenschte]"; mes "Wait, 8 is right >_>"; mes "Hmmm, wait a sec then."; delitem 1002,8; delitem 1019,1; delitem 717,2; delitem 1713,1; callsub sF_Make; mes "Deliever this to Payon's Tilpitz"; getitem 1713,1; next; mes "[Geshupenschte]"; mes "WHAT!? NOTHING LOOKS DIFFERENT!?"; mes "LOOK AT THE GROOVES WHERE THE ARROWS GO!!"; mes "LOOK HOW CUSTOMIZED IT IS!!!!!"; mes "Geshupenschte'S MASTER ARCHER ARBALEST Mk II!!!"; next; mes "[Geshupenschte]"; mes "Look how well built the bow is!"; next; mes "[Geshupenschte]"; mes "Well, Tilpitz in Payon, and bring the envelop."; close; sL_NtEnuf4: mes "[Geshupenschte]"; mes "You didn't bring all the items!"; next; goto R_item4; L_2e: if(countitem(1002) < 8 || countitem(511) < 20 || countitem(919) < 2 || countitem(1513) < 1) goto sL_NtEnuf5; mes "[Geshupenschte]"; mes "Didn't I ask for 40 ores?"; next; mes "[Geshupenschte]"; mes "Wait, 8! That's right!"; mes "Okay, wait a sec!"; delitem 1002,8; delitem 511,20; delitem 919,2; delitem 1513,1; callsub sF_Make; mes "Take this to Bismarck in Comodo and bring me the receipt."; getitem 1513,1; next; mes "[Geshupenschte]"; mes "WHAT!? NOTHING LOOKS DIFFERENT!?"; mes "Look carefully at the tips of the spikes!!"; mes "The green herbs' antidote for poisons have been mixed in!"; mes "ANTI POISON Geshupenschte MORNING STAR MK II!!!!!"; next; mes "[Geshupenschte]"; mes "Don't you get it!? When you're poisoned, you stab yourself with it!"; mes "The wound.....probably will get bigger! But the poison will be gone!"; next; mes "[Geshupenschte]"; mes "Well, take this to Bismarck of Comodo!"; close; sL_NtEnuf5: mes "[Geshupenschte]"; mes "You didn't bring all the items!"; next; goto R_item5; sF_Make: set BSMITH_Q, 3; next; mes "[Geshupenschte]"; mes "Grunt......."; next; mes "~clank~clonk~clank~"; next; mes "[Geshupenschte]"; mes "Ergh......"; next; mes "~bonk~bang~bonk~"; next; mes "[Geshupenschte]"; mes "Whew. There we go!"; return; // Test 3----------------------------------------------------------------- L_Test3: if (BSMITH_Q3 == 1) goto L_CheckTest3; mes "Go deliever!"; mes "........you didn't forget.......right?"; next; mes "[Geshupenschte]"; if (BSMITH_Q2 == 2) goto L_3b; if (BSMITH_Q2 == 3) goto L_3c; if (BSMITH_Q2 == 4) goto L_3d; if (BSMITH_Q2 == 5) goto L_3e; L_3a: if (countitem(1610) < 1) goto L_LostItem; mes "Baisulitst should be at 11 o'clock of Geffen "; close; L_3b: if (countitem(1219) < 1) goto L_LostItem; mes "Take it to Wickebine near the Sword Mace dealer in Morroc."; close; L_3c: if (countitem(1119) < 1) goto L_LostItem; mes "Gromgast hangs out at 11 o'clock of Izlude."; close; L_3d: if (countitem(1713) < 1) goto L_LostItem; mes "Tilpitz hangs out at 5 o'clock of Payon"; close; L_3e: if (countitem(1513) < 1) goto L_LostItem; mes "Bismarck is usually at 12 o'clock area of Comodo."; close; L_LostItem: mes "WHAT!!! YOU LOST THE ITEM I GAVE YOU TO DELIVER!!!!"; emotion e_omg; next; mes "[Geshupenschte]"; mes "........... Well then.... I gues you'll just have too....."; next; mes "[Geshupenschte]"; mes "START ALL OVER!! Now get out of my sight!!"; set BSMITH_Q, 0; set BSMITH_Q2, 0; emotion e_ag; close; L_CheckTest3: mes "Did you deliever it?"; mes "Lets see the receipt then!"; next; menu "Here you go",-,"Wait a second.",M_Wait; if(countitem(1073) < 1) goto sL_noreceipt; mes "[Geshupenschte]"; mes "Great! Very good! You're definalty a honest merchant! Go see Altiregen back in Einbroch!"; mes "I know you'll definately pass the test!!!"; set BSMITH_Q, 4; set BSMITH_Q2, 0; set BSMITH_Q3, 0; delitem 1073,1; close; sL_noreceipt: mes "[Geshupenschte]"; mes "........You don't know where you left the receipt........."; next; mes "[Geshupenschte]"; mes "WHAT'S THIS?! YOU LOST IT!? DId you SELL it or something!?"; emotion e_omg; next; mes "[Geshupenschte]"; mes "The receipt is the soul of merchants! The life line of blacksmiths!"; mes "Guess what? You get to..... START ALL OVER!!"; set BSMITH_Q, 0; set BSMITH_Q2, 0; set BSMITH_Q3, 0; emotion e_pif; close; M_Wait: mes "[Geshupenschte]"; mes "Well, tell me if you find the receipt. I HOPE you got one."; close; L_Done: mes "Thanks for working for me! Now go see Altiregen!"; close; L_GoChange: mes "There should be nothing you want now........."; mes "Maybe you're thinking of Einbroch?"; close; } // Delivery Recipients ==================================================>\\ // Baisulitst ----------------------------------------------------------- geffen.gat,46,164,4 script Baisulitst 69,{ if (BSMITH_Q==3) goto L_Start; mes "[Baisulitst]"; mes "Now that I think about it, it's been a while since I've been to Alberta. I'm a little upset with the service I've been getting, especially the late deliveries......"; next; mes "[Baisulitst]"; mes "I ordered something from the Geffen Blacksmith Guild but the order got transfered to a blacksmith in Alberta....."; next; mes "[Baisulitst]"; mes "Hmmm....., I wonder when I will recieve my special order ^5555FFArc Wand^000000....."; emotion e_hmm; close; L_Start: if(BSMITH_Q2 != 1) goto L_Wrong; if(countitem(1073) == 1) goto L_Done; if(countitem(1610) < 1) goto L_NoItem; mes "[Baisulitst]"; mes "Wow! Is it finally here?!"; mes "Thank you! I was waiting forever!"; delitem 1610,1; set BSMITH_Q3, 1; next; mes "[Baisulitst]"; mes "I ordered this from the Geffen BS Guild, but they assigned it to the smith in Alberta!"; next; mes "[Baisulitst]"; mes "Thanks for coming from so far away!"; mes "Also, make sure to hit Geshupenschte one for me! How could anything be so late >_>"; next; mes "[Baisulitst]"; mes "Here's the receipt!"; next; mes "~Scribble, Scribble~ Rip ~"; next; getitem 1073,1; mes "[Baisulitst]"; mes "Here you go! Good bye! Thank you for the delivery!"; close; L_NoItem: mes "[Baisulitst]"; mes "..... Hmm?.... What's this?..... You here to deliver something to me but you don't have the actual item??"; emotion e_pif; L_Wrong: mes "[Baisulitst]"; mes "..... Hmm?.... What's this?..... This is not what I ordered....."; emotion e_pif; L_Done: mes "[Baisulitst]"; mes "Thanks again for the delivery. I really appreciate it!"; close; } // Wickebine -------------------------------------------------------------------- morocc.gat,27,112,4 script Wickebine 725,{ if (BSMITH_Q == 3) goto L_Start; mes "[Wickebine]"; mes ".........."; mes ".....When will my order be here?"; emotion e_hmm; next; mes "[Wickebine]"; mes "The Geffen Blacksmith Guild and Geshupenschte are both CHRONICALLY LATE!"; emotion e_pif; next; mes "[Wickebine]"; mes "This is very upsetting......"; close; L_Start: if(BSMITH_Q2 != 2) goto L_Wrong; if(countitem(1073) == 1) goto L_Done; if(countitem(1219) < 1) goto L_NoItem; mes "[Wickebine]"; mes "Is it finally here!?!"; mes "Give it!!!!"; delitem 1219,1; set BSMITH_Q3, 1; next; mes "[Wickebine]"; mes "Tell the BS guild"; mes "and your teacher Geshupenschte!"; next; mes "[Wickebine]"; mes "You're LATE"; mes "and I was WAITING."; next; mes "[Wickebine]"; mes "But the item seems pretty high quality."; next; mes "(Writes something down)"; next; getitem 1073,1; mes "[Wickebine]"; mes "Here's the receipt and thanks for the delivery."; close; L_NoItem: mes "[Wickebine]"; mes "Ung! You came all this way to deliver my item and you lost it??!!"; emotion e_an; close; L_Wrong: mes "[Wickebine]"; mes "I think you're supposed to deliver this somewhere else....."; emotion e_swt; close; L_Done: mes "[Wickebine]"; mes "Thank you"; close; } // Gromgast --------------------------------------------------------------------- izlude.gat,69,181,4 script Gromgast 734,{ if (BSMITH_Q == 3) goto L_Start; mes "[Gromgast]"; mes ".........."; mes ".....When will that sword arrive >_>"; next; mes "[Gromgast]"; mes "I need that sword for my training!"; mes "Nooo.....I must not get rusty!"; next; mes "[Gromgast]"; mes "Noooooooo T_T......"; close; L_Start: if(BSMITH_Q2 != 3) goto L_Wrong; if(countitem(1073) == 1) goto L_Done; if(countitem(1119) < 1) goto L_NoItem; mes "[Gromgast]"; mes "Ahhh, it's finally here"; mes "Let me see it."; delitem 1119,1; set BSMITH_Q3, 1; next; mes "[Gromgast]"; mes "Nice....."; mes "It's better then I expected."; next; mes "[Gromgast]"; mes "I think this sword is exactly what I need!!"; mes "I like it!"; next; mes "[Gromgast]"; mes "Here you go."; next; mes "~scribble~rip~"; next; getitem 1073,1; mes "[Gromgast]"; mes "Here's the receipt! Thank you."; close; L_NoItem: mes "[Gromgast]"; mes "Hmm... I don't understand.... where is the item I ordered???...."; emotion e_hmm; L_Wrong: mes "[Gromgast]"; mes "Sorry, but you've got the wrong person."; close; L_Done: mes "[Gromgast]"; mes "Thanks for the delivery!"; close; } // Tilpitz -------------------------------------------------------------------- payon.gat,214,79,4 script Tilpitz 59,{ if (BSMITH_Q == 3) goto L_Start; mes "[Tilpitz]"; mes "When's that bow coming.........."; mes "How long ago did I order this thing >_>"; next; mes "[Tilpitz]"; mes "There's no one that can make it execpt 'him'........."; mes "but, WHEN WILL IT COME >_>"; next; mes "[Tilpitz]"; mes " T_T "; close; L_Start: if(BSMITH_Q2 != 4) goto L_Wrong; if(countitem(1073) == 1) goto L_Done; if(countitem(1713) < 1) goto L_NoItem; mes "[Tilpitz]"; mes ".......Ohhh! It's finally here!!!"; mes "Let me see it!"; delitem 1713,1; set BSMITH_Q3, 1; next; mes "[Tilpitz]"; mes "Wow...."; mes "Not bad......not bad at all!!"; next; mes "[Tilpitz]"; mes "Look at this curve!! It's wonderful!!"; mes "Oh, I love this"; next; mes "[Tilpitz]"; mes "Thank you!!!"; next; mes "scribble scribble rip"; next; getitem 1073,1; mes "[Tilpitz]"; mes "Here's the receipt! Thank you again!!!!!"; close; L_NoItem: mes "[Tilpitz]"; mes "Oooh! The delivery is here? What?..... You don't have anything???....."; emotion e_what; next; mes "[Tilpitz]"; mes "Don't play bad jokes on people!"; emotion e_ag; close; L_Wrong: mes "[Tilpitz]"; mes "What's this? You have a delivery.... for someone else..... Then why not deliver it to that person instead???........"; emotion e_swt; close; L_Done: mes "[Tilpitz]"; mes "More I look at it, more beautiful it gets!!! "; close; } // Bismarck --------------------------------------------------------------------------- comodo.gat,158,342,4 script Bismarck 118,{ if (BSMITH_Q == 3) goto L_Start; mes "[Bismarck]"; mes "......Ugh?..."; mes ".....When's that delivery coming......"; next; mes "[Bismarck]"; mes "....the.....p...poison...... >_>...."; mes "Ack....."; next; mes "[Bismarck]"; mes "....Looks like... I'm....screwed."; close; L_Start: if(BSMITH_Q2 != 5) goto L_Wrong; if(countitem(1073) == 1) goto L_Done; if(countitem(1513) < 1) goto L_NoItem; mes "[Bismarck]"; mes "Ugh.........finally..........."; mes "Pant pant..........give it to me~"; delitem 1513,1; set BSMITH_Q3, 1; next; mes "[Bismarck]"; mes "Ugh...."; mes "The green herb is in it........right?"; next; mes "[Bismarck]"; mes "I........can't move.........help me up"; mes "....grunt....."; next; mes "- STAB! -"; next; mes "[Bismarck]"; mes "AAAAAAAAAAACCCCCCCCCKKKKKK!!!"; next; mes "[Bismarck]"; mes "whew, that works pretty well.."; next; getitem 1073,1; mes "[Bismarck]"; mes "Cough.... Here's the receipt..... thank you for the delivery! I guess I get to live longer......"; close; L_NoItem: mes "[Bismarck]"; mes "ARE YOU TRYING TO TOY WITH ME!!?? How.... ~cough~... could....~ung~.... you....~ack~....."; emotion e_omg; close; L_Wrong: mes "[Bismarck]"; mes "I NEED AN ANTIDOTE DAMMIT!! Not this stuff ~ack~........"; emotion e_omg; close; L_Done: mes "[Bismarck]"; mes "Whew, thank you."; close; } //<===================================================== Mitehmaeeuh: Last Test ===================================================>\\ ein_in01.gat,24,41,4 script Mitmayer 726,{ if (BSMITH_Q == 4) goto L_Start; if (BSMITH_Q == 5) goto L_Done; mes "[Mitmayer]"; mes "Whew.... the sun in Morroc is just too strong.... I guess it will gie me tougher skin... Oh well......"; emotion e_swt2; next; mes "[Mitmayer]"; mes "Afteralll, we Blacksmiths are used to high temperatures since we work with fire everyday!"; next; mes "[Mitmayer]"; mes "Getting nice and tan isn't so bad..... I think it gives you a healthy athletic look."; close; L_Done: mes "[Mitmayer]"; mes "I told you that you've passed."; next; mes "[Mitmayer]"; mes "Return to the guild"; next; mes "[Mitmayer]"; mes "Also, don't lose the Hammer of Blacksmiths!!"; next; mes "[Mitmayer]"; mes "Don't forget to use the skill points too!"; close; L_Start: mes "[Mitmayer]"; mes "Welcome! You want to be a smith?"; mes "Okay, but know that not everyody passes."; next; mes "[Mitmayer]"; mes "It's a quiz about how well you know metals and the blacksmith class."; mes "I have quite a bit to ask, so lets start"; next; menu "Ok",M_Test,"Not now",-; mes "[Mitmayer]"; mes "Okay, I'll see you then."; close; M_Test: mes "[Mitmayer]"; mes "Okay, lets start You'll fail if you don't get enough right."; next; mes "[Mitmayer]"; mes "5 questions"; mes "I won't tell you what's right or wrong."; next; set @score, 0; set @temp, rand(3); if (@temp == 1) goto R_Set2; if (@temp == 2) goto R_Set3; R_Set1: mes "[Mitmayer]"; mes "1. Which skill is needed for discount?"; next; menu "Pushcart Lv 3",sM_1a,"Item Appraisal",sM_1a,"Mammonite Lv 10",sM_1a,"Enlarge Weight Lv 3",-; set @score,@score+20; sM_1a: mes "[Mittmayer]"; mes "2. What effect does hammerfall have?"; next; menu "Stun",-,"Blind",sM_1b,"Confuse",sM_1b,"Poison",sM_1b; set @score,@score+20; sM_1b: mes "[Mitmayer]"; mes "3. How much zeny is taken when Mammonite 10 is used?"; next; menu "900z",sM_1c,"1,000z",-,"2,000z",sM_1c,"1,000,000z",sM_1c; set @score,@score+20; sM_1c: mes "[Mitmayer]"; mes "4. How much money is saved with max discount??"; next; menu "21 % ",sM_1d,"22 % ",sM_1d,"23 % ",sM_1d,"24 % ",-; set @score,@score+20; sM_1d: mes "[Mitmayer]"; mes "5. How much can you earn with max overcharge?"; next; menu "21 % ",sM_1e,"22 % ",sM_1e,"23 % ",sM_1e,"24 % ",-; set @score,@score+20; sM_1e: goto L_Result; R_Set2: mes "[Mittmayer]"; mes "1. Which monster drops steel?"; next; menu "Zerom",sM_2a,"Steel Chonchon",sM_2a,"Skel Worker",-,"Requiem",sM_2a; set @score,@score+20; sM_2a: mes "[Mitmayer]"; mes "2. What can you make with Red Bloods?"; next; menu "Flame Heart",-,"Rough Wind",sM_2b,"Great Nature",sM_2b,"Mystic Frozen",sM_2b; set @score,@score+20; sM_2b: mes "[Mitmayer]"; mes "3. Which ore do you have the most of in storage?"; next; menu "WoV",sM_2c,"Red Blood",-,"Green Live",-,"Crystal Blue",-; set @score,@score+20; sM_2c: mes "[Mitmayer]"; mes "4. What kind of monsters are weak against wind weapons?"; next; menu "Fire",sM_2d,"Water",-,"Earth",sM_2d,"Wind",sM_2d; set @score,@score+20; sM_2d: mes "[Mitmayer]"; mes "5. How many irons are needed to make steel?"; next; menu "5",-,"4",sM_2e,"3",sM_2e,"6",sM_2e; set @score,@score+20; sM_2e: goto L_Result; R_Set3: mes "[Mitmayer]"; mes "1. What do you do when you find a person in distress?"; next; menu "Ask what they need",-,"Talk for a bit",-,"Ignore",sM_3a,"Drop item and leave",sM_3a; set @score,@score+20; sM_3a: mes "[Mitmayer]"; mes "2. Where do you learn change cart?"; next; menu "Aldebaran",sM_3b,"Alberta",-,"Morroc",sM_3b,"Izlude",sM_3b; set @score,@score+20; sM_3b: mes "[Mitmayer]"; mes "3. Geffen tower is the center, where is the BS guild?"; next; menu "11oclock",sM_3c,"5oclock",-,"7oclock",sM_3c,"12oclock",sM_3c; set @score,@score+20; sM_3c: mes "[Mitmayer]"; mes "4. Which town has the most smiths"; next; menu "Prontera",sM_3d,"Morroc",sM_3d,"Alberta",sM_3d,"Geffen",-; set @score,@score+20; sM_3d: mes "[Mitmayer]"; mes "5. Which stat affect forge?"; next; menu "STR",sM_3e, "DEX ",-, "AGI",sM_3e, "VIT",sM_3e; set @score,@score+20; sM_3e: L_Result: mes "[Mitmayer]"; mes "Great work!"; next; mes "[Mitmayer]"; mes "lets see... your score is ^5533FF"+@score+"^000000 points!"; next; mes "[Mitmayer]"; if (@score > 70) goto L_Pass; mes "Failed, go study more!!"; next; mes "[Mitmayer]"; mes "It's just not enough....."; mes "Please return after you've studied more."; close; L_Pass: mes "Great! Congrats! You pass!"; emotion e_no1; next; mes "[Mitmayer]"; mes "You'll need to return to the guild. Here is proof that you passed the test.... the ^5533FFHammer of Blacksmiths^000000."; getitem 1005,1; set BSMITH_Q, 5; set BSMITH_Q2, 0; next; mes "[Mitmayer]"; mes "DON'T LOOSE THIS!!"; emotion e_gasp; next; mes "[Mitmayer]"; mes "Well, good luck!!!!"; close; } //=========================== NPC that tells you, that the Guild moved //=========================== She's there on kRO, but the current text is custom ^^ geffen_in.gat,110,169,4 script Guildsman#01 726,{ mes "[Blacksmith Guildsman]"; mes "Welcome! We're the masters of the metal, blacksmiths!"; mes "Our skills in creating weapons, in a way, is almost an art form!."; next; mes "[Blacksmith Guildsman]"; mes "Our Guild was recently moved to a biger building in the steel city of Einbroch."; mes "If you are here to take part in your training, please go there"; next; menu "What? Where? How?",-,"OK, thank you!",M_ok; mes "[Blacksmith Guildsman]"; mes "Ah. I'm sorry. You must be unfamiliar with the new and wonderful Airship Transportation System!"; next; menu "Air...what?",-,"Oh, that!",M_know; mes "[Blacksmith Guildsman]"; mes "The Airship Transportation System!"; mes "It's realy a wonderful thing. No more relying on stupid Magic Teleports."; mes "The Airship is a big flying machine that will get you to your destination in no time"; next; mes "[Blacksmith Guildsman]"; mes "Just think about it. The blue sky and white clouds. The wind in your hair."; mes "How I adore that feeling!"; next; menu "Um.. about that guild...",-,"She's nuts! RUN!",M_run; mes "[Blacksmith Guildsman]"; mes "Huh? Oh right. I get carried away sometimes..."; next; mes "[Blacksmith Guildsman]"; mes "There are two Airships. One is flying from Izlude to Yuno, and the other one flys throughout the whole Shwarzwald Republic."; mes "Thats Yuno, Hugel, Lighthalzen and Einbroch."; next; M_know: mes "[Blacksmith Guildsman]"; mes "If you wish to go to Einbroch, simply board the Airship in Izlude, get of in Yuno and take the second ship until it reaches Einbroch."; mes "When you reach your destination just ask one of the Guides for the Blacksmith Guild"; next; mes "[Blacksmith Guildsman]"; mes "Now I know that this may be a bit confusing. That's why our guild in association with the Kafra Corporation is serving free warps to Izlude!"; mes "Would you like to use our services?"; next; menu "Yes, please.",-,"No, thank you.",M_no; mes "[Blacksmith Guildsman]"; mes "Have a nice trip!!"; close2; warp "izlude.gat",145,39; end; M_ok: mes "[Blacksmith Guildsman]"; mes "Always at your service!"; close; M_run: mes "[Blacksmith Guildsman]"; mes "Huh? Hey! Where are you going?!"; close; M_no: mes "[Blacksmith Guildsman]"; mes "No? Don't tell me you're afraid of flying..."; close; }