diff options
Diffstat (limited to 'npc/custom/quests')
23 files changed, 0 insertions, 4803 deletions
diff --git a/npc/custom/quests/bandit_beard.txt b/npc/custom/quests/bandit_beard.txt deleted file mode 100644 index 9f9e509f4..000000000 --- a/npc/custom/quests/bandit_beard.txt +++ /dev/null @@ -1,231 +0,0 @@ -//===== Hercules Script ====================================== -//= Bandit Beard Quest -//===== By: ================================================== -//= Mega Man Expert & Lupus -//===== Current Version: ===================================== -//= 1.3 -//===== Description: ========================================= -//= A harmless quest for a simply item w/o any bonuses "Bandit Beard" -//===== Additional Comments: ================================= -//= Fully working. -//= 1.0 First release -//= 1.1 Fixed some exploits, bugs and typos. Optimized 8) [Lupus] -//= 1.1b fixed some typos -//= 1.2 fixed donpcevent label [Lupus] -//= 1.3 Removed duplicates [L0ne_W0lf] -//============================================================ - -umbala,126,129,4 script Bearded Man#bandit 2_M_PHARMACIST,{ - if(BEARD_QUEST == 4 ) goto L_MAKE; - if(BEARD_QUEST >= 5 ) goto L_DONE; - if(BEARD_QUEST >= 1 ) goto L_THREAD; - - mes "[Bearded Man]"; - mes "Beards! Get your wonderful beards!"; - mes "Would you like a beard?"; - next; - if (select("Yes, I'd like some facial hair!", "No thanks, thats gross!") != 1) { - mes "[Bearded Man]"; - mes "Fine, be that way!"; - emotion 7; - close; - } - - mes "[Bearded Man]"; - mes "HoHo~ So you want some whiskers."; - emotion 18; - mes "Well I would give you my beards but there not cheap."; - mes "Matter of fact I have only one left..."; - mes "but I'm not selling it."; - mes "But don't get mad! I can make you one."; - next; - set BEARD_QUEST,1; -L_THREAD: - mes "[Bearded Man]"; - mes "I would need some ^8080FFThread^000000 for the Beard."; - mes "Talk to my friend in Izlude for some ^8080FFThread^000000."; - next; - - mes "[Bearded Man]"; - mes "Also I would need you to get me some things for the beard."; - mes "They are:"; -L_List: - mes "^8080FFElastic Band^000000"; - mes "^8080FF5 Animal Skins^000000"; - mes "^8080FFBlack Dye Stuff^000000"; - mes "^8080FFGranpa Beard^000000"; - mes "^8080FF100 sticky Mucus^000000"; - mes "^8080FFCounteragent^000000"; - mes " and one ^8080FF2 Carat Diamond^000000"; - close; - -L_DONE: - mes "[Bearded Man]"; - mes "Sorry, I can only make one per person."; - mes "We don't want too many beards now. Right?"; - emotion 29; - close; - -L_MAKE: - mes "[Bearded Man]"; - mes "Let's make you your beard!"; - next; - if(countitem(Flexible_String) < 1 || countitem(Animals_Skin) < 1 || countitem(Black_Dyestuffs) < 1 || countitem(Granpa_Beard) < 1 || - countitem(Sticky_Mucus) < 100 || countitem(Counteragent) < 1 || countitem(Crystal_Jewel_) < 1) goto L_NOITEMS; - delitem 7200, 1; - delitem 919, 1; - delitem 983, 1; - delitem 2241, 1; - delitem 938, 100; - delitem 973, 1; - delitem 731, 1; - mes "^8080FF~You see him cutting and sewing the beard together~^000000"; - next; - mes "^8080FF~He hands you the finished beard~^000000"; - next; - getitem 2237, 1; - set BEARD_QUEST, 5; - mes "[Bearded Man]"; - mes "Have a nice day!"; - emotion 29; - close; - -L_NOITEMS: - mes "[Bearded Man]"; - mes "What the hell! I can't make a beard without the items!"; - mes "Here is the list again:"; - emotion 23; - goto L_List; -} - -//Master Tailor---------- -izlude_in,123,175,4 script Master Tailor#bandit 1_M_04,{ - mes "[Master Tailor]"; - mes "Good evening! I am the Master Tailor!"; - if(BEARD_QUEST != 1 ) close; - - next; - mes "[Master Tailor]"; - mes "What? A Bearded Man sent you..."; - mes "Well I'm sorry to say that I am out of ^8080FFThread^000000."; - mes "But I have the address to where I get the shipments."; - mes "It is in Al de Baran Karfa Inc. warehouse area."; - mes "The address is: Al de Baran 59, 221"; - mes "See you later."; - set BEARD_QUEST, 2; - close; -} -// Karfa Thread Clerk--- -aldeba_in,70,179,5 script Karfa Clerk#bandit 4_F_KAFRA5,{ - mes "[Karfa Clerk]"; - if(BEARD_QUEST == 3 ) goto L_REPEAT; - if(BEARD_QUEST > 3 ) goto L_DONE; - - mes "What can I do for you?"; - next; - if(BEARD_QUEST == 2 ) goto L_Delivery; - - if (select("What's in the boxes?", "Nothing.") != 1) - close; - mes "[Karfa Clerk]"; - mes "They're empty."; - close; - -L_Delivery: - - mes "[Karfa Clerk]"; - mes "Sorry but we have not received any ^8080FFThread^000000."; - mes "Our shipments have been put off until its safe."; - mes "You see we get our ^8080FFThread^000000 from Alberta and a monsters keeps attacking our merchants."; - next; - mes "[Karfa Clerk]"; - mes "Now this monsters has not been doing this before."; - mes "It may have to do with the warmer months."; - mes "Please help us out!"; - set BEARD_QUEST,3; - next; - mes "[Karfa Clerk]"; -L_REPEAT: - mes "Oh by the way, that Thread Merchant is somewhere around Alberta 60 and 100..."; -L_DONE: - mes "Thank You!"; - close; -} - -//Thread Merchant ------ -alberta,65,123,6 script Man#bandit 4_M_03,{ - if(BEARD_QUEST == 3 && $@beardMobD) goto L_KILLED; - if(BEARD_QUEST > 3) goto L_DONE; - - mes "[Thread Merchant]"; - mes "ARGGG!! I can never get my stuff to Al de Baran!"; - mes "I keep getting mobbed by some bugs."; - mes "They steal all my supplies and ^8080FFThread^000000."; - next; - mes "[Thread Merchant]"; - - if(BEARD_QUEST != 3) mes "What am I to do?"; - if(BEARD_QUEST != 3) close; - - if($@beardmob > 0) mes "Kill! Kill them already!!!"; - if($@beardmob > 0) close; - mes "Are you here to help me?"; - emotion 1; - next; - if (select("Yes", "No") != 1) { - mes "[Thread Merchant]"; - mes "What to do..."; - close; - } - mes "[Thread Merchant]"; - mes "Oh thank the Gods!"; - mes "If you can only just kill the bugs I would be able to make my delivery."; - next; - mes "[Thread Merchant]"; - mes "Oh NO! Here they come!!"; - emotion 19; - donpcevent "BRDQ_MOBS::OnStart"; - close; - -L_KILLED: - set $@beardMobD,0; - mes "[Thread Merchant]"; - mes "Thank you for killing the Thief Bugs."; - mes "As a token of my gratitude here is a box full of ^8080FFThread^000000."; - set BEARD_QUEST,4; - close; - -L_DONE: - mes "[Thread Merchant]"; - mes "Thank you again!"; - emotion 15; - close; -} - -//mobsummons ------- -alberta,1,1,1 script BRDQ_MOBS FAKE_NPC,{ -OnStart: - set $@beardmob,10; - set $@beardMobD,0; - monster "alberta",65,120,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",66,120,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",67,120,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",68,120,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",66,121,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",67,121,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",68,121,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",66,122,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",67,122,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",68,122,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - end; -OnDie: - set $@beardmob, $@beardmob - 1; - if($@beardmob > 0) end; - set $@beardMobD,1; - end; -OnClock1201: -OnClock0001: - set $@beardmob,0; - set $@beardMobD,0; - end; -} diff --git a/npc/custom/quests/berzebub.txt b/npc/custom/quests/berzebub.txt deleted file mode 100644 index 5590a1911..000000000 --- a/npc/custom/quests/berzebub.txt +++ /dev/null @@ -1,62 +0,0 @@ -//===== Hercules Script ====================================== -//= Berzebub Card Quest -//===== By: ================================================== -//= jabs -//===== Current Version: ===================================== -//= 1.1 -//===== Description: ========================================= -//= Quest to get the Berzebub Card -//===== Additional Comments: ================================= -//= 1.1 Fixed ingredients. Was too exploitable [Lupus] -//= 1.2 Optimized. [Euphy] -//============================================================ - -prontera,165,178,0 script Old Woman 8_F_GRANDMOTHER,{ - - setarray .@items[0],714,25,1061,100,1095,200,618,10,1551,2,1614,1,727,20; - set .@n$,"[Old Woman]"; - - mes .@n$; - if(BerzQuest == 1) { - mes "Hey, I remember you! I already told you that you may only complete this quest once."; - close; } - mes "Greeting, lad. I found a really nifty item while I was picking mushrooms near Glast Heim."; - next; - if(select("Keep Talking", "Leave")==2) goto M_Leave; - - mes .@n$; - mes "I have never seen an item like this before. I am told it can be placed inside any accessory with a slot available."; - next; - mes .@n$; - mes "If you're interested in this item, I'll tell you what you need for me to make you one of your own. I can only give one of these to each player, so once you finish this quest, you may not do it again."; - next; - if(select("Tell me more about it", "Nah, I don't care about it")==2) goto M_Leave; - - mes .@n$; - mes "I believe the item is called a ^FF0000Berzebub Card^000000. It makes you cast spells really fast!"; - next; - mes .@n$; - mes "I need all of the following items:"; - for(set .@i,0; .@i<getarraysize(.@items); set .@i,.@i+2) { - mes " ~ "+.@items[.@i+1]+"x "+getitemname(.@items[.@i]); - if (countitem(.@items[.@i]) < .@items[.@i+1]) set .@nr,1; } - next; - if(select("I have all of that!", "I'll get those ASAP")==2) goto M_Leave; - - mes .@n$; - if (.@nr) { - mes "You lie! Get out of here and get those items, you sorry excuse for a rock star."; - close; } - for(set .@i,0; .@i<getarraysize(.@items); set .@i,.@i+2) - delitem .@items[.@i], .@items[.@i+1]; - getitem 4145,1; - set BerzQuest, 1; - mes "Congratulations! You have all the items. Here is your ^FF0000Berzebub Card^000000, as promised."; - emotion e_grat; - close; - -M_Leave: - mes .@n$; - mes "Such a great item I have right here..."; - close; -} diff --git a/npc/custom/quests/dead_branch.txt b/npc/custom/quests/dead_branch.txt deleted file mode 100644 index 7ae12a60c..000000000 --- a/npc/custom/quests/dead_branch.txt +++ /dev/null @@ -1,95 +0,0 @@ -//===== Hercules Script ====================================== -//= Dead Branch (+Bloody Branch) Quest -//===== By: ================================================== -//= GM-Yevon -//===== Current Version: ===================================== -//= 1.1 -//===== Description: ========================================= -// Simple item trade-in quest, a person can get a Dead Branch -// by simply providing the items: Log x3 (7201), Wooden Heart x1 (7189), -// Trunk x5 (1019), and Wooden Gnarl x1 (7222). -//===== Additional Comments: ================================= -//= 1.1 Optimized, added Bloody Branch with 0.01% chance [Lupus] -//============================================================ - -niflheim,204,179,3 script Mister Mobry 2_M_MOLGENSTEIN,{ - - mes "[Mister Mobry]"; - mes "Trees possess spirits you know..."; - next; - - mes "[Mister Mobry]"; - mes "In fact I know a secret about these spirits that can in some way... perhaps aid you..."; - next; - - mes "[Mister Mobry]"; - mes "I can create a spirited branch... That is, if you can provide me with the correct materials..."; - next; - while (true) { - switch (select("What Do I Need?", "Where Can I find this Crap?", "Make me a Dead Branch!", "Forget it...")) { - case 1: - mes "[Mister Mobry]"; - mes "Mwehehe... I see you want to control tree spirits am I right? Ok... I need:"; - mes "^1354453 Logs^000000"; - mes "^1354451 Wooden Heart^000000"; - mes "^1354455 Trunk^000000"; - mes "^1354451 Wooden Gnarl^000000"; - next; - continue; - case 2: - mes "[Mister Mobry]"; - mes "You can find the following items from certain monsters heheh..."; - mes "^135445Logs can be found off of Tree Golems.^000000"; - mes "^135445Wooden Hearts the essence of Tree Golems.^000000"; - mes "^135445Trunks? Seriously, think wood...^000000"; - mes "^135445Wooden Gnarl... Gibbet...^000000"; - next; - continue; - case 3: - mes "[Mister Mobry]"; - mes "Well...let us see what you brought me..."; - next; - if (countitem(Log)<3) { - mes "[Mister Mobry]"; - mes "^135445Logs^000000 are the body... I need more of them."; - mes "Get me three logs and I'll make you the spirit..."; - close; - } - if (countitem(Heart_Of_Tree)<1) { - mes "[Mister Mobry]"; - mes "The ^135445Wooden Heart^000000 is the essence of the spirit."; - mes "Get me one wooden heart and I'll make you the spirit..."; - close; - } - if (countitem(Wooden_Block)<5) { - mes "[Mister Mobry]"; - mes "What? You couldn't even find ^1354455 Trunks^000000?"; - mes "Kill Elder Willows or something... Geez... no trunks heh... pathetic."; - close; - } - if (countitem(Tree_Knot)<1) { - mes "[Mister Mobry]"; - mes "How can I make one without a ^135445Wooden Gnarl^000000?"; - mes "I said Gibbet... they are all around this place..."; - close; - } - delitem 7201,3; - delitem 7189,1; - delitem 1019,5; - delitem 7222,1; - mes "[Mister Mobry]"; - mes "Heh... Hope you have fun with the tree spirits... Careful now..."; - mes "Heh... careful now? What do I care if you di..... Never mind."; - if (rand(1000)==0) { - getitem Bloody_Dead_Branch,1; //Bloody Branch - close; - } - getitem Branch_Of_Dead_Tree,1; //Dead Branch - close; - case 4: - mes "[Mister Mobry]"; - mes "No spirit for you... then go!"; - close; - } - } -} diff --git a/npc/custom/quests/elvenear.txt b/npc/custom/quests/elvenear.txt deleted file mode 100644 index 02e650e78..000000000 --- a/npc/custom/quests/elvenear.txt +++ /dev/null @@ -1,62 +0,0 @@ -//===== Hercules Script ====================================== -//= Daily Job Quest For Elven Ears -//===== By: ================================================== -//= someone -//===== Current Version: ===================================== -//= 1.2 -//===== Description: ========================================= -//= Elven Ears (require 75+ Base Level) -//===== Additional Comments: ================================= -//= Optimized [Lupus], 1.1 misc fix -//= 1.2 Fixed exploit [Lupus] -//============================================================ - -geffen,127,49,5 script Elven Ears Quest 4_M_02,{ - mes "[Elven Ears Quest]"; - mes "Hi, today's quest is...."; - mes "Ah, the ^61B031Elven Ears ^000000Quest!"; - next; - switch (select("Requirements", "Make Item", "Cancel")) { - case 1: - mes "[Elven Ears Quest]"; - mes "Ok all you have to do is collect:"; - mes "^362ED61 Kitty Band^000000"; - mes "^362ED620 Elder Pixie Mustaches^000000"; - mes "and ^362ED620 Animal Skin^000000"; - next; - if (select("Accept", "Leave") != 1) { - mes "[Elven Ears quest]"; - mes "Maybe another time?"; - close; - } - mes "[Elven Ears Quest]"; - mes "When you are done, bring the items to me. Ok good luck finding those items."; - close; - case 2: - mes "[Elven Ears quest]"; - mes "Good good, let me just check"; - next; - if (countitem(Cat_Hairband) < 1 || countitem(Elder_Pixies_Beard) < 20 || countitem(Animals_Skin) < 20) { - mes "[Elven Ears Quest]"; - mes "You don't have the requirements."; - mes "Please come back another time..."; - close; - } - delitem 2213,1; - delitem 1040,20; - delitem 919,20; - mes "[Elven Ears quest]"; - mes "Give me a second....."; - next; - getitem 2286,1; - mes "[Elven Ears Quest]"; - mes "Ok done!"; - close; - case 3: - mes "[Elven Ears quest]"; - mes "Aw, what a shame"; - mes "Giving up already?"; - mes "Oh well maybe you will participate in tommorow's quest."; - close; - } -} diff --git a/npc/custom/quests/event_6_new_hats.txt b/npc/custom/quests/event_6_new_hats.txt deleted file mode 100644 index 50110ff52..000000000 --- a/npc/custom/quests/event_6_new_hats.txt +++ /dev/null @@ -1,389 +0,0 @@ -//===== Hercules Script ====================================== -//= Custom Quest For New Headgears -//===== By: ================================================== -//= RedxSwordxHero, Lupus -//===== Current Version: ===================================== -//= 1.4b -//===== Description: ========================================= -//= 4 brothers give you quests to get 6 new hats (missing -//= from official quests) -//= Use this custom quest instead of event_32_new_hats.txt -//= -Bongun Hat -//= -Poring Hat, Sphinx Hat -//= -Kafra Band, Panda Hat -//= -Crescent Hairpin -//===== Additional Comments: ================================= -//= Event New Hats by RedxSwordxHero -//= Ported and improved with timers [Lupus] -//= Thanks to x[tsk],fixed all item requirements to iRO specs exept -//= for hats which cannot be made on the real server. [Lupus] -//= 1.2 removed already existing official hat quests [Lupus] -//= 1.3 Spiffed up the NPC coords and their appearance [Lupus] -//= 1.4 Fixed exploits. 1.4a fixed wrong item ID [Lupus] -//============================================================ - -prt_in,130,66,5 script Zac 4_M_BIBI,{ - mes "[Zac]"; - mes "I am the oldest and strongest of the 4 brothers that makes all the newer hats. You will need to bring me the correct items for each hat, so I can make them."; - next; - mes "[Zac]"; - mes "I provide 1 hat and my brothers provides the other 5."; - next; - switch (select("Join", "Information", "Cancel")) { - case 1: - mes "[Zac]"; - mes "What hat do you want me to make?"; - next; - switch (select("Bongun Hat")) { - case 1: - mes "[Zac]"; - mes "Let me check the items you have brought here."; - next; - if (countitem(Amulet) < 10) { - mes "[Zac]"; - mes "Oh, dear. You need 10 Amulets..."; - close; - } - if (countitem(Cobaltblue_Dyestuffs) < 1) { - mes "[Zac]"; - mes "Oh, dear. You need 1 Cobaltblue Dyestuffs..."; - close; - } - if (countitem(Munak_Turban) < 1) { - mes "[Zac]"; - mes "Oh, dear. You need 1 Munak Hat..."; - close; - } - delitem Amulet,10;//Items: Amulet, - delitem Cobaltblue_Dyestuffs,1;//Items: Cobaltblue Dyestuff, - delitem Munak_Turban,1; //Items: Munak Hat, - mes "[Zac]"; - mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Bongun Hat for you right away. Please Wait a Moment."; - next; - mes "[Zac]"; - mes "Tah Dah! ^FF0000Bongun Hat^000000...! Please Take it!"; - getitem Bongun_Hat,1;//Items: Bongun Hat, - next; - mes "[Zac]"; - mes "I liked that, I look forward to making more. Thank you."; - close; - } - break; - case 2: - mes "[Zac]"; - mes "Which hat materials do you wish to know?"; - next; - switch (select("Bongun Hat")) { - case 1: - mes "[Zac]"; - mes "You need 10 Amulets, 1 Cobaltblue Dyestuffs and 1 Munak Hat for Bongun Hat."; - close; - } - break; - case 3: - mes "[Zac]"; - mes "Stop by some other time with the right materials, so I can make the hats for you."; - close; - } -} - -prt_in,162,131,5 script Blac 4_M_JOB_HUNTER,{ - mes "[Blac]"; - mes "I am the youngest and sexiest of the 4 brothers that makes all the newer hats. You will need to bring me the correct items for each hat, so I can make them."; - next; - mes "[Blac]"; - mes "I provide 1 hat and my brothers provides the other 5."; - next; - switch (select("Join", "Information", "Cancel")) { - case 1: - mes "[Blac]"; - mes "What hat do you want me to make?"; - next; - switch (select("Crescent Hairpin")) { - case 1: - mes "[Blac]"; - mes "Let me check the items you have brought here."; - next; - if (countitem(Heart_Hair_Pin) < 1) { - mes "[Blac]"; - mes "Oh, dear. You need 1 Heart Hairpin..."; - close; - } - if (countitem(Steel) < 10) { - mes "[Blac]"; - mes "Oh, dear. You need 10 Steels..."; - close; - } - delitem Heart_Hair_Pin,1;//Items: Heart Hairpin, - delitem Steel,10; //Items: Steel, - mes "[Blac]"; - mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Crescent Hairpin for you right away. Please Wait a Moment."; - next; - mes "[Blac]"; - mes "Tah Dah! ^FF0000Crescent Hairpin^000000...! Please Take it!"; - getitem First_Moon_Hair_Pin,1;//Items: Cresent Hairpin, - next; - mes "[Blac]"; - mes "I liked that, I look forward to making more. Thank you."; - close; - } - break; - case 2: - mes "[Blac]"; - mes "Which hat materials do you wish to know?"; - next; - switch (select("Crescent Hairpin")) { - case 1: - mes "[Blac]"; - mes "You need 1 Heart Hairpin and 10 Steels for Crescent Hairpin."; - close; - } - break; - case 3: - mes "[Blac]"; - mes "Stop by some other time with the right materials, so I can make the hats for you."; - close; - } -} - -prt_in,53,56,5 script Jac 1_M_PAY_ELDER,{ - mes "[Jac]"; - mes "I am the 2nd oldest and calmest of the 4 brothers that makes all the newer hats. You will need to bring me the correct items for each hat, so I can make them."; - next; - mes "[Jac]"; - mes "I provide 2 hats and my brothers provides the other 4."; - next; - switch (select("Join", "Information", "Cancel")) { - case 1: - mes "[Jac]"; - mes "What hat do you want me to make?"; - next; - switch (select("Kafra Band", "Panda Hat")) { - case 1: - mes "[Jac]"; - mes "Let me check the items you have brought here."; - next; - if (countitem(Silk_Ribbon) < 1) { - mes "[Jac]"; - mes "Oh, dear. You need 1 Silk Ribbon..."; - close; - } - if (countitem(Wild_Flower) < 1) { - mes "[Jac]"; - mes "Oh, dear. You need 1 Wild Flower..."; - close; - } - delitem Silk_Ribbon,1;//Items: Silk Ribbon, - delitem Wild_Flower,1; //Items: Wild Flower, - mes "[Jac]"; - mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Kafra Band for you right away. Please Wait a Moment."; - next; - mes "[Jac]"; - mes "Tah Dah! ^FF0000Kafra Band^000000...! Please Take it!"; - getitem Kafra_Band,1;//Items: Kafra's Band, - next; - mes "[Jac]"; - mes "I liked that, I look forward to making more. Thank you."; - close; - case 2: - mes "[Jac]"; - mes "Let me check the items you have brought here."; - next; - if (countitem(Steel) < 10) { - mes "[Jac]"; - mes "Oh, dear. You need 10 Steels..."; - close; - } - if (countitem(Bears_Foot) < 200) { - mes "[Jac]"; - mes "Oh, dear. You need 200 Bear Footskins..."; - close; - } - delitem Steel,10;//Items: Steel, - delitem Bears_Foot,200; //Items: Bears Footskin, - mes "[Jac]"; - mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Panda Hat for you right away. Please Wait a Moment."; - next; - mes "[Jac]"; - mes "Tah Dah! ^FF0000Panda Hat^000000...! Please Take it!"; - getitem Panda_Cap,1;//Items: Panda Hat, - next; - mes "[Jac]"; - mes "I liked that, I look forward to making more. Thank you."; - close; - } - break; - case 2: - mes "[Jac]"; - mes "Which hat materials do you wish to know?"; - next; - switch (select("Kafra Band", "Panda Hat")) { - case 1: - mes "[Jac]"; - mes "You need 1 Silk Ribbon and 1 Wild Flower for Kafra Band."; - close; - case 2: - mes "[Jac]"; - mes "You need 10 Steels and 200 Bear Footskins for Panda Hat."; - close; - } - break; - case 3: - mes "[Jac]"; - mes "Stop by some other time with the right materials, so I can make the hats for you."; - close; - } -} - -prt_in,45,113,5 script Pac 4_M_GEF_SOLDIER,{ - mes "[Pac]"; - mes "I am 3rd oldest and wisest of the 4 brothers that makes all the newer hats. You will need to bring me the correct items for each hat so I can make them."; - next; - mes "[Pac]"; - mes "I provide 2 hats and my brothers provides the other 4."; - next; - switch (select("Join", "Information", "Cancel")) { - case 1: - mes "[Pac]"; - mes "What hat do you want me to make?"; - next; - switch (select("Poring Hat", "Sphinx Hat")) { - case 1: - mes "[Pac]"; - mes "Let me check the items you have brought here."; - next; - if (countitem(Poring_Doll) < 1) { - mes "[Pac]"; - mes "Oh, dear. You need 1 Poring Doll..."; - close; - } - if (countitem(Jellopy) < 300) { - mes "[Pac]"; - mes "Oh, dear. You need 300 Jellopys..."; - close; - } - delitem Poring_Doll,1;//Items: Poring Doll, - delitem Jellopy,300;//Items: Jellopy, - mes "[Pac]"; - mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Poring Hat for you right away. Please Wait a Moment."; - next; - mes "[Pac]"; - mes "Tah Dah! ^FF0000Poring Hat^000000...! Please Take it!"; - getitem Poring_Hat,1;//Items: Poring Hat, - next; - mes "[Pac]"; - mes "I liked that, I look forward to making more. Thank you."; - close; - case 2: - mes "[Pac]"; - mes "Let me check the items you have brought here."; - next; - if (countitem(Steel) < 25) { - mes "[Pac]"; - mes "Oh, dear. You need 25 Steels..."; - close; - } - if (countitem(Darkgreen_Dyestuffs) < 1) { - mes "[Pac]"; - mes "Oh, dear. You need 1 DarkGreen Dyestuffs..."; - close; - } - if (countitem(Lemon_Dyestuffs) < 1) { - mes "[Pac]"; - mes "Oh, dear. You need 1 Lemon Dyestuffs..."; - close; - } - if (countitem(Transparent_Cloth) < 150) { - mes "[Pac]"; - mes "Oh, dear. You need 150 Fabric..."; - close; - } - if (countitem(Gold) < 2) { - mes "[Pac]"; - mes "Oh, dear. You need 2 Gold Bar's..."; - close; - } - delitem Steel,25;//Items: Steel, - delitem Darkgreen_Dyestuffs,1;//Items: Darkgreen Dyestuff, - delitem Lemon_Dyestuffs,1;//Items: Lemon Dyestuffs, - delitem Transparent_Cloth,150;//Items: Fabric, - delitem Gold,2; //Items: Gold, - mes "[Pac]"; - mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Sphinx Hat for you right away. Please Wait a Moment."; - next; - mes "[Pac]"; - mes "Tah Dah! ^FF0000Sphinx Hat^000000...! Please Take it!"; - getitem Spinx_Helm,1;//Items: Sphinx Hat, - next; - mes "[Pac]"; - mes "I liked that, I look forward to making more. Thank you."; - close; - } - break; - case 2: - mes "[Pac]"; - mes "Which hat materials do you wish to know?"; - next; - switch (select("Poring Hat", "Sphinx Hat")) { - case 1: - mes "[Pac]"; - mes "You need 1 Poring Doll and 300 Jellopys for Poring Hat."; - close; - case 2: - mes "[Pac]"; - mes "You need 25 Steels, 1 DarkGreen Dyestuffs, 1 Lemon Dyestuffs, 150 Fabric and 2 Gold Bar's for Sphinx Hat."; - close; - } - break; - case 3: - mes "[Pac]"; - mes "Stop by some other time with the right materials, so I can make the hats for you."; - close; - } -} - - -//these scripts make our brothers to appear and disappear in order -- script EDZac FAKE_NPC,{ -OnInit: -OnMinute15: - disablenpc "Zac"; - end; -OnMinute01: - if(rand(2)) end; - enablenpc "Zac"; - end; -} - -- script EDJac FAKE_NPC,{ -OnInit: -OnMinute30: - disablenpc "Jac"; - end; -OnMinute16: - if(rand(2)) end; - enablenpc "Jac"; - end; -} - -- script EDPac FAKE_NPC,{ -OnInit: -OnMinute45: - disablenpc "Pac"; - end; -OnMinute31: - if(rand(2)) end; - enablenpc "Pac"; - end; -} - -- script EDBlac FAKE_NPC,{ -OnInit: -OnMinute00: - disablenpc "Blac"; - end; -OnMinute46: - if(rand(2)) end; - enablenpc "Blac"; - end; -} diff --git a/npc/custom/quests/hunting_missions.txt b/npc/custom/quests/hunting_missions.txt deleted file mode 100644 index 5ba860ed4..000000000 --- a/npc/custom/quests/hunting_missions.txt +++ /dev/null @@ -1,320 +0,0 @@ -//===== Hercules Script ====================================== -//= Hunting Missions -//===== By: ================================================== -//= Euphy -//===== Current Version: ===================================== -//= 1.4b -//===== Description: ========================================= -//= Random hunting missions. -//= Rewards are based on quest difficulty. -//===== Additional Comments: ================================= -//= 1.0 Initial script. -//= 1.1 Small improvements and fixes. -//= 1.2 Added party support and replaced blacklists with an -//= SQL query, both thanks to AnnieRuru. -//= 1.3 Re-added a blacklist adapted for the SQL query. -//= 1.3a Added mission reset options. -//= 1.4 Fix ranking table using new SQL database [ossi0110] -//= 1.4a Fix a bug when a character has deleted, that account -//= can't do mission. [AnnieRuru] -//= 1.4b Update to follow author's method on fixing -//= character deletion bug [AnnieRuru] -//============================================================ - -prontera,152,187,6 script Hunting Missions 4_F_EDEN_MASTER,{ -function Chk; function Cm; - mes "[Hunting Missions]"; - mes "Hello, "+strcharinfo(PC_NAME)+"!"; - if (!#Mission_Delay) { - next; - mes "[Hunting Missions]"; - mes "I can't find any records..."; - mes "You must be new here!"; - emotion e_omg; - next; - callsub Mission_Info; - emotion e_go; - set #Mission_Delay,1; - close; - } - mes rand(2)?"Working hard, as always...":"Not slacking, I hope..."; - mes "Is there anything I can help"; - mes "you with?"; - mes " "; - mes "^777777~ You've completed ^0055FF"+Mission_Total+"^777777 mission"+((Mission_Total == 1)?"":"s")+". ~^000000"; - next; - switch(select(((!Mission0)?" ~ New Mission::":": ~ Mission Status: ~ Abandon Mission")+": ~ Information: ~ Mission Shop: ~ View Top Hunters: ~ ^777777Cancel^000000")) { - case 1: - mes "[Hunting Missions]"; - if ( #Mission_Count ) { - mes "You've started a mission"; - mes "on another character."; - if ( !@hm_char_del_check ) { - if ( !query_sql( "SELECT 1 FROM `char_reg_num_db` WHERE `key` = 'Mission0' AND `char_id` IN ( SELECT `char_id` FROM `char` WHERE `account_id` = "+ getcharid(CHAR_ID_ACCOUNT) +" )", .@dummy ) ) { - next; - mes "[Hunting Missions]"; - mes "I can't seem to find any records"; - mes "for that character, though..."; - mes "One moment, please."; - emotion e_hmm; - set #Mission_Count, 0; - } - set @hm_char_del_check, 1; - } - close; - } - if (#Mission_Delay > gettimetick(2) && .Delay) { - set .@i, #Mission_Delay-gettimetick(2); - if (.@i > 3600) set .@j$, (.@i/3600)+" hour"+(((.@i/3600) == 1)?"":"s"); - else if (.@i > 60) set .@j$, (.@i/60)+" minute"+(((.@i/60) == 1)?"":"s"); - else set .@j$, (.@i)+" second"+((.@i == 1)?"":"s"); - mes "I'm afraid you'll have to wait "+.@j$+" before taking another mission."; - close; - } - mes "You must hunt:"; - query_sql("SELECT ID FROM `mob_db` WHERE left(Sprite, 4) != 'meta' AND left(Sprite, 2) != 'E_' AND ~Mode & 32 AND EXP > 0 AND MVP1id = 0 AND DropCardid > 4000 AND DropCardid < 5000 AND ID < 2000 AND instr('"+.Blacklist$+"',ID) = 0 ORDER BY rand() LIMIT "+.Quests, .@mob); - for (set .@i,0; .@i<.Quests; set .@i,.@i+1) { - setd "Mission"+.@i, .@mob[.@i]; - setd "Mission"+.@i +"_",0; - } - set #Mission_Count, rand(.Count[0],.Count[1]); - callsub Mission_Status; - next; - mes "[Hunting Missions]"; - mes "Report back when"; - mes "you've finished."; - mes "Good luck!"; - close; - case 2: - mes "[Hunting Missions]"; - mes "Mission status:"; - callsub Mission_Status; - close; - case 3: - mes "[Hunting Missions]"; - mes "Do you really want to"; - mes "abandon your mission?"; - if (.Reset < 0 && .Delay) - mes "Your delay time will not be reset."; - else if (.Reset > 0) - mes "It will cost "+Cm(.Reset)+" Zeny."; - next; - switch(select(" ~ Abandon...", " ~ ^777777Cancel^000000")) { - case 1: - if (.Reset > 0) { - if (Zeny < .Reset) { - mes "[Hunting Missions]"; - mes "You don't have enough"; - mes "Zeny to drop this mission."; - emotion e_sry; - close; - } - Zeny -= .Reset; - emotion e_cash; - } - mes "[Hunting Missions]"; - mes "Alright, I've dropped"; - mes "your current mission."; - specialeffect(EF_STORMKICK4, AREA, playerattached()); - for(set .@i,0; .@i<.Quests; set .@i,.@i+1) { - setd "Mission"+.@i,0; - setd "Mission"+.@i+"_",0; - } - set #Mission_Count,0; - if (.Reset < 0 && .Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600); - close; - case 2: - mes "[Hunting Missions]"; - mes "I knew you were kidding!"; - mes "Keep up the good work."; - emotion e_heh; - close; - } - case 4: - callsub Mission_Info; - close; - case 5: - mes "[Hunting Missions]"; - mes "You have ^0055FF"+#Mission_Points+"^000000 Mission Points."; - mes "Use them well!"; - callshop "mission_shop",1; - npcshopattach "mission_shop"; - end; - case 6: - mes "[Hunting Missions]"; - mes "The top hunters are:"; - query_sql("SELECT char_id AS id, (SELECT `name` FROM `char` WHERE char_id = id),`value` FROM `char_reg_num_db` WHERE `key` = 'Mission_Total' ORDER BY `value` DESC LIMIT 5",.@id,.@name$,.@val); - for(set .@i,0; .@i<5; set .@i,.@i+1) - mes " [Rank "+(.@i+1)+"] "+((.@name$[.@i] == "")?"^777777none":"^0055FF"+.@name$[.@i]+"^000000 : ^FF0000"+.@val[.@i]+" pt.")+"^000000"; - close; - case 7: - mes "[Hunting Missions]"; - mes "Nothing? Okay..."; - emotion e_hmm; - close; - } - -Mission_Status: - set @f,0; - deletearray .@j[0], getarraysize(.@j); - for(set .@i,0; .@i<.Quests; set .@i,.@i+1) { - set .@j[.@i], getd("Mission"+.@i); - set .@j[.Quests], .@j[.Quests]+strmobinfo(3,.@j[.@i]); - set .@j[.Quests+1], .@j[.Quests+1]+(strmobinfo(6,.@j[.@i])/(getbattleflag("base_exp_rate")/100)*.Modifier[0]); - set .@j[.Quests+2], .@j[.Quests+2]+(strmobinfo(7,.@j[.@i])/(getbattleflag("job_exp_rate")/100)*.Modifier[1]); - mes " > "+Chk(getd("Mission"+.@i+"_"),#Mission_Count)+strmobinfo(1,.@j[.@i])+" ("+getd("Mission"+.@i+"_")+"/"+#Mission_Count+")^000000"; - } - - // Reward formulas: - set .@Mission_Points, 3+(.@j[.Quests]/.Quests/6); - set .@Base_Exp, #Mission_Count*.@j[.Quests+1]/5; - set .@Job_Exp, #Mission_Count*.@j[.Quests+2]/5; - set .@zeny, #Mission_Count*.Quests*.@j[.@i]*.Modifier[2]; - - next; - mes "[Hunting Missions]"; - mes "Mission rewards:"; - mes " > Mission Points: ^0055FF"+.@Mission_Points+"^000000"; - mes " > Base Experience: ^0055FF"+Cm(.@Base_Exp)+"^000000"; - mes " > Job Experience: ^0055FF"+Cm(.@Job_Exp)+"^000000"; - mes " > Zeny: ^0055FF"+Cm(.@zeny)+"^000000"; - if (@f) { set @f,0; return; } - next; - mes "[Hunting Missions]"; - mes "Oh, you're done!"; - mes "Good work."; - mes "Here's your reward."; - emotion e_no1; - specialeffect(EF_ANGEL, AREA, playerattached()); - specialeffect(EF_TRUESIGHT, AREA, playerattached()); - set #Mission_Points, #Mission_Points+.@Mission_Points; - set BaseExp, BaseExp+.@Base_Exp; - set JobExp, JobExp+.@Job_Exp; - Zeny += .@zeny; - for(set .@i,0; .@i<.Quests; set .@i,.@i+1) { - setd "Mission"+.@i,0; - setd "Mission"+.@i+"_",0; - } - set #Mission_Count,0; - if (.Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600); - set Mission_Total, Mission_Total+1; - if (Mission_Total == 1) query_sql("INSERT INTO `char_reg_num_db` (`char_id`,`key`,`index`,`value`) VALUES ("+getcharid(CHAR_ID_CHAR)+",'Mission_Total','0',1)"); - else query_sql("UPDATE `char_reg_num_db` SET `value` = "+Mission_Total+" WHERE `char_id` = "+getcharid(CHAR_ID_CHAR)+" AND `key` = 'Mission_Total'"); - close; - -Mission_Info: - mes "[Hunting Missions]"; - mes "If you so choose, I can assign"; - mes "you a random hunting quest."; - mes "Some are easier than others, but"; - mes "the rewards increase with difficulty."; - next; - mes "[Hunting Missions]"; - mes "Missions points are shared"; - mes "amongst all your characters."; - if (.Delay) mes "Delay time is, too."; - mes "You can't take missions on"; - mes "multiple characters at once."; - next; - mes "[Hunting Missions]"; - mes "You can start a quest"; - if (.Delay) mes "every "+((.Delay == 1)?"hour.":.Delay+" hours."); - else mes "whenever you want."; - mes "That's everything~"; - return; - -function Chk { - if (getarg(0) < getarg(1)) { set @f,1; return "^FF0000"; } - else return "^00FF00"; } - -function Cm { - set .@str$, getarg(0); - for(set .@i,getstrlen(.@str$)-3; .@i>0; set .@i,.@i-3) - set .@str$, insertchar(.@str$,",",.@i); - return .@str$; } - -OnBuyItem: - set @cost,0; - for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) - for(set .@j,0; .@j<getarraysize(.Shop); set .@j,.@j+2) - if (@bought_nameid[.@i] == .Shop[.@j]) { - set @cost, @cost+(.Shop[.@j+1]*@bought_quantity[.@i]); - break; - } - mes "[Hunting Missions]"; - if (@cost > #Mission_Points) mes "You don't have enough Mission Points."; - else { - for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) { - getitem @bought_nameid[.@i], @bought_quantity[.@i]; - dispbottom "Purchased "+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+"."; - } - set #Mission_Points, #Mission_Points-@cost; - mes "Deal completed."; - emotion e_cash; - } - set @cost,0; - deletearray @bought_nameid[0], getarraysize(@bought_nameid); - deletearray @bought_quantity[0], getarraysize(@bought_quantity); - close; - -OnNPCKillEvent: - if (!getcharid(CHAR_ID_PARTY) || !.Party) { - if (!#Mission_Count || !Mission0) end; - for (set .@i, 0; .@i<.Quests; set .@i,.@i+1) { - if (strmobinfo(1,killedrid) == strmobinfo(1,getd("Mission"+.@i))) { - if (getd("Mission"+.@i+"_") < #Mission_Count) { - dispbottom "[Hunting Mission] Killed "+(set(getd("Mission"+.@i+"_"),getd("Mission"+.@i+"_")+1))+" of "+#Mission_Count+" "+strmobinfo(1,killedrid)+"."; - end; - } - } - } - } else if (.Party) { - set .@mob, killedrid; - getmapxy(.@map1$, .@x1, .@y1, UNITTYPE_PC); - getpartymember getcharid(CHAR_ID_PARTY),1; - getpartymember getcharid(CHAR_ID_PARTY),2; - for(set .@i,0; .@i<$@partymembercount; set .@i,.@i+1) { - if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) { - attachrid $@partymemberaid[.@i]; - if (#Mission_Count && Mission0 && Hp > 0) { - getmapxy(.@map2$, .@x2, .@y2, UNITTYPE_PC); - if ((.@map1$ == .@map2$ || .Party == 1) && (distance(.@x1,.@y1,.@x2,.@y2) <= 30 || .Party < 3)) { - for(set .@j,0; .@j<.Quests; set .@j,.@j+1) { - if (strmobinfo(1,.@mob) == strmobinfo(1,getd("Mission"+.@j))) { - if (getd("Mission"+.@j+"_") < #Mission_Count) { - dispbottom "[Hunting Mission] Killed "+(set(getd("Mission"+.@j+"_"),getd("Mission"+.@j+"_")+1))+" of "+#Mission_Count+" "+strmobinfo(1,.@mob)+"."; - break; - } - } - } - } - } - } - } - } - end; - -OnInit: - set .Delay,12; // Quest delay, in hours (0 to disable). - set .Quests,4; // Number of subquests per mission (increases rewards). - set .Party,3; // Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen area only) - set .Reset,-1; // Reset options: -1 (abandoning mission sets delay time), 0 (no delay time), [Zeny] (cost to abandon mission, no delay time) - setarray .Count[0], // Min and max monsters per subquest (increases rewards). - 40,70; - setarray .Modifier[0], // Multipliers for Base Exp, Job Exp, and Zeny rewards. - getbattleflag("base_exp_rate")/100,getbattleflag("job_exp_rate")/100,60; - setarray .Shop[0], // Reward items: <ID>,<point cost> (about 10~20 points per hunt). - 512,1,513,1,514,1,538,5,539,5,558,10,561,10; - set .Blacklist$, // Blacklisted mob IDs. - "1062,1088,1183,1186,1200,1212,1220,1221,1234,1235,"+ - "1244,1245,1250,1268,1290,1293,1294,1296,1298,1299,"+ - "1300,1301,1303,1304,1305,1306,1308,1309,1311,1313,"+ - "1515,1588,1618,1676,1677,1678,1679,1796,1797,1974,"+ - "1975,1976,1977,1978,1979"; - - npcshopdelitem "mission_shop",512; - for(set .@i,0; .@i<getarraysize(.Shop); set .@i,.@i+2) - npcshopadditem "mission_shop", .Shop[.@i], .Shop[.@i+1]; - end; -} -- shop mission_shop FAKE_NPC,512:-1 diff --git a/npc/custom/quests/jewel_case.txt b/npc/custom/quests/jewel_case.txt deleted file mode 100644 index 509819626..000000000 --- a/npc/custom/quests/jewel_case.txt +++ /dev/null @@ -1,62 +0,0 @@ -//===== Hercules Script ====================================== -//= Jewel Case Quest -//===== By: ================================================== -//= Lupus -//===== Current Version: ===================================== -//= 1.0 -//===== Description: ========================================= -//= A quest for players at base level 99, -//= with Jewel Case as a reward. -//============================================================ - -lighthalzen,108,229,2 script La Fenn 4_M_JPNOJI,{ - mes "[La Fenn]"; - if(BaseLevel<99) { - if(Q_99LVL) { - mes "You... You got younger!!! But you are defenitely YOU!"; - mes "I couldn't think you were able to meet my condition..."; - emotion e_hmm; - next; - mes "[La Fenn]"; - mes "Here is your prize. It's yours for good."; - set Q_99LVL,0; - getitem Accessory_Box,1; //Jewel Case - emotion e_grat; - } else { - mes callfunc("F_Hi"); - mes "..."; - emotion e_yawn; - next; - mes "[La Fenn]"; - mes "I've got a riddle for a strong man of 2nd Class and 99 Base Level."; - mes "*Yawn* If you meet some, please tell them about my riddle."; - } - close; - } - if(BaseLevel==99 && Upper==0) { - if(Q_99LVL) { - mes "Now go forth and get younger!"; - mes "If you solve my riddle, then I'll give you a magical Jewel Case with a rare accessory."; - } else { - mes callfunc("F_Hi")+" The Hero!"; - if(BaseExp<1000000) { - mes "Now you're strong."; - mes "But... not quite strong for my riddle."; - if(rand(2)) { - mes "Kill "+((1000000-BaseExp)/3765+1)+" more Seals and return."; - } else { - mes "Kill "+((1000000-BaseExp)/81+1)+" more Poporings and come back."; - } - } else { - mes "Now you're REALLY strong."; - mes "And if you get younger than now I'll give you my treasure."; - set Q_99LVL,1; - emotion e_no1; - } - } - close; - } - emotion e_hmm; - mes "..."; - close; -} diff --git a/npc/custom/quests/kaho_balmung.txt b/npc/custom/quests/kaho_balmung.txt deleted file mode 100644 index f08ece027..000000000 --- a/npc/custom/quests/kaho_balmung.txt +++ /dev/null @@ -1,48 +0,0 @@ -//===== Hercules Script ====================================== -//= Balmung & Lord Kaho's Horns Quest -//===== By: ================================================== -//= MagicalTux -//===== Current Version: ===================================== -//= 1.1 -//===== Description: ========================================= -//= Custom quests for Balmung and Lord Kaho's Horns. -//= WARNING: The quests are very easy, so be careful! -//===== Additional Comments: ================================= -//= 1.1 Cleaned and optimized. [Euphy] -//============================================================ - -prontera,158,356,4 script Royal Messenger 8W_SOLDIER,{ - setarray .@Req1[0],1161,999,120,984,10,996,10,994,10,995,10,997,10; - setarray .@Req2[0],5013,2298,1,1001,10,996,10,994,10,995,10,997,10; - - mes "[Royal Messenger]"; - mes "Welcome to Prontera."; - mes "I am the messenger in charge of the Royal Quests."; - next; - if(select("Listen...", "Walk away")==2) close; - mes "[Royal Messenger]"; - mes "There are two quests."; - mes "Choose the one you like."; - next; - set .@i, select("Balmung", "Lord Kaho's Horns", "^777777Never mind.^000000"); - mes "[Royal Messenger]"; - if (.@i==3) { - mes "Have a nice day."; - close; } - mes "You will need the following items:"; - for(set .@j,1; .@j<13; set .@j,.@j+2) { - mes " ~ "+getd(".@Req"+.@i+"["+(.@j+1)+"]")+"x ^0055FF"+getitemname(getd(".@Req"+.@i+"["+.@j+"]"))+"^000000"; - if (!.@nr && countitem(getd(".@Req"+.@i+"["+.@j+"]")) < getd(".@Req"+.@i+"["+(.@j+1)+"]")) set .@nr,1; } - mes " ~ 1,000,000z"; - next; - mes "[Royal Messenger]"; - if (.@nr || Zeny < 1000000) { - mes "Come back when you meet all the requirements."; - close; } - for(set .@j,1; .@j<13; set .@j,.@j+2) - delitem getd(".@Req"+.@i+"["+.@j+"]"), getd(".@Req"+.@i+"["+(.@j+1)+"]"); - Zeny -= 1000000; - mes "I see you already have all the items you need. Here's your "+getitemname(getd(".@Req"+.@i+"[0]"))+", as promised."; - getitem getd(".@Req"+.@i+"[0]"),1; - close; -} diff --git a/npc/custom/quests/kahohorn.txt b/npc/custom/quests/kahohorn.txt deleted file mode 100644 index 4d37c9530..000000000 --- a/npc/custom/quests/kahohorn.txt +++ /dev/null @@ -1,67 +0,0 @@ -//===== Hercules Script ====================================== -//= Lord Kaho's Horns Quest -//===== By: ================================================== -//= -//===== Current Version: ===================================== -//= 1.1 -//===== Description: ========================================= -//= Custom quest for Lord Kaho's Horns. -//===== Additional Comments: ================================= -//= 1.1 Optimized, and fixed some requirements. [Euphy] -//============================================================ - -geffen,115,107,5 script Lord Kaho's Servant 1_M_PUBMASTER,{ - - setarray .@items[0],7005, 968, 923, 734, 724,2268,7036,7020,5053,7018,741,742,743,750,751,752,753,754; - setarray .@Drops[0],1272,1087,1039,1260,1046,1115,1252,1147,1038,1059; - set .@n$, "[Lord Kaho's Servant]"; - - mes .@n$; - mes "I worked myself to death trying to fulfill Lord Kaho's ridiculous expectations for a headgear!"; - mes "Now that I've finally found the formula for the perfect headgear, I'm willing to share my time and talents."; - next; - mes .@n$; - mes "You need the following to get the Kaho horns:"; - mes "3x ^0055FFEmperium^000000"; - next; - mes .@n$; - mes "Oh yeah..."; - mes "I also forgot to mention these..."; - next; - mes .@n$; - for(set .@i,0; .@i<10; set .@i,.@i+1) - mes "1x ^0055FF"+getitemname(.@items[.@i])+"^000000 (from "+strmobinfo(1,.@Drops[.@i])+")"; - next; - mes .@n$; - mes "We're not done yet, sweetie..."; - mes "I'm a big fan of dolls, so you need to bring me these cuties!"; - for(set .@i,10; .@i<18; set .@i,.@i+1) - mes "1x ^0055FF"+getitemname(.@items[.@i])+"^000000"; - next; - mes .@n$; - mes "Finally, I've worked hard to make these horns for my master with all the items mentioned above..."; - mes "Please include ^0055FF5 million Zeny^000000 for my efforts."; - next; - mes .@n$; - mes "Are you ready for me to make this special item?"; - next; - if(select("Sure am!", "These requirements are unfathomable!")==2) { - mes .@n$; - mes "What I had to go through was more unfathomable..."; - mes "If you succeed in getting these items, you will have incredible strength!"; - close; } - mes .@n$; - for(set .@i,0; .@i<18; set .@i,.@i+1) - if (!countitem(.@items[.@i])) { set .@nr,1; break; } - if (.@nr || countitem(Emperium) < 3 || Zeny < 5000000) { - mes "I can't afford to make this if you don't bring all materials needed. Please understand this is to benefit heroes such as yourself!"; - close; } - for(set .@i,0; .@i<18; set .@i,.@i+1) - delitem .@items[.@i],1; - delitem 714,3; - Zeny -= 5000000; - mes "Wow! You are brave indeed!"; - getitem 5013,1; - mes "Enjoy being God of Rune-Midgard!"; - close; -} diff --git a/npc/custom/quests/kings_items.txt b/npc/custom/quests/kings_items.txt deleted file mode 100644 index 991112286..000000000 --- a/npc/custom/quests/kings_items.txt +++ /dev/null @@ -1,77 +0,0 @@ -//===== Hercules Script ====================================== -//= Event King Items -//===== By: ================================================== -//= $ephiroth -//===== Current Version: ===================================== -//= 1.1 -//===== Description: ========================================= -//= Grand Circlet Quest combined with Excalibur Quest. -//===== Additional Comments: ================================= -//= 2006/09/27: 1.0 Release and fully working. [$ephiroth] -//= 1.1 Optimized. [Euphy] -//============================================================ - -prt_castle,80,170,4 script King of Prontera 1_M_PRON_KING,{ - mes "[King of Prontera]"; - mes "Hello, can you help me?"; - next; - if(select("Sure, what can I do?", "Sorry, I'm busy.")==2) { - mes "[King of Prontera]"; - mes "Ok, that's fine, I'm sure someone else will help."; - close; } - mes "[King of Prontera]"; - mes "Thank you. Well, my daughter next to me is a little rowdy..."; - mes "If you get her these items I'm sure she'll calm down."; - mes "I'll give you my crown or my sword as a reward."; - next; - setarray .@items1[0],5007,742,30,741,50,753,20,732,1,710,20,629,20; - setarray .@items2[0],1137,2254,1,2282,1,714,1; - switch(select("What do you need?", "I have the items!", "Forget it.")) { - case 1: - for(set .@i,1; .@i<3; set .@i,.@i+1) { - mes "[King of Prontera]"; - mes "If you could get me:"; - for(set .@j,1; .@j<getarraysize(getd(".@items"+.@i)); set .@j,.@j+2) - mes " ~ ^0055FF"+getd(".@items"+.@i+"["+(.@j+1)+"]")+"^000000x "+getitemname(getd(".@items"+.@i+"["+.@j+"]")); - mes "I'll give my "+((.@i)?"sword.":"crown."); - if (.@i==2) close; - next; } - case 2: - mes "[King of Prontera]"; - mes "What item do you want?"; - next; - set .@i, select("Crown", "Sword"); - for(set .@j,1; .@j<getarraysize(getd(".@items"+.@i)); set .@j,.@j+2) - if (countitem(getd(".@items"+.@i+"["+.@j+"]")) < getd(".@items"+.@i+"["+(.@j+1)+"]")) set .@nr,1; - mes "[King of Prontera]"; - if (.@nr) { - mes "You're missing something."; - mes "Come back after you get ALL the items."; - close; } - for(set .@j,1; .@j<getarraysize(getd(".@items"+.@i)); set .@j,.@j+2) - delitem getd(".@items"+.@i+"["+.@j+"]"), getd(".@items"+.@i+"["+(.@j+1)+"]"); - getitem getd(".@items"+.@i+"[0]"),1; - mes "THANK YOU SOO MUCH!!"; - mes "This will surely calm her down."; - mes "As promised, here is my "+((.@i==1)?"crown.":"sword."); - close; - case 3: - mes "[King of Prontera]"; - mes "Ok, that's fine, I'm sure someone else will help."; - close; - } -} - -prt_castle,84,170,4 script King's Daughter 1_M_SIZ,{ - mes "[King's Daughter]"; - mes "Hmph, I hate my dad right now!!"; - next; - if(select("Why?", "Whatever...")==2) { - mes "[King's Daughter]"; - mes "FINE THEN! Hmph!!"; - close; } - mes "[King's Daughter]"; - mes "Well, he won't give me what I want!!"; - mes "He's the King of Prontera. He should be able to get me ANYTHING!!!"; - close; -} diff --git a/npc/custom/quests/may_hats.txt b/npc/custom/quests/may_hats.txt deleted file mode 100644 index d4103874f..000000000 --- a/npc/custom/quests/may_hats.txt +++ /dev/null @@ -1,176 +0,0 @@ -//===== Hercules Script ====================================== -//= Quests: Bird Nest, Lion Mask, Skeleton Manteau, -//= Fashion Hip Sack & Sales Banner -//===== By: ================================================== -//= Lupus -//===== Current Version: ===================================== -//= 1.01 -//===== Description: ========================================= -//= Custom quest for some RO mobile game bonus items -//===== Additional Comments: ================================= -//= 1 May, 2006 -//= 1.01 translated the rest of dialogues -//============================================================ - -gonryun,187,140,4 script Yakima 4_F_EINWOMAN,{ - mes "[Yakima]"; - mes callfunc("F_Hi"); - mes "I can make some items for you."; - mes "They are quite rare novadays..."; - specialeffect EF_HITBODY; - next; - switch (select("Bird Nest", "Lion Mask", "Skeleton Manteau", "Fashion Hip Sack", "Sales Banner", "Leave")) { - case 1: - mes "[Yakima]"; - mes "Oh.. it's an excellent item for any beast hunter."; - emotion e_rock; - next; - mes "[Yakima]"; - mes "For the hat I'll need:"; - mes "1 Sombrero,"; - mes "920 Feathers of Birds and"; - mes "310 Bills of Birds."; - next; - mes "[Yakima]"; - mes "Do you have all the items?"; - next; - if (select("Yeah.", "Nay." != 1)) - break; - if(countitem(Sombrero) < 1 || countitem(Feather_Of_Birds) < 920 || countitem(Bill_Of_Birds) < 310) goto l_noitem;//Items: Sombrero, Feather_of_Birds, Bill_of_Birds, - delitem Sombrero,1;//Items: Sombrero, - delitem Feather_Of_Birds,920;//Items: Feather_of_Birds, - delitem Bill_Of_Birds,310;//Items: Bill_of_Birds, - getitem Bird_Nest,1;//Items: Bird_Nest, - mes "[Yakima]"; - mes "Thank you very very much!"; - mes callfunc("F_Bye"); - close; - case 2: - mes "[Yakima]"; - mes "Bingo! Many people are afraid of lions... to the muteness..."; - emotion e_slur; - next; - mes "[Yakima]"; - mes "For the hat I'll need:"; - mes "1 Tiger Mask,"; - mes "10 Tiger's Footskins,"; - mes "30 Tiger Skins and"; - mes "300 Tiger Panties."; - next; - mes "[Yakima]"; - mes "Do you have all the items?"; - next; - if (select("Yeah.", "Nay." != 1)) - break; - if(countitem(Tiger_Mask) < 1 || countitem(Tiger_Footskin) < 10 || countitem(Tigers_Skin) < 30 || countitem(Tiger_Skin_Panties) < 300) goto l_noitem;//Items: Tiger_Mask, Tiger_Skin, Tiger_Footskin, Tiger_Panty, - delitem Tiger_Mask,1;//Items: Tiger_Mask, - delitem Tiger_Footskin,10;//Items: Tiger_Footskin, - delitem Tigers_Skin,30;//Items: Tiger_Skin, - delitem Tiger_Skin_Panties,300;//Items: Tiger_Panty, - getitem Lion_Mask,1;//Items: Lion_Mask, - mes "[Yakima]"; - mes "Thank you very very much!"; - mes callfunc("F_Bye"); - close; - case 3: - mes "[Yakima]"; - mes "I wish I sold this filthy manteau faster..."; - mes "Guess it isn't so plain as it looks... Hmm."; - emotion e_wah; - next; - mes "[Yakima]"; - mes "I'm giving it almost for free:"; - mes "10 Old Manteaus,"; - mes "3 Skull Rings,"; - mes "2 Manteau[1] and"; - mes "1 Ragamuffin Manteau."; - next; - mes "[Yakima]"; - mes "Do you have all the items?"; - next; - if (select("Yeah.", "Nay." != 1)) - break; - if(countitem(Ragamuffin_Cape) < 1 || countitem(Manteau_) < 2 || countitem(Skul_Ring) < 3 || countitem(Old_Manteau) < 10) goto l_noitem;//Items: Ragamuffin_Manteau, Manteau_, Skull_Ring, Old_Manteau, - delitem Ragamuffin_Cape,1;//Items: Ragamuffin_Manteau, - delitem Manteau_,2;//Items: Manteau_, - delitem Skul_Ring,3;//Items: Skull_Ring, - delitem Old_Manteau,10;//Items: Old_Manteau, - getitem Skeletons_Cape,1;//Items: Skeleton_Manteau, - mes "[Yakima]"; - mes "Thank you very very much!"; - mes callfunc("F_Bye"); - close; - case 4: - mes "[Yakima]"; - mes "It's a fresh style! Ancessory and a bag all in one! You'd get +2 STR... It's different from that sabby nest!"; - mes "It fits to Merchant classonly."; - emotion e_heh; - next; - mes "[Yakima]"; - mes "Now my stock is full of those bags... So I'll make it from 3 flower things and a rough piece of clothes:"; - mes "3 Romantic Flowers,"; - mes "3 Fancy Flowers,"; - mes "2 Flower Rings and"; - mes "3 Pirate Bandanas."; - next; - mes "[Yakima]"; - mes "Do you have all the items?"; - next; - if (select("Yeah.", "Nay." != 1)) - break; - if(countitem(Centimental_Flower) < 3 || countitem(Fancy_Flower) < 3 || countitem(Flower_Ring) < 2 || countitem(Pirate_Bandana)<3 ) goto l_noitem;//Items: Romantic_Flower, Fancy_Flower, Flower_Ring, - delitem Centimental_Flower,3;//Items: Romantic_Flower, - delitem Fancy_Flower,3;//Items: Fancy_Flower, - delitem Flower_Ring,2;//Items: Flower_Ring, - delitem Pirate_Bandana,3;//Items: Pirate_Bandana - getitem Fashionable_Sack,1;//Items: Fashion_Hip_Sack, - mes "[Yakima]"; - mes "Thank you very very much!"; - mes callfunc("F_Bye"); - close; - case 5: - mes "[Yakima]"; - mes "Well, well, well... this sign fits any class from a certain level!"; - mes "Your foes'd be dazzled!"; - emotion e_no1; - next; - mes "[Yakima]"; - mes "Well... we construct it from some common items:"; - mes "1 Scarlet Dyestuffs,"; - mes "1 Orange Dyestuffs,"; - mes "2 Stop Posts,"; - mes "3 Clown Noses,"; - mes "180 Fig Leaves and"; - mes "20 Solid Peaches."; - next; - mes "[Yakima]"; - mes "Do you have all the items?"; - next; - if (select("Yeah.", "Nay." != 1)) - break; - if(countitem(Scarlet_Dyestuffs) < 1 || countitem(Orange_Dyestuffs) < 1 || countitem(Stop_Post) < 2 || countitem(Pierrot_Nose) < 3 || countitem(Leaf_Clothes) < 180 || countitem(Hard_Peach) < 20) goto l_noitem;//Items: Scarlet_Dyestuff, Orange_Dyestuff, Stop_Post, Clown_Nose, Fig_Leaf, Solid_Peach, - delitem Scarlet_Dyestuffs,1;//Items: Scarlet_Dyestuff, - delitem Orange_Dyestuffs,1;//Items: Orange_Dyestuff, - delitem Stop_Post,2;//Items: Stop_Post, - delitem Pierrot_Nose,3;//Items: Clown_Nose, - delitem Leaf_Clothes,180;//Items: Fig_Leaf, - delitem Hard_Peach,20;//Items: Solid_Peach, - getitem Sales_Signboard,1;//Items: Sales_Banner, - mes "[Yakima]"; - mes "Thank you very very much!"; - mes callfunc("F_Bye"); - close; - case 6: - break; - } - mes "[Yakima]"; - mes callfunc("F_Bye"); - close; - -l_noitem: - mes "[Yakima]"; - mes "You are lack of items. Please, get all the items."; - emotion e_sry; - close; - -} diff --git a/npc/custom/quests/quest_shop.txt b/npc/custom/quests/quest_shop.txt deleted file mode 100644 index 739b53c02..000000000 --- a/npc/custom/quests/quest_shop.txt +++ /dev/null @@ -1,230 +0,0 @@ -//===== Hercules Script ====================================== -//= Euphy's Quest Shop -//===== By: ================================================== -//= Euphy -//===== Current Version: ===================================== -//= 1.6a -//===== Description: ========================================= -//= A dynamic quest shop based on Lunar's, with easier config. -//= Includes support for multiple shops & cashpoints. -//= Item Preview script by ToastOfDoom. -//===== Additional Comments: ================================= -//= 1.0 Initial script. -//= 1.2 Added category support. -//= 1.3 More options and fixes. -//= 1.4 Added debug settings. -//= 1.5 Replaced categories with shop IDs. -//= 1.6 Added support for purchasing stackables. -//= 1.6a Added support for previewing costumes and robes. -//============================================================ - -// Shop NPCs -- supplying no argument displays entire menu. -// callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; -//============================================================ -prontera,164,203,6 script Quest Shop#1 4_M_MOCASS2,{ callfunc "qshop"; } - - -// Script Core -//============================================================ -- script quest_shop FAKE_NPC,{ -function Add; function Chk; function Slot; function A_An; -OnInit: - freeloop(1); - -// ----------------------------------------------------------- -// Basic shop settings. -// ----------------------------------------------------------- - - set .Announce,1; // Announce quest completion? (1: yes / 0: no) - set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) - set .ShowID,0; // Show item IDs? (1: yes / 0: no) - set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) - set .MaxStack,100; // Max number of quest items purchased at one time. - -// ----------------------------------------------------------- -// Points variable -- optional quest requirement. -// setarray .Points$[0],"<variable name>","<display name>"; -// ----------------------------------------------------------- - - setarray .Points$[0],"#CASHPOINTS","Cash Points"; - -// ----------------------------------------------------------- -// Shop IDs -- to add shops, copy dummy data at bottom of file. -// setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; -// ----------------------------------------------------------- - - setarray .Shops$[1],"Headgears","Weapons","Other"; - -// ----------------------------------------------------------- -// Quest items -- do NOT use a reward item more than once! -// Add(<shop ID>,<reward ID>,<reward amount>, -// <Zeny cost>,<point cost>, -// <required item ID>,<required item amount>{,...}); -// ----------------------------------------------------------- - - Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2); - Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600); - Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1); - Add(1,5045,1,0,0,2252,1,1054,450,943,1200); - - Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10); - Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10); - - Add(3,531,1,3,0,512,1,713,1); - Add(3,532,1,3,0,513,1,713,1); - Add(3,533,1,3,0,514,1,713,1); - Add(3,534,1,3,0,515,1,713,1); - -// ----------------------------------------------------------- - - freeloop(0); - set .menu$,""; - for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { - set .menu$, .menu$+.Shops$[.@i]+":"; - npcshopdelitem "qshop"+.@i,909; - } - end; - -OnMenu: - set .@size, getarraysize(@i); - if (!.@size) set .@i, select(.menu$); - else if (.@size == 1) set .@i, @i[0]; - else { - for(set .@j,0; .@j<.@size; set .@j,.@j+1) - set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; - set .@i, @i[select(.@menu$)-1]; - } - deletearray @i[0],getarraysize(@i); - if (.Shops$[.@i] == "") { - message strcharinfo(PC_NAME),"An error has occurred."; - end; - } - dispbottom "Select one item at a time."; - callshop "qshop"+.@i,1; - npcshopattach "qshop"+.@i; - end; - -OnBuyItem: - // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } - setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); - copyarray .@q[3],getd(".q_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+.@q[0])); - set .@q[2],.@q[1]*.@q[3]; - if (!.@q[2] || .@q[2] > 30000) { - message strcharinfo(PC_NAME),"You can't purchase that many "+getitemname(.@q[0])+"."; - end; - } - mes "[Quest Shop]"; - mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; - mes "Requirements:"; - if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000"; - if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000"; - if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) - mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000"; - next; - setarray @qe[1], getiteminfo(.@q[0], ITEMINFO_LOC), getiteminfo(.@q[0], ITEMINFO_VIEWSPRITE); - if (@qe[2] > 0 && ((@qe[1] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT))) - set .@preview,1; - addtimer 1000, strnpcinfo(NPC_NAME)+"::OnEnd"; - while(1) { - switch(select(" ~ Purchase ^0055FF"+ getitemname(.@q[0]) +"^000000", ((.@preview && !@qe[7])?" ~ Preview...": ""), " ~ ^777777Cancel^000000")) { - case 1: - if (@qe[0]) { - mes "[Quest Shop]"; - mes "You're missing one or more quest requirements."; - close; - } - if (!checkweight(.@q[0],.@q[2])) { - mes "[Quest Shop]"; - mes "^FF0000You need "+(((.@q[2] * getiteminfo(.@q[0], ITEMINFO_WEIGHT)) + Weight - MaxWeight) / 10)+" additional weight capacity to complete this trade.^000000"; - close; - } - if (.@q[4]) Zeny -= (.@q[4]*.@q[1]); - if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]); - if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) - delitem .@q[.@i],.@q[.@i+1]*.@q[1]; - getitem .@q[0],.@q[2]; - if (.Announce) announce strcharinfo(PC_NAME)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0; - specialeffect(EF_FLOWERLEAF, AREA, playerattached()); - close; - case 2: - setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1; - if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2]; - else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2]; - else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2]; - else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2]; - break; - case 3: - close; - } - } - -OnEnd: - if (@qe[7]) { - changelook LOOK_HEAD_BOTTOM, @qe[3]; - changelook LOOK_HEAD_TOP, @qe[4]; - changelook LOOK_HEAD_MID, @qe[5]; - changelook LOOK_ROBE, @qe[6]; - } - deletearray @qe[0],8; - end; - -function Add { - if (getitemname(getarg(1)) == "null") { - debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; - return; - } - setarray .@j[0],getarg(2),getarg(3),getarg(4); - for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { - if (getitemname(getarg(.@i)) == "null") { - debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; - return; - } else - setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); - } - copyarray getd(".q_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); - npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); - return; -} - -function Chk { - if (getarg(0) < getarg(1)) { - set @qe[0],1; - return "^FF0000"; - } else - return "^00FF00"; -} - -function Slot { - set .@s$,getitemname(getarg(0)); - switch(.ShowSlot) { - case 1: if (!getitemslots(getarg(0))) return .@s$; - case 2: if (getiteminfo(getarg(0), ITEMINFO_TYPE) == IT_WEAPON || getiteminfo(getarg(0), ITEMINFO_TYPE) == IT_ARMOR) return .@s$+" ["+getitemslots(getarg(0))+"]"; - default: return .@s$; - } -} - -function A_An { - setarray .@A$[0],"a","e","i","o","u"; - set .@B$, "_"+getarg(0); - for(set .@i,0; .@i<5; set .@i,.@i+1) - if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0); - return "a "+getarg(0); -} -} - -function script qshop { - deletearray @i[0],getarraysize(@i); - for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) - set @i[.@i],getarg(.@i); - doevent "quest_shop::OnMenu"; - end; -} - - -// Dummy shop data -- copy as needed. -//============================================================ -- shop qshop1 FAKE_NPC,909:-1 -- shop qshop2 FAKE_NPC,909:-1 -- shop qshop3 FAKE_NPC,909:-1 -- shop qshop4 FAKE_NPC,909:-1 -- shop qshop5 FAKE_NPC,909:-1 diff --git a/npc/custom/quests/questboard.txt b/npc/custom/quests/questboard.txt deleted file mode 100644 index ba335d2d4..000000000 --- a/npc/custom/quests/questboard.txt +++ /dev/null @@ -1,316 +0,0 @@ -//===== Hercules Script ====================================== -//= tr0n's Questboard -//===== By: ================================================== -//= tr0n -//===== Current Version: ===================================== -//= 1.4.4 -//===== Description: ========================================= -//= Easily add collection and hunting quests. -//===== Additional Comments: ================================= -// 1.0.0 Release -// 1.1.0 Added zeny reward -// 1.2.0 Rewrote checkmob and killcounter -// 1.3.1 Added level restriction -// 1.3.4 Added Reward Item Amount -// 1.4.4 Added Quest delay -//============================================================ - -prontera,129,215,5 script Questboard 4_BOARD3,{ - if(c_run==1){ - mes "[^FF7700Questboard^000000]"; - mes "^0000FF"+getd("." + currentquest$ + "_collectionname$")+"^000000"; - mes "--------------------------------"; - for( set .@j, 0; .@j < getarraysize(getd("."+ currentquest$ + "_collectionitem")); set .@j,.@j+2) { - mes "^FF0000"+getitemname(getd("."+currentquest$+"_collectionitem["+.@j+"]"))+" - "+countitem(getd("."+currentquest$+"_collectionitem["+.@j+"]"))+"/"+getd("."+currentquest$+"_collectionitem["+(.@j+1)+"]")+" ea.^000000"; - } - mes "--------------------------------"; - mes "[Reward]"; - mes "Item: ^0000FF"+((getd("." +currentquest$+"_collectionprize"))?getitemname(getd("." +currentquest$+"_collectionprize"))+" - "+getd("." +currentquest$+"_collectionamount")+" ea.^000000":"Nothing^000000"); - mes "Zeny: ^0000FF"+getd("." +currentquest$+"_collectionzeny")+"^000000"; - mes "Base EXP: ^0000FF"+getd("." +currentquest$+"_collectionexp["+0+"]")+"^000000"; - mes "Job EXP: ^0000FF"+getd("." +currentquest$+"_collectionexp["+1+"]")+"^000000"; - next; - if(select("Finish", "Abort") == 2){ - mes "[^FF7700Questboard^000000]"; - mes "Quest aborted."; - set currentquest$, ""; - set c_run, 0; - close; - } - goto L_checkitems; - } - - if(h_run==1){ - mes "[^FF7700Questboard^000000]"; - mes "^0000FF"+getd("." + currentquest$ + "_huntingname$")+"^000000"; - mes "--------------------------------"; - for( set .@j, 0; .@j < getarraysize(getd("."+ currentquest$ + "_huntingmob")); set .@j,.@j+2) { - set .@currentmob, getd("."+currentquest$+"_huntingmob["+(.@j)+"]"); - mes "^FF0000"+strmobinfo(1,getd("."+currentquest$+"_huntingmob["+.@j+"]"))+" - "+getd(currentquest$+"_"+.@currentmob+"_"+(.@j+1)+"_killcount")+"/"+getd("."+currentquest$+"_huntingmob["+(.@j+1)+"]")+" ea.^000000"; - } - mes "--------------------------------"; - mes "[Reward]"; - mes "Item: ^0000FF"+((getd("." +currentquest$+"_huntingprize"))?getitemname(getd("." +currentquest$+"_huntingprize"))+" - "+getd("." +currentquest$+"_huntingamount")+" ea.^000000":"Nothing^000000"); - mes "Zeny: ^0000FF"+getd("." +currentquest$+"_huntingzeny")+"^000000"; - mes "Base EXP: ^0000FF"+getd("." +currentquest$+"_huntingexp["+0+"]")+"^000000"; - mes "Job EXP: ^0000FF"+getd("." +currentquest$+"_huntingexp["+1+"]")+"^000000"; - next; - if(select("Finish", "Abort") == 2){ - mes "[^FF7700Questboard^000000]"; - mes "Quest aborted."; - for(set .@x, 1; .@x < getarraysize(getd("."+currentquest$+"_huntingmob")); set .@x,.@x+2){ - set .@currentmob, getd("."+currentquest$+"_huntingmob["+(.@x-1)+"]"); - setd(currentquest$+"_"+.@currentmob+"_"+.@x+"_killcount", 0); - } - set currentquest$, ""; - set h_run, 0; - close; - } - goto L_checkmobs; - } - -L_questmenu: - mes "[^FF7700Questboard^000000]"; - mes "Select category:"; - next; - - switch(select((.collection)?"Collection Quests":"", - (.hunting)?"Hunting Quests":"", - "Exit")) { - case 1: - set .@collectmenu$, ""; - for( set .@i,0; .@i < .collectionquestcount; set .@i,.@i+1) { - if (.@i) set .@collectmenu$,.@collectmenu$+":"; - set .@collectmenu$, .@collectmenu$ + "[" + getd("." +(.@i+1)+"_collectionmin") + " - " + getd("." +(.@i+1)+"_collectionmax") + "] " + getd("." + (.@i+1) + "_collectionname$"); - } - set .@selection,select(.@collectmenu$); - if(gettimetick(2) < getd(.@selection + "_collection_delay")){ - set .@time_left, getd(.@selection + "_collection_delay")-gettimetick(2); - mes "[^FF7700Questboard^000000]"; - if(.@time_left < 60) mes "You have to wait ^0000FF"+.@time_left+" seconds^000000 to do this quest again."; - if(.@time_left < 3600) mes "You have to wait ^0000FF"+.@time_left/60+" minutes^000000 to do this quest again."; - mes "You have to wait ^0000FF"+.@time_left/60/60+" hours^000000 to do this quest again."; - close; - } - mes "[^FF7700Questboard^000000]"; - mes "^0000FF"+getd("." + .@selection + "_collectionname$")+"^000000"; - mes "--------------------------------"; - for( set .@j, 0; .@j < getarraysize(getd("."+ .@selection + "_collectionitem")); set .@j,.@j+2) { - mes "^FF0000"+getitemname(getd("."+.@selection+"_collectionitem["+.@j+"]"))+" - "+getd("."+.@selection+"_collectionitem["+(.@j+1)+"]")+" ea.^000000"; - } - mes "--------------------------------"; - mes "[Reward]"; - mes "Item: ^0000FF"+((getd("." +.@selection+"_collectionprize"))?getitemname(getd("." +.@selection+"_collectionprize"))+" - "+getd("." +.@selection+"_collectionamount")+" ea.^000000":"Nothing^000000"); - mes "Zeny: ^0000FF"+getd("." +.@selection+"_collectionzeny")+"^000000"; - mes "Base EXP: ^0000FF"+getd("." +.@selection+"_collectionexp["+0+"]")+"^000000"; - mes "Job EXP: ^0000FF"+getd("." +.@selection+"_collectionexp["+1+"]")+"^000000"; - next; - if(select("Accept", "Decline") == 2){ - close; - } - if(BaseLevel >= getd("." +.@selection+"_collectionmin") && BaseLevel <= getd("." +.@selection+"_collectionmax")) - { - mes "[^FF7700Questboard^000000]"; - mes "Quest accepted."; - set c_run, 1; - set currentquest$, .@selection; - close; - } - else - { - mes "[^FF7700Questboard^000000]"; - mes "You don't have the required"; - mes "level to do this quest."; - close; - } - - case 2: - set .@huntmenu$, ""; - for( set .@i,0; .@i < .huntingquestcount; set .@i,.@i+1) { - if (.@i) set .@huntmenu$,.@huntmenu$+":"; - set .@huntmenu$, .@huntmenu$ + "[" + getd("." +(.@i+1)+"_huntingmin") + " - " + getd("." +(.@i+1)+"_huntingmax") + "] " + getd("." + (.@i+1) + "_huntingname$"); - } - set .@selection,select(.@huntmenu$); - if(gettimetick(2) < getd(.@selection + "_hunting_delay")){ - set .@time_left, getd(.@selection + "_hunting_delay")-gettimetick(2); - mes "[^FF7700Questboard^000000]"; - if(.@time_left < 60) mes "You have to wait ^0000FF"+.@time_left+" seconds^000000 to do this quest again."; - if(.@time_left < 3600) mes "You have to wait ^0000FF"+.@time_left/60+" minutes^000000 to do this quest again."; - mes "You have to wait ^0000FF"+.@time_left/60/60+" hours^000000 to do this quest again."; - close; - } - mes "[^FF7700Questboard^000000]"; - mes "^0000FF"+getd("." + .@selection + "_huntingname$")+"^000000"; - mes "--------------------------------"; - for( set .@j, 0; .@j < getarraysize(getd("."+ .@selection + "_huntingmob")); set .@j,.@j+2) { - mes "^FF0000"+strmobinfo(1,getd("."+.@selection+"_huntingmob["+.@j+"]"))+" - "+getd("."+.@selection+"_huntingmob["+(.@j+1)+"]")+" ea.^000000"; - } - mes "--------------------------------"; - mes "[Reward]"; - mes "Item: ^0000FF"+((getd("." +.@selection+"_huntingprize"))?getitemname(getd("." +.@selection+"_huntingprize"))+" - "+getd("." +.@selection+"_huntingamount")+" ea.^000000":"Nothing^000000"); - mes "Zeny: ^0000FF"+getd("." +.@selection+"_huntingzeny")+"^000000"; - mes "Base EXP: ^0000FF"+getd("." +.@selection+"_huntingexp["+0+"]")+"^000000"; - mes "Job EXP: ^0000FF"+getd("." +.@selection+"_huntingexp["+1+"]")+"^000000"; - next; - if(select("Accept", "Decline") == 2){ - close; - } - if(BaseLevel >= getd("." +.@selection+"_huntingmin") && BaseLevel <= getd("." +.@selection+"_huntingmax")) - { - mes "[^FF7700Questboard^000000]"; - mes "Quest accepted."; - set h_run, 1; - set currentquest$, .@selection; - close; - } - else - { - mes "[^FF7700Questboard^000000]"; - mes "You don't have the required"; - mes "level to do this quest."; - close; - } - case 3: - close; - } - -L_checkitems: - for( set .@k,0; .@k < getarraysize(getd("."+currentquest$+"_collectionitem")); set .@k,.@k+2) { - if(countitem(getd("."+currentquest$+"_collectionitem["+.@k+"]"))>=getd("."+currentquest$+"_collectionitem["+(.@k+1)+"]")){ - set .@checkitem,.@checkitem+2; - } - } - if(.@checkitem<getarraysize(getd("."+currentquest$+"_collectionitem"))){ - mes "[^FF7700Questboard^000000]"; - mes "You don't have everything."; - close; - } - for( set .@delcount,0; .@delcount < getarraysize(getd("."+currentquest$+"_collectionitem")); set .@delcount,.@delcount+2) { - delitem getd("."+currentquest$+"_collectionitem["+.@delcount+"]"),getd("."+currentquest$+"_collectionitem["+(.@delcount+1)+"]"); - } - mes "[^FF7700Questboard^000000]"; - mes "Congratulation! Here is your Reward."; - if(getd("." +currentquest$+"_collectionprize")!=0) getitem(getd("." +currentquest$+"_collectionprize"),getd("." +currentquest$+"_collectionamount")); - Zeny += getd("." +currentquest$+"_collectionzeny"); - getexp getd("." +currentquest$+"_collectionexp["+0+"]"),getd("." +currentquest$+"_collectionexp["+1+"]"); - setd(currentquest$ + "_collection_delay"),gettimetick(2)+.quest_delay; - set currentquest$, ""; - set c_run, 0; - close; - -L_checkmobs: - set .@goal, (getarraysize(getd("."+currentquest$+"_huntingmob"))/2); - for(set .@i, 1; .@i < getarraysize(getd("."+currentquest$+"_huntingmob")); set .@i,.@i+2){ - set .@currentmob, getd("."+currentquest$+"_huntingmob["+(.@i-1)+"]"); - if(getd(currentquest$+"_"+.@currentmob+"_"+.@i+"_killcount")==getd("."+currentquest$+"_huntingmob["+.@i+"]")){ - set .@checkmonster, .@checkmonster+1; - if(.@checkmonster==.@goal){ - goto L_checkmobs2; - } - continue; - } - goto L_checkmobs2; - } - -L_checkmobs2: - if(.@checkmonster<.@goal){ - mes "[^FF7700Questboard^000000]"; - mes "You didn't kill everything."; - close; - } - mes "[^FF7700Questboard^000000]"; - mes "Congratulation! Here is your Reward."; - for(set .@x, 1; .@x < getarraysize(getd("."+currentquest$+"_huntingmob")); set .@x,.@x+2){ - set .@currentmob, getd("."+currentquest$+"_huntingmob["+(.@x-1)+"]"); - setd(currentquest$+"_"+.@currentmob+"_"+.@x+"_killcount", 0); - } - if(getd("." +currentquest$+"_huntingprize")!=0) getitem(getd("." +currentquest$+"_huntingprize"),getd("." +currentquest$+"_huntingamount")); - Zeny += getd("." +currentquest$+"_huntingzeny"); - getexp getd("." +currentquest$+"_huntingexp["+0+"]"),getd("." +currentquest$+"_huntingexp["+1+"]"); - setd(currentquest$ + "_hunting_delay"),gettimetick(2)+.quest_delay; - set currentquest$, ""; - set h_run, 0; - close; - -OnNPCKillEvent: - if(h_run!=1) end; - for(set .@i, 1; .@i < getarraysize(getd("."+currentquest$+"_huntingmob")); set .@i,.@i+2){ - if(killedrid==getd("."+currentquest$+"_huntingmob["+(.@i-1)+"]")){ - set .@currentmob, getd("."+currentquest$+"_huntingmob["+(.@i-1)+"]"); - if(getd(currentquest$+"_"+.@currentmob+"_"+.@i+"_killcount")>=getd("."+currentquest$+"_huntingmob["+.@i+"]")) end; - setd(currentquest$+"_"+.@currentmob+"_"+.@i+"_killcount", getd(currentquest$+"_"+.@currentmob+"_"+.@i+"_killcount")+1); - dispbottom getd("."+currentquest$+"_huntingname$")+": ["+strmobinfo(1,.@currentmob)+"] ("+ getd(currentquest$+"_"+.@currentmob+"_"+.@i+"_killcount")+"/"+getd("."+currentquest$+"_huntingmob["+.@i+"]")+")"; - end; - } - continue; - } - end; - -OnInit: - function AddCollection; - function AddHunting; - - //Activate/Deactive quest categories here - set .collection, 1; - set .hunting, 1; - - //Quest Delay (seconds) - //24 hours = 86400 seconds - set .quest_delay, 0; - - //Checks if quests are loaded (prevents out of index) - if(.questsloaded==1) end; - set .questsloaded, 1; - - //Add Collection Quests here - //AddCollection("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Item ID>,<Item Amount>,...); - - //Add Hunting Quests here - //AddHunting("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Monster ID>,<Monster Amount>,...); - - end; - -function AddCollection { - set .collectionquestcount,.collectionquestcount+1; - setd ("." +.collectionquestcount+"_collectionname$", getarg(0)); - setd ("." +.collectionquestcount+"_collectionmin", getarg(1)); - setd ("." +.collectionquestcount+"_collectionmax", getarg(2)); - setd ("." +.collectionquestcount+"_collectionprize", getarg(3)); - setd ("." +.collectionquestcount+"_collectionamount", getarg(4)); - setd ("." +.collectionquestcount+"_collectionzeny", getarg(5)); - set .@argcount, 6; - set .@size, getarraysize(getd("."+ .collectionquestcount + "_collectionexp")); - setd ("." +.collectionquestcount+"_collectionexp["+.@size+"]",getarg(.@argcount)); - setd ("." +.collectionquestcount+"_collectionexp["+(.@size+1)+"]",getarg(.@argcount+1)); - set .@argcount, .@argcount+2; - while(getarg(.@argcount,-1)!=-1 && getarg(.@argcount+1,-1)!=-1) { - set .@size, getarraysize(getd("."+ .collectionquestcount + "_collectionitem")); - setd ("."+.collectionquestcount+"_collectionitem["+.@size+"]",getarg(.@argcount)); - setd ("."+.collectionquestcount+"_collectionitem["+(.@size+1)+"]",getarg(.@argcount+1)); - set .@argcount,.@argcount+2; - } - return; -} - -function AddHunting { - set .huntingquestcount,.huntingquestcount+1; - setd ("." +.huntingquestcount+"_huntingname$", getarg(0)); - setd ("." +.huntingquestcount+"_huntingmin", getarg(1)); - setd ("." +.huntingquestcount+"_huntingmax", getarg(2)); - setd ("." +.huntingquestcount+"_huntingprize", getarg(3)); - setd ("." +.huntingquestcount+"_huntingamount", getarg(4)); - setd ("." +.huntingquestcount+"_huntingzeny", getarg(5)); - set .@size, getarraysize(getd("."+ .huntingquestcount + "_huntingexp")); - set .@argcount, 6; - setd ("." +.huntingquestcount+"_huntingexp["+.@size+"]",getarg(.@argcount)); - setd ("." +.huntingquestcount+"_huntingexp["+(.@size+1)+"]",getarg(.@argcount+1)); - set .@argcount, .@argcount+2; - while(getarg(.@argcount,-1)!=-1 && getarg(.@argcount+1,-1)!=-1) { - set .@size, getarraysize(getd("."+ .huntingquestcount + "_huntingmob")); - setd ("."+.huntingquestcount+"_huntingmob["+.@size+"]",getarg(.@argcount)); - setd ("."+.huntingquestcount+"_huntingmob["+(.@size+1)+"]",getarg(.@argcount+1)); - set .@argcount, .@argcount+2; - } - return; -} -} diff --git a/npc/custom/quests/sphinx_mask.txt b/npc/custom/quests/sphinx_mask.txt deleted file mode 100644 index f7e1023c4..000000000 --- a/npc/custom/quests/sphinx_mask.txt +++ /dev/null @@ -1,50 +0,0 @@ -//===== Hercules Script ====================================== -//= Sphinx Mask Quest (custom) -//===== By: ================================================== -//= sabernet09 -//===== Current Version: ===================================== -//= 1.3 -//===== Description: ========================================= -//= This quest is related to Umbalian Chief. -//= 1.1 Removed it from official Umbala quests [Lupus] -//= 1.2 Added a missing variable (sphmask_q) [erKURITA] -//= 1.3 Optimized, and coordinates moved. [Euphy] -//============================================================ - -morocc,208,90,6 script Turban Thief 1_M_MERCHANT,{ - mes "[Turban Thief]"; - if(event_umbala < 2) { - mes "What do you wan te withz me? Be gone!"; - close; } - if(sphmask_q) { - mes "You have no more business with me, go away!"; - close; } - mes "E'llo mah frien, would I interesst tu with this rare mask? Its value I assure you is real mah frien. Tis manific!"; - next; - callsub L_Menu,1,"1,000,000",1000000; - callsub L_Menu,2,"750,000",750000; - callsub L_Menu,3,"500,000",500000; - next; - mes "[Turban Thief]"; - mes "Ack! Forgez it! I can do bettaz en elsez where!"; - set sphmask_q,1; - close; - -L_Menu: - mes "[Turban Thief]"; - switch(getarg(0)) { - case 1: mes "Wah? O ho ho ho, so you know thaz I steal dis from those savages no? Well I won'tz give it back. But I will for a pricez... wat you say?"; break; - case 2: mes "Ahh a business man are you no? Fine, how about..."; break; - case 3: mes "Hmmm... you drive a hard bargain, ok... my final offer..."; break; } - next; - if(select("Pay "+getarg(1)+"z", "No deal")==2) return; - mes "[Turban Thief]"; - if (Zeny < getarg(2)) { - mes "Are youz playin wit me? You don't have ze money!"; - close; } - Zeny -= getarg(2); - mes "O ho ho, it's a deal, then!"; - getitem 7114,1; - set sphmask_q,1; - close; -} diff --git a/npc/custom/quests/sunglasses.txt b/npc/custom/quests/sunglasses.txt deleted file mode 100644 index 416dcb571..000000000 --- a/npc/custom/quests/sunglasses.txt +++ /dev/null @@ -1,106 +0,0 @@ -//===== Hercules Script ====================================== -//= Slotted Sunglasses Quest -//===== By: ================================================== -//= amichan -//===== Current Version: ===================================== -//= 1.8 -//===== Description: ========================================= -//= Quest to get Slotted Sunglasses. -//= Will reset after quest completion. -//===== Additional Comments: ================================= -//= 1.0 by Aegis 1.1 by aichan 1.2 by x[tsk] 1.3 by Darkchild -//= 1.5 Fixed Exploit [Lupus] -//= 1.6 Fixed Exploit [KarLaeda] -//= 1.7 Relocated 'Maseph' to moc_fild07. [Kisuka] -//= 1.8 Cleaning. [Euphy] -//============================================================ - -alberta,88,193,5 script Sunglasses Trader 1_F_MERCHANT_01,{ - mes "[Sunglasses Trader]"; - if(SG_QUEST1 == 1) { - mes "There is nothing more I can tell you."; - next; - mes "[Sunglasses Trader]"; - mes "Go see Maseph. She is somewhere north of Morroc."; - close; } - mes "Hello. What can I do for you?"; - next; - if(select("I heard that you can make ^0000FFSlotted Sunglasses^000000.", "Nothing, sorry to bother you.")==2) { - mes "[Sunglasses Trader]"; - mes "Come back to me than you are ready."; - close; } - mes "[Sunglasses Trader]"; - mes "I do not make them, but I can tell you where to find the person who does. For a small fee..."; - next; - if(select("How much?", "No way, I will find her myself!")==2) { - mes "[Sunglasses Trader]"; - mes "Suit yourself, the Maker will not make you ^0000FFSlotted Sunglasses^000000 unless she knows that you are coming."; - mes "Only I can tell her you are coming."; - next; - mes "[Sunglasses Trader]"; - mes "Come back to me when you have given up. Hahaha..."; - close; } - mes "[Sunglasses Trader]"; - mes "In order for me to tell you information on ^0000FFSlotted Sunglasses^000000 you need to get me:"; - mes " - ^0000881 Carat Diamond^000000"; - mes " - ^00008850 Feathers^000000"; - mes " - ^000088100000z^000000"; - next; - if(select("Alright, here.", "That's too much!")==2) { - mes "[Sunglasses Trader]"; - mes "Suit yourself."; - close; } - mes "[Sunglasses Trader]"; - if (countitem(Crystal_Jewel) < 1 || countitem(Feather) < 50 || Zeny < 100000) { - mes "You're missing something. Come back when you've gathered all the materials."; - close; } - delitem 730,1; - delitem 949,50; - Zeny -= 100000; - set SG_QUEST1,1; - mes "[Sunglasses Trader]"; - mes "Great. Now, listen carefully."; - next; - mes "[Sunglasses Trader]"; - mes "Look for someone named Maseph somewhere north of Morroc."; - mes "I will send her a message to let her know that you are coming."; - close; -} - -moc_fild07,334,186,5 script Maseph 4_F_GON,{ - mes "[Maseph]"; - if(SG_QUEST1 != 1) { - mes "Lovely day, isn't it ?"; - close; } - mes "Hello there."; - mes "You came for the ^000088Slotted Sunglasses^000000, right?"; - next; - if(select("Yes", "No, sorry to bother you.")==2) { - mes "[Maseph]"; - mes "Off you go, then."; - close; } - mes "[Maseph]"; - mes "To make one, I will need one pair of ^000088Sunglasses^000000 and 400000z."; - next; - if(select("Here you go.", "No, thanks.")==2) { - mes "[Maseph]"; - mes "As you wish."; - close; } - mes "[Maseph]"; - if (countitem(Sunglasses) < 1) { - mes "I need one pair of ^000088Sunglasses^000000. Come back to me when you have one."; - close; } - if (Zeny < 400000) { - mes "You do not have enough Zeny. Come back to me when you do."; - close; } - delitem 2201,1; - Zeny -= 400000; - mes "Thank you. I will get on it right away..."; - next; - mes "[Maseph]"; - mes "Here you go, my friend."; - mes "Enjoy your ^000088Slotted Sunglasses^000000."; - getitem 2202,1; - set SG_QUEST1,0; - close; -} diff --git a/npc/custom/quests/tha_statues.txt b/npc/custom/quests/tha_statues.txt deleted file mode 100644 index 83630355a..000000000 --- a/npc/custom/quests/tha_statues.txt +++ /dev/null @@ -1,266 +0,0 @@ -//===== Hercules Script ====================================== -//= Custom Thanatos Tower Quest -//===== By: ================================================== -//= Bibilol, Moryagorn -//===== Current Version: ===================================== -//= 1.1 -//===== Description: ========================================= -//= Custom Thanatos Tower Quest -//===== Additional Comments: ================================= -//= 1.1 Fixed wrong NPC names in their dialogues, added -//= Justin84's gems check in Sox NPC [Lupus] -//============================================================ - -//Statue (NPC)(U: UP, D: DOWN, R: RIGHT, L: LEFT) : -// Explain Npc -tha_t08,69,106,4 script Statue HIDDEN_NPC,{ - mes "You can read on the back of the statue:"; - mes "'By the spirit of olds, the walls are closed"; - mes "Upper floors or foreign taboo"; - mes "By the order of the Statues you will find the way"; - mes "Which perhaps a day will bring you to me."; - mes ".....Thanatos '"; - close; -} - -//Tha_t09 : -//(Thalos)(U,L)-->tha_t09,17,158,4 -//(Mediane)(D,R)-->tha_t09,84,99,4 -//Script: - -tha_t09,17,158,4 script Thalos HIDDEN_NPC,{ - if(TSQ_CHK == 1) goto done; - mes "[Thalos]"; - mes "You must find the 2nd Statue now."; - set TSQ_CHK,1; - close; -done: - mes "[Thalos]"; - mes "Go search the 2nd Statue!"; - close; -} - -tha_t09,84,99,4 script Mediane HIDDEN_NPC,{ - if(TSQ_CHK != 1) goto nook; - mes "[Mediane]"; - mes "Okay, i am warping you to the next floor now."; - next; - set TSQ_CHK,0; - warp "tha_t10", 165, 138; - close; -nook: - mes "[Mediane]"; - mes "You must talk with the Spirit in the 1st Statue."; - close; -} - -//Tha_t10 : -//(Melkor)(U)-->tha_t10,130,159,4 -//(Zebrus)(D,R)-->tha_t10,160,98,4 -//(Veriaelle)(D,L)-->tha_t10,99,97,4 -//Script: - -tha_t10,130,159,4 script Melkor HIDDEN_NPC,{ - if(TSQ_CHK == 1) goto done; - mes "[Melkor]"; - mes "You must find the other Spirits now."; - mes "We are 3."; - set TSQ_CHK,1; - close; -done: - mes "[Melkor]"; - mes "Go Search, They are in this floor."; - close; -} - -tha_t10,160,98,4 script Zebrus HIDDEN_NPC,{ - if(TSQ_CHK != 1) goto nook; - mes "[Zebrus]"; - mes "Keep on this way, There is one Spirit left"; - set TSQ_CHK,2; - close; -nook: - mes "[Zebrus]"; - mes "You seems to be lost, Go back and talk to Melkor."; - next; - set TSQ_CHK,0; - close; -} - -tha_t10,99,97,4 script Veriaelle HIDDEN_NPC,{ - if(TSQ_CHK != 2) goto nook; - mes "[Veriaelle]"; - mes "Okay, i am warping you to the next floor."; - next; - set TSQ_CHK,0; - warp "tha_t11", 86, 38; - close; -nook: - mes "[Veriaelle]"; - mes "You seems to be lost, Go back and talk to Melkor."; - next; - set TSQ_CHK,0; - close; -} - -//Tha_t11 : -//(Throtre)(U,L)-->tha_t11,16,85,4 -//(Klermaz)(D,R)-->tha_t11,85,16,4 -//(Mihane)(D,L)-->tha_t11,16,16,4 -//(Seranes)(U,R)-->tha_t11,85,85,4 -//Script: - -tha_t11,16,85,4 script Throtre HIDDEN_NPC,{ - if(TSQ_CHK == 1) goto done; - mes "[Throtre]"; - mes "You got my authorization for the next floor"; - mes "However, you must show how strong you are to the other Spirits"; - set TSQ_CHK,1; - close; -done: - mes "[Throtre]"; - mes "Go search, They Can't leave this floor."; - close; -} - -tha_t11,85,16,4 script Klermaz HIDDEN_NPC,{ - if(TSQ_CHK != 1) goto nook; - mes "[Klermaz]"; - mes "Hmm it seems that Throtre allowed you to pass."; - mes "Well then you have my blessing, 2 Spirits remaining."; - set TSQ_CHK,2; - close; -nook: - mes "[Klermaz]"; - mes "You seems to be lost, Go back and talk to Throtre."; - next; - set TSQ_CHK,0; - close; -} - -tha_t11,16,16,4 script Mihane HIDDEN_NPC,{ - if(TSQ_CHK != 2) goto nook; - mes "[Mihane]"; - mes "Keep on this way, Only 1 Left."; - set TSQ_CHK,3; - close; -nook: - mes "[Mihane]"; - mes "Sorry, You must start over from the begining."; - next; - set TSQ_CHK,0; - close; -} - -tha_t11,85,85,4 script Seranes HIDDEN_NPC,{ - if(TSQ_CHK != 3 ) goto nook; - mes "[Seranes]"; - mes "Perfect, it seems that the other spirits grants you the access."; - mes "I am warping you to the next floor."; - next; - set TSQ_CHK,0; - warp "tha_t12", 129, 58; - close; -nook: - mes "[Seranes]"; - mes "You did not follow the good order, starts again from the begining."; - next; - set TSQ_CHK,0; - close; -} - -//Tha_t12 ( M: Middle): -//(Nox)(D,L)-->tha_t12,103,18,4 -//(Vox)(R)-->tha_t12,162,58,4 -//(Hox)(L)-->tha_t12,96,57,4 -//(Dox)(D,R)-->tha_t12,153,17,4 -//(Sox)(U)-->tha_t12,128,88,4 -//Script: - -tha_t12,103,18,4 script Nox HIDDEN_NPC,{ - if(TSQ_CHK == 1 ) goto done; - mes "[Nox]"; - mes "Fine, 4 Spirits left."; - set TSQ_CHK,1; - close; -done: - mes "[Nox]"; - mes "Go search, They can't leave this floor."; - close; -} - -tha_t12,162,58,4 script Vox HIDDEN_NPC,{ - if(TSQ_CHK != 1 ) goto nook; - mes "[Vox]"; - mes "Keep on this way, 3 Spirits remaining !"; - set TSQ_CHK,2; - close; -nook: - mes "[Vox]"; - mes "Sorry, Go back and talk to Nox."; - next; - set TSQ_CHK,0; - close; -} - -tha_t12,96,57,4 script Hox HIDDEN_NPC,{ - if(TSQ_CHK != 2 ) goto nook; - mes "[Hox]"; - mes "You are on the good way, 2 Spirits remaining !"; - set TSQ_CHK,3; - close; -nook: - mes "[Hox]"; - mes "Sorry, Go back and talk to Vox."; - next; - set TSQ_CHK,0; - close; -} - -tha_t12,153,17,4 script Dox HIDDEN_NPC,{ - if(TSQ_CHK != 3 ) goto nook; - mes "[Dox]"; - mes "Perfect, 1 Spirit left."; - set TSQ_CHK,4; - close; -nook: - mes "[Dox]"; - mes "Sorry, Go back and talk to Hox."; - next; - set TSQ_CHK,0; - close; -} - -tha_t12,128,88,4 script Sox HIDDEN_NPC,{ - if(TSQ_CHK != 4 ) goto nook; - mes "[Sox]"; - mes "You have just passed the test successfully."; - next; - mes "[Sox]"; - mes "You have to give me Red Magic Stone, Yellow Magic Stone, Blue Magic Stone & Green Magic Stone."; - next; - if(countitem(Magic_Gem_Red) < 1 || countitem(Magic_Gem_Yellow) < 1 || countitem(Magic_Gem_Blue) < 1 || countitem(Magic_Gem_Green) < 1) goto nostone; - delitem 7426,1; - delitem 7427,1; - delitem 7428,1; - delitem 7429,1; - mes "[Sox]"; - mes "I will now warp you to steps of Fate."; - mes "Good-bye."; - next; - set TSQ_CHK,0; - warp "thana_step", 186, 223; - close; - -nostone: - mes "[Sox]"; - mes "Oh well, seems you don't have enough stones."; - close; - -nook: - mes "[Sox]"; - mes "Sorry, Go back and talk to Dox."; - next; - set TSQ_CHK,0; - close; -} diff --git a/npc/custom/quests/thq/THQS_ChatingNPC.txt b/npc/custom/quests/thq/THQS_ChatingNPC.txt deleted file mode 100644 index 2ea65e3c9..000000000 --- a/npc/custom/quests/thq/THQS_ChatingNPC.txt +++ /dev/null @@ -1,93 +0,0 @@ -//===== Hercules Script ====================================== -//= Treasure Hunter Quests -//===== By: ================================================== -//= Fredzilla -//===== Current Version: ===================================== -//= 1.0 -//===== Description: ========================================= -//= Start for Treasure hunter quests -//===== Additional Comments: ================================= -//= Event_THQS - Used to check if you have already registered -//= #Treasure_Token - used to keep track of tokens -//============================================================ - -//Entrance Flags -yuno,48,101,6 script Notice GUILD_FLAG,{ - mes "^FF0000[ Treasure Hunter Guild House ]^000000"; - mes " "; - mes "Welcome to the Treasure Hunter's Guild House."; - mes "Feel free to drop in and look around"; - mes "and feel free to become a memeber if you wish."; - mes " "; - mes "For membership applications please talk to Keegan"; - mes "up the stairs and down the hall."; - close; -} -//Saver Girl; -yuno_in01,32,178,3 script Ahlma 4_F_MAID,{ - mes "[Ahlma]"; - if (Event_THQS == 0) goto N_Member; - mes "Welcome to The Treasure Hunter Guild."; - mes "How may I help you?"; - next; - if (select("Save", "Quit") != 1) { - mes "[Ahlma]"; - mes "Well if you think you are safe, good on you."; - close; - } - mes "[Ahlma]"; - mes "Ok, saved. Thank you ~ See you soon~"; - savepoint "yuno_in01",34,176; - close; -N_Member: - mes "Sorry, members only."; - close; -} -//Retired Smile mask girl; -yuno_in01,33,162,3 script Smile Helper 4_F_03,{ - mes "[Smile Gal]"; - mes "Oh man...I am so sick of"; - mes "trading Mr. Smile masks for crap."; - mes " "; - mes "You ask me for one and you'll find yourself 10 pounds lighter!"; - close; -} -//Usless Female Assasin; -yuno_in01,22,162,6 script Female Assasin 4_F_JOB_ASSASSIN,{ - mes "[Sharlet]"; - if (Event_THQS > 0) goto N_Member; - mes "Umm sorry I'm not gona waste my time talking to you if you arn't even a member!"; - close; -N_Member: - set @temp,rand(1,2); - if (@temp == 1) goto N_Chat1; - if (@temp == 2) goto N_Chat2; - mes "How are you reading this???"; - mes "Well unless you are reading the code :)"; - close; -N_Chat1: - mes "Ahh welcome fellow Treasure Hunter "+strcharinfo(PC_NAME)+"."; - mes "Did you hear about that brave man that went into Glast Heim alone?! He must be crazy."; - close; -N_Chat2: - mes ""+strcharinfo(PC_NAME)+" don't you have something better you could be doing? Like a quest."; - close; -} -//another usless member -yuno_in01,25,162,6 script Female Wizard 2_F_MAGICMASTER,{ - mes "[Sasha]"; - if (Event_THQS > 0) goto N_Member; - mes "Umm sorry I'm not gona waste my time talking to you if you arn't even a member!"; - close; -N_Member: - set @temp,rand(2); - if (@temp == 1) goto N_Chat; - mes "Ahh welcome fellow Treasure Hunter "+strcharinfo(PC_NAME)+"."; - mes "Did you hear about that goat man running around in the trees?"; - mes " "; - mes "Aperently his name is Baphomet and he has been runing around the Forest Maze out side of prontera for quite some time now."; - close; -N_Chat: - mes ""+strcharinfo(PC_NAME)+" don't you have something better you could be doing? Like a quest."; - close; -} diff --git a/npc/custom/quests/thq/THQS_GuildNPC.txt b/npc/custom/quests/thq/THQS_GuildNPC.txt deleted file mode 100644 index 5a7c4883b..000000000 --- a/npc/custom/quests/thq/THQS_GuildNPC.txt +++ /dev/null @@ -1,89 +0,0 @@ -//===== Hercules Script ====================================== -//= Treasure Hunter Quests -//===== By: ================================================== -//= Fredzilla -//===== Current Version: ===================================== -//= 1.0 -//===== Description: ========================================= -//= Start for Treasure hunter quests -//===== Additional Comments: ================================= -//= Event_THQS - Used to check if you have already registered -//= #Treasure_Token - used to keep track of tokens -//============================================================ - -yuno_in01,124,164,6 script Guild Leader 1_M_PRON_KING,{ - mes "[Keegan]"; - mes "What brings you here? Have something to say?"; - next; - switch (select("I want to be a Treasure Hunter", "Take a New Quest.", "Take me to the Official Shop.", "Nevermind.",N_NVM)) { - case 1: - if (Event_THQS==1) - goto N_AlreadyReg; - mes "[Keegan]"; - mes "Well "+strcharinfo(PC_NAME)+" if you want to be a Treasure Hunter first you must."; - mes " "; - mes "^FF00001.^000000 You well be changed ^FF000025,000z^000000 for basic training and your proof of being a member."; - mes " "; - mes "Umm... Well that is all you need to do. Hahaha."; - next; - if (select("Pay ^FF000025,000z^000000.", "Thats way to high!!") != 1) { - mes "[Keegan]"; - mes "Well if you can't afford a small ^FF000025,000z^000000 you shouldent be a Treasure Hunter yet."; - close; - } - if (Zeny < 25000) - goto N_NoZeny; - Zeny -= 25000; - //getitem 7950, 1; - //getitem 7951, 1; - Event_THQS = 1; - mes "[Keegan]"; - mes "Congratulations!"; - emotion(e_grat); - next; - mes "[Keegan]"; - mes "Welcome to the Guild of Treasure Hunters."; - mes "You may now take a Treasure Hunting Quest as you see fit."; - close; - case 2: - if (Event_THQS!=1) - goto A_NeedReg; - mes "[Keegan]"; - mes "Well "+strcharinfo(PC_NAME)+" if you wish to take a quest go talk to the fellow Treasure Hunter in the other room there."; - close; - case 3: - if (Event_THQS!=1) - goto N_NeedMem; - mes "[Keegan]"; - mes "Yes "+strcharinfo(PC_NAME)+" I will take you to our shop right away!"; - next; - warp "prt_in",166,171; - close; - case 4: - mes "[Keegan]"; - mes "Alright come back when you have the free time to spare."; - close; - } -N_NoZeny: - mes "[Keegan]"; - mes "Hmmm you don't seem to have ^FF000025,000z^000000 "+strcharinfo(PC_NAME)+". Please come back when you do."; - close; -N_AlreadyReg: - mes "[Keegan]"; - mes "Ha ha ha...you are already a member."; - close; -A_NeedReg: - mes "[Keegan]"; - mes "Sorry you must be a member of the Treasure Hunter Guild if you wish to take a quest."; - mes " "; - mes "Also now that you are a member feel free to use our shops anytime you wish.They are all located on this floor."; - mes " "; - mes "We also have another shop for members only,in which we use little metal diamonds called Treasure Hunter Tokens to exchange for rare goods."; - mes " "; - mes "You will even have access to our exclusive personal Dungeon."; - close; -N_NeedMem: - mes "[Keegan]"; - mes "Im sorry only members may visit our private shop."; - close; -} diff --git a/npc/custom/quests/thq/THQS_QuestNPC.txt b/npc/custom/quests/thq/THQS_QuestNPC.txt deleted file mode 100644 index 1bbe8fd7a..000000000 --- a/npc/custom/quests/thq/THQS_QuestNPC.txt +++ /dev/null @@ -1,549 +0,0 @@ -//===== Hercules Script ====================================== -//= Treasure Hunter Quests -//===== By: ================================================== -//= Fredzilla -//===== Current Version: ===================================== -//= 1.4 -//===== Description: ========================================= -//= Start for Treasure hunter quests -//===== Additional Comments: ================================= -//= Event_THQS - Used to check if you have already registered -//= #Treasure_Token - used to keep track of tokens -//= 1.0 - Straight conversionof Aegis NPC file -//= 1.1 Added time penalty to prevent get quests to often [Lupus] -//= 1.2 Fixed not working penalty, added anti-cheat [Lupus] -//= 1.3 Changed some bad RGB Codes. (bugreport:211) [Samuray22] -//= 1.4 Fixed typos. (bugreport:2607) [Kisuka] -//============================================================ - -yuno_in01,112,151,6 script Quest Manager 1_M_SIZ,{ - mes "[Guy]"; - mes "Welcome to the Treasure Hunters Guild "+strcharinfo(PC_NAME)+"."; - next; - if (On_Quest == 0) goto N_NewQuest; - mes "[Guy]"; - mes "Look " +strcharinfo(PC_NAME)+ ", you can only 1 quest at a time, you should finish the quest unless you have given up."; - mes "Giving up will cost you ^FF00002500z^000000."; - next; - if (select("No, never would I leave a quest!", "Yah I'm pathetic... Pay 2500z") == 1) { - mes("[Guy]"); - mes("Good well get back out there."); - close(); - } - if (Zeny < 2500) goto N_ZenyFail; - set one_qset, 0; - set two_qset, 0; - set three_qset, 0; - set four_qset, 0; - set five_qset, 0; - set six_qset, 0; - set seven_qset, 0; - set eight_qset, 0; - set nine_qset, 0; - set ten_qset, 0; - set On_Quest, 0; - Zeny -= 2500; - //add time delay penalty. You can get another quest after 2 - 3 hours. [Lupus] - set #THQ_DELAY, (gettime(GETTIME_YEAR)*12*31*24+gettime(GETTIME_MONTH)*31*24+gettime(GETTIME_DAYOFMONTH)*24+gettime(GETTIME_HOUR)+rand(2,3)); - mes "[Guy]"; - mes "Its sad to see someone give a quest up..."; - mes "Shame on you."; - emotion 7; - close; - -N_ZenyFail: - mes "[Guy]"; - mes "Thats sad you don't even have ^FF00002500z^000000."; - close; - -N_NewQuest: - if (Event_THQS == 0) goto N_Signup; - //checking if time penalty is over [Lupus] - if (#THQ_DELAY > (gettime(GETTIME_YEAR)*12*31*24 + gettime(GETTIME_MONTH)*31*24 + gettime(GETTIME_DAYOFMONTH)*24 + gettime(GETTIME_HOUR)) ) goto L_NoQuestsForYet; - mes "[Guy]"; - mes "Ahh welcome fellow Treasure Hunter."; - mes "You currently have ^FF0000"+#Treasure_Token+"^000000 treasure tokens!!!"; - mes "Would you like me to asign you a Quest?"; - next; - if (select("Yes I would like a Quest Please.", "Sorry Guy no time today.") == 2) { - mes("[Guy]"); - mes("Alright maybe next time."); - emotion(e_hmm); - close; - } - - mes "[Guy]"; - mes "Ok lets see what quest we can give you today."; - mes "The quest names in ^FF0000This Colour^000000 mean that they are more challanging then the rest, but have better rewards."; - next; - set #THQ_DELAY,(gettime(GETTIME_YEAR)*12*31*24+gettime(GETTIME_MONTH)*31*24+gettime(GETTIME_DAYOFMONTH)*24+gettime(GETTIME_HOUR) + 1); //you can get another quest after 1 hour [Lupus] - emotion 21; - if(@treasure_job==0) set @treasure_job,rand(1,10); //doesn't allow cheaters to pick any quest they want - if(@treasure_job==2) goto N_JobList2; - if(@treasure_job==3) goto N_JobList3; - if(@treasure_job==4) goto N_JobList4; - if(@treasure_job==5) goto N_JobList5; - if(@treasure_job==6) goto N_JobList6; - if(@treasure_job==7) goto N_JobList7; - if(@treasure_job==8) goto N_JobList8; - if(@treasure_job==9) goto N_JobList9; - if(@treasure_job==10) goto N_JobList10; - goto N_JobList1; //if(@treasure_job==1) - -N_Signup: - mes "[Guy]"; - mes "I'm afraid you must sign up for the guild before you can go on a quest!"; - emotion 17; - close; - -L_NoQuestsForYet: - mes "[Guy]"; - mes "I'm afraid there aren't any Quests for you yet."; - mes "Call in "+ (#THQ_DELAY - (gettime(GETTIME_YEAR)*12*31*24+gettime(GETTIME_MONTH)*31*24+gettime(GETTIME_DAYOFMONTH)*24+gettime(GETTIME_HOUR)) )+" hours later."; - emotion 17; - close; - -L_QuestGiven: - set On_Quest,1; - set @treasure_job,0; //next time u get random quest - close; - -///////Job list 1/////// -N_JobList1: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("Lost Old Man.", "Master needs his Bow.", "The Hit List.", "^FF0000The Sad Widow.^000000")) { - case 1: - mes("[Guy]"); - mes("^FF0000Lost Old Man^000000"); - mes("^FF0000------------^000000"); - mes("This is an easy and low payed quest."); - mes(" "); - mes("A wife came in asking us to find his husband, she seems to come in alot asking us to find him over and over again."); - next(); - mes("[Guy]"); - mes("But he always seems to be around the same place so there isn't much looking involved,check the mountains 1 west and 1 north of prontera."); - one_qset = 1; - break; - case 2: - mes("[Guy]"); - mes("^FF0000Master needs his Bow^000000"); - mes("^FF0000--------------------^000000"); - mes("This is just a package delivery run, no big deal or anything."); - mes(" "); - mes("Take this to an archer in the Archer Village outside of Payon."); - getitem(Delivery_Message, 1); //Delivery_Box - one_qset = 2; - break; - case 3: - mes("[Guy]"); - mes("^FF0000The Hit List^000000"); - mes("^FF0000------------^000000"); - mes("In this quest you get to see some action."); - mes(" "); - mes("There has been a farmer that keeps having all his crops eaten by ^FF0000Thief Bugs, Porings, and Lunitics^000000 here is a lost of what I need you to do. He is waiting East of Prontera."); - next(); - mes("[Guy]"); - mes("Ok go to the east and bash those little bastards like there is no tommorow. When you are done with that list you have just discard it, but you will NOT get another one!."); - one_qset = 3; - break; - case 4: - mes("^FF0000The Sad Widow^000000"); - mes("^FF0000*************^000000"); - mes("This is just another quest with possable well pay."); - mes(" "); - mes("There is an old Widow in pontera, she recently lost her husband due to a monster attack.She has requested a Guild member to come talk to her at the Pontera Graveyard."); - one_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 2/////// -N_JobList2: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("The Strange Letter", "Jur for Jeramiah", "Bee Keepers Hunny", "^FF0000The Wander Man^000000")) { - case 1: - mes("^FF0000The Strange Letter^000000"); - mes("^FF0000------------------^000000"); - mes("I do not know much about this quest."); - mes(" "); - mes("A strange man came in here yesterday and asked me to deliver this ^FF0000Strange Letter^000000 to some woman in Morroc. Knowing us we do not ask questions so you must take care of this delivery."); - mes("The Woman is in located in Morroc and her name is Erika."); - getitem(Delivery_Message, 1); - two_qset = 1; - break; - case 2: - mes("^FF0000Jur for Jeramiah^000000"); - mes("^FF0000----------------^000000"); - mes("Standard delivery quest."); - mes(" "); - mes("Jeramiah ordered a Special Jur from our weapon shop.Your Job is to deliver it to him in the Assasin Temple."); - getitem(1998, 1); - two_qset = 2; - break; - case 3: - mes("^FF0000Bee Keepers Hunny^000000"); - mes("^FF0000-----------------^000000"); - mes("Strange man in the marsh need your help."); - mes(" "); - mes("There is a strange man in the forest in ^FF00001 south and 1 west^000000 of Prontera, he need your help with something."); - two_qset = 3; - break; - case 4: - mes("^FF0000The Wander Man^000000"); - mes("^FF0000**************^000000"); - mes("There is a woman in Payon that is in desperate for aid."); - mes(" "); - mes("There is a woman in Payon named Molly please get to her as soon as possable the letter she sent here sounded like someone was killing her."); - two_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 3/////// -N_JobList3: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("Damn Pixies!", "Package Delivery", "Prontera Culvert", "^FF0000Trouble at the Coal Mine^000000")) { - case 1: - mes("^FF0000Damn Pixies!^000000"); - mes("^FF0000------------^000000"); - mes("Have you ever been to Hell?"); - mes(" "); - mes("A man outside of ^FF0000Ant Hell^000000 has requested your audiance, I suggest you hurry."); - three_qset = 1; - break; - case 2: - mes("^FF0000Package Delivery^000000"); - mes("^FF0000----------------^000000"); - mes("Standard drop off quest."); - mes(" "); - mes("In this quest you need to deliver a mystery box to someone names ^FF0000Flank at the bridge between Aldebaran and Juno^000000."); - getitem(Merchant_Box_2, 1); //Delivery_Box_ - three_qset = 2; - break; - case 3: - mes("^FF0000Prontera Culvert^000000"); - mes("^FF0000----------------^000000"); - mes("The bugs,They are everywere!."); - mes(" "); - mes("The ^FF0000Prontera Culvert^000000 is out of control!Sign up as a volenteer to clean out some of the culvert."); - next(); - mes("I know it seems like there is no stoping them but however many you kill does makes a differance. After you have signed up, inside the Culvert there will be a Knight that will give you a quest."); - three_qset = 3; - break; - case 4: - mes("^FF0000Trouble at the Coal Mine^000000"); - mes("^FF0000************************^000000"); - mes("The fun...err...trouble never stops in Rune Midgar."); - mes(" "); - mes("Recently there was an acident at the coal mines. There was a huge chasm that released some undead Evil Druids."); - next(); - mes("The Evil Druids started to turn all the workers into the undead. We do not know why, but we do not want to find out, contact a man named Rudolfo outside the Coal Mines."); - three_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 4/////// -N_JobList4: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("Zombie Attack", "Mystic Wizard", "Aww shoot!", "^FF0000Emperium^000000")) { - case 1: - mes("^FF0000Zombie Attack^000000"); - mes("^FF0000-------------^000000"); - mes("The undead have invaded Payon Cave!"); - mes(" "); - mes("I remember when Payon Cave used to be a safe place to visit, but now undead Zombies have infested the cave! Please contact ^FF0000Flora outside on Payon Cave^000000 and aid her."); - four_qset = 1; - break; - case 2: - mes("^FF0000Mystic Wizard^000000"); - mes("^FF0000-------------^000000"); - mes("Proto-type of a Staff must be delivered to Zed the Wizard."); - mes(" "); - mes("Zed the Wizard has requested to try out a new un-named proto-type staff. It will be your job to deliver this to him. Zed tend to stay within the general area of Juno."); - getitem(1999, 1); - four_qset = 2; - break; - case 3: - mes("^FF0000Aww shoot!^000000"); - mes("^FF0000----------^000000"); - mes("A little girl is in trouble."); - mes(" "); - mes("There is a little girl in trouble, her name is Dassy and she is ^FF0000east of the prontera fountan^000000."); - four_qset = 3; - break; - case 4: - mes("^FF0000Emperium^000000"); - mes("^FF0000********^000000"); - mes("This is a strange quest that I know little about."); - mes(" "); - mes("Someone in ^FF0000Prontera Guild Hall^000000 has requested to see one of our members, his name is Czhore."); - four_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 5/////// -N_JobList5: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("Savage Land", "Pyramid's part 1", "Thinking first", "^FF0000The not so friendly ghost^000000")) { - case 1: - mes("^FF0000Savage Land^000000"); - mes("^FF0000-----------^000000"); - mes("Easy for some very hard for others."); - mes(" "); - mes("A man named Lithin wish's to give you a quest, you can find him north of prontera inside of ^FF0000The Hidden Temple^000000"); - five_qset = 1; - break; - case 2: - mes("^FF0000Pyramid's^000000"); - mes("^FF0000---------^000000"); - mes("Its funny cause no one knows how these were really made."); - mes(" "); - mes("Aperently the Pyramids have are beganing to be infested with undead activity,outside the pyramids a man will be waiting for you. He did no give us his name but he asked for you to hurry."); - five_qset = 2; - break; - case 3: - mes("^FF0000Thinking first^000000"); - mes("^FF0000--------------^000000"); - mes("This sounds like another one of those ditzy girl quests..."); - mes(" "); - mes("Dazzy the local blond around Geffen has asked for you to deliver her these flowers. I don't know why someone would send flowers to herself..."); - getitem(Bunch_Of_Flowers, 1); //Bouquet - five_qset = 3; - break; - case 4: - mes("^FF0000The not so friendly ghost^000000"); - mes("^FF0000*************************^000000"); - mes("Well no one ever said Casper was nice behind the sceens."); - mes(" "); - mes("A wizard on the 3rd floor of geffen tower want's to talk to you about the anchient ruins underneath the city."); - five_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 6/////// -N_JobList6: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("Package for thiefs", "Pyramid's part 2", "Special delivery", "^FF0000Geffenia^000000")) { - case 1: - mes("^FF0000Package for thiefs^000000"); - mes("^FF0000------------------^000000"); - mes("How ironic."); - mes(" "); - mes("Deliver this Box to the Thiefs guild."); - getitem(Merchant_Box_3, 1); //Delivery_Box__ - six_qset = 1; - break; - case 2: - mes("^FF0000Pyramid's part 2^000000"); - mes("^FF0000----------------^000000"); - mes("More undead action in this triangle!"); - mes(" "); - mes("Talk to a man outside the entrance of the pyramids, he seems to have another quest for you."); - six_qset = 2; - break; - case 3: - mes("^FF0000Special delivery^000000"); - mes("^FF0000----------------^000000"); - mes("Well most of what we do is run packages, this is no different from other's."); - mes(" "); - mes("Take this box, DO NOT OPEN IT! To a little girl in Lutie named Chirach she should be around santa."); - getitem(Merchant_Box_3, 1); //Delivery_Box__ - six_qset = 3; - break; - case 4: - mes("^FF0000Geffenia^000000"); - mes("^FF0000********^000000"); - mes("The little children of Geffen have been haveing strange nightmares."); - mes(" "); - mes("We belive that the ruins underneath geffen are causeing this problem, talk to a Wizard named Zuuzuu inside Geffen Tower for your mission."); - six_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 7/////// -N_JobList7: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("Apple Juice", "Delivery", "^FF0000Golden Thief Bug^000000", "^FF0000Evil Pirates^000000")) { - case 1: - mes("^FF0000Apple Juice^000000"); - mes("^FF0000-----------^000000"); - mes("Can't say no to some good apple juice."); - mes(" "); - mes("There is a little girl up in prontera Square a bit north from the fountain, go talk to her."); - seven_qset = 1; - break; - case 2: - mes("^FF0000Delivery^000000"); - mes("^FF0000--------^000000"); - mes("So many packages so little time."); - mes(" "); - mes("Take this box to a man in Alberta named Charles."); - getitem(Merchant_Box_2, 1); //Delivery_Box_ - seven_qset = 2; - break; - case 3: - mes("^FF0000Golden Thief Bug^000000"); - mes("^FF0000****************^000000"); - mes("The prontera Culvert has never been the same..."); - mes(" "); - mes("Well there have been reports of a Golden Thief Bug running around the bottem on the Culvert. Talk to a Knight inside the Culvert."); - seven_qset = 3; - break; - case 4: - mes("^FF0000Evil Pirates^000000"); - mes("^FF0000************^000000"); - mes("A ghost ship has washed up on shore on an island outside of Izlude."); - mes(" "); - mes("A female assasin has a quest for you, she is waiting outside the Ghost Ship.There have been reports of evil undead pirates lurking around inside the ship."); - seven_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 8/////// -N_JobList8: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("Banana Juice", "Another Delivery", "^FF0000Baphomet!^000000", "My lost beeds")) { - case 1: - mes("^FF0000Banana Juice^000000"); - mes("^FF0000------------^000000"); - mes("Sound gross to some good to others."); - mes(" "); - mes("There is a little girl up in prontera Square a bit north from the fountain, go talk to her."); - eight_qset = 1; - break; - case 2: - mes("^FF0000Another Delivery^000000"); - mes("^FF0000----------------^000000"); - mes("Well yah box delivering is in high demand,lots of lazy people."); - mes(" "); - mes("Take this package to a man in Morroc named Klye."); - getitem(Merchant_Box_1, 1); //Delivery_Box - eight_qset = 2; - break; - case 3: - mes("^FF0000Baphomet!^000000"); - mes("^FF0000*********^000000"); - mes("Hidden in the Temple he watches and guards."); - mes(" "); - mes("Rumor has it that a Goat Man is lurking in the Hidden Temple, There is also a man in the Hidden Temple names Zack that needs you help with this Goat Man known as Baphomet."); - eight_qset = 3; - break; - case 4: - mes("^FF0000My lost Beeds^000000"); - mes("^FF0000-------------^000000"); - mes("Oh great I smell stupidity..."); - mes(" "); - mes("A little girl in Payon wants to talk to you, her name is Flower, What a stupid name,Hahaha."); - eight_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 9/////// -N_JobList9: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("Smelly Box", "^FF0000Sohee's Everywere!^000000", "^FF0000Moonlight Flower^000000", "Payon Cave")) { - case 1: - mes("^FF0000Smelly Box^000000"); - mes("^FF0000----------^000000"); - mes("Oh god please get this out of here fast."); - mes(" "); - mes("Oh man smells like someone died in here.Take this to the Magic School in Geffen and hurry,ahh the smell its burning my eye's!!!"); - getitem(Merchant_Box_2, 1); //Delivery_Box_ - nine_qset = 1; - break; - case 2: - mes("^FF0000Sohee's Everywere!^000000"); - mes("^FF0000******************^000000" ); - mes("Hmmm seem's a man named Jack wants to speak to you in the Archer Guild House."); - mes(" "); - mes("Well what we know about Payon is that a while ago there was a freak fire that burnt down the old school."); - next; - mes("The strange thing about what happened was that the children inside did not seem to die from the flames."); - mes("Speak to the little school girl somewere in Payon."); - nine_qset = 2; - break; - case 3: - mes("^FF0000Moonlight Flower^000000"); - mes("^FF0000****************^000000" ); - mes("Hmmm seem's a man named Jack wants to speak to you in the Archer Guild House."); - mes(" "); - mes("Well I don't know much about this, it has to do with the deepest reagions of Payon Cave, We don't know much because no one ever seems to make it back alive."); - nine_qset = 3; - break; - case 4: - mes("^FF0000Payon Cave^000000"); - mes("^FF0000----------^000000" ); - mes("Hmmm seem's a man named Jack wants to speak to you in the Archer Guild House."); - mes(" "); - mes("The farther we go into the cave the stranger it gets."); - nine_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 10/////// -N_JobList10: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("The Blank Box", "^FF0000Eddga^000000", "^FF0000Phreeoni^000000", "^FF0000Maya^000000")) { - case 1: - mes("^FF0000The Blank Box^000000"); - mes("^FF0000-------------^000000"); - mes("Package to Morroc"); - mes(" "); - mes("There is nothing writen on this box but a notice to deliver it to a man Kreg."); - getitem(Merchant_Box_2, 1); //Delivery_Box_ - ten_qset = 1; - break; - case 2: - mes("^FF0000Eddga^000000"); - mes("^FF0000*****^000000"); - mes("Tony the Tiger is on crack and destroying the forest."); - mes(" "); - mes("Talk to a man outside the 'Hidden' Hunter Guild, He needs your help."); - ten_qset = 2; - break; - case 3: - mes("^FF0000Phreeoni^000000"); - mes("^FF0000********^000000"); - mes("He is big and Pink and you run and hide!"); - mes(" "); - mes("This guy just poped into some hole one day, He dosent look that tough but you would be supprised. Talk to a man named Caral outside of Ant Hell."); - ten_qset = 3; - break; - case 4: - mes("^FF0000Maya^000000"); - mes("^FF0000****^000000"); - mes("Something scary!"); - mes(" "); - mes("This half naked freak need an army to take down, now its your job, good luck. Meet a girl named Jeni outside of the back entrance to Ant Hell."); - ten_qset = 4; - break; - } - goto(L_QuestGiven); -} diff --git a/npc/custom/quests/thq/THQS_Quests.txt b/npc/custom/quests/thq/THQS_Quests.txt deleted file mode 100644 index c0eb1427a..000000000 --- a/npc/custom/quests/thq/THQS_Quests.txt +++ /dev/null @@ -1,1050 +0,0 @@ -//===== Hercules Script ====================================== -//= Treasure Hunter Quests -//===== By: ================================================== -//= Fredzilla -//===== Current Version: ===================================== -//= 1.6 -//===== Description: ========================================= -//= Start for Treasure hunter quests -//===== Additional Comments: ================================= -//= Event_THQS - Used to check if you have already registered -//= #Treasure_Token - used to keep track of tokens -//= 1.0 - Straight conversionof Aegis NPC file -//= 1.2 some bugfixes, typos [Lupus] -//= 1.3 Removed Duplicates [Silent] -//= 1.4 Further removed duplicates. [L0ne_W0lf] -//= 1.5 Fixed name collision with 'Little Girl' in cities/lutie.txt [Ai4rei] -//= 1.6 Changed "Caral" coordinates because moc_fild04 no longer exists. [Euphy] -//============================================================ - -///////Job list 1/////// -//1-1 -mjolnir_09,187,189,6 script Old Man 1_M_PAY_ELDER,{ - if (one_qset==1) goto N_QuestStart; - mes "[Old Man]"; - mes "Eh! Can't and old man walk in peace anymore?!"; - close; -N_QuestStart: - mes "[Old Man]"; - mes "Eh? whats that?!"; - mes " "; - mes "My wife wants me home?! Alright, alright... I'm going, I'm going. Thank you for telling me the message."; - mes " "; - mes "Here take this Treasure Token."; - set one_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+1; - close; -} -//1-2; -pay_arche,86,129,6 script Archer 4_M_JOB_HUNTER,{ - if (one_qset == 2) goto N_QuestStart; - mes "[Kieth]"; - mes "Sorry can't talk, I'm a busy man, I'm waiting for my package."; - close; -N_QuestStart: - mes "[Kieth]"; - if (countitem(Delivery_Message) < 1) { - mes "Weren't you supposed to deliver me a box? Where is it?"; - close; - } - mes "Ahh, you must be from the Treasure Hunter Agensy. Do you have my bow??"; - mes " "; - mes "Ahh, good,thank you for your time. Take this Treasure Token."; - delitem 1072,1; - set one_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+1; - close; -} -//1-3 -prt_fild06,37,192,6 script Farmer 4_M_TELEPORTER,{ - if (one_qset == 3 && countitem(Jellopy) > 19 && countitem(Worm_Peelings) > 19 && countitem(Fluff) > 19 && countitem(Clover) > 19) goto N_QuestComp; - if (one_qset==3) goto N_QuestStart; - mes "[Billy-Bob]"; - mes "Arrrg!... Those Bastard Bugs have eaten everything, this place donest even look like my farm anymore!!"; - close; -N_QuestComp: - mes "[Billy-Bob]"; - mes "Ohhh, thank you thats a good start for me."; - mes "Well those bugs can bugger off..."; - mes " "; - mes "Well here take these 2 Treasure Tokens."; - delitem 909,20; - delitem 955,20; - delitem 914,20; - delitem 705,20; - set one_qset,0; - set #Treasure_Token,#Treasure_Token+2; - set On_Quest,0; - close; -N_QuestStart: - mes "[Billy-Bob]"; - mes "Those Bastard Bugs are Everywere!!!"; - mes "You must be from the guild! OK, bring me 20 Worm Peelings, 20 Jellopys, 20 fluff and 20 Clovers."; - close; -} -//1-4 -prontera,264,353,6 script Old Lady#thq 8_F_GRANDMOTHER,{ - if (one_qset == 4 && countitem(Mementos) > 14) goto N_QuestComp; - if (one_qset == 4) goto N_QuestStart; - mes "[Old Lady]"; - mes "This is my husbands grave... I'm just paying him a little visit."; - close; -N_QuestComp: - mes "[Old Lady]"; - mes "You have them?!"; - next; - mes "[Old Lady]"; - mes "Thank you sooo much here have these 3 Treasure Tokens."; - delitem 934,15; - set #Treasure_Token,#Treasure_Token+3; - set one_qset,0; - set On_Quest,0; - close; -N_QuestStart: - mes "[Old Lady]"; - mes "So your the one that has come to help me?"; - mes " "; - mes "Ok well this is what I wanted you to do,this greave beside me is my husbands grave and I promised him that I would bury some Mementos with him, The problem is that I have no Mementos..."; - next; - mes "[Old Lady]"; - mes "Bring me 15 Mementos, please."; - close; -} -///////Job list 2/////// -//2-1; -morocc,59,109,6 script Erika 8_F_GIRL,{ - if (two_qset == 1 && countitem(Delivery_Message) > 0) goto N_QuestComp; - if (two_qset == 1) goto N_QuestStart; - mes "[Erika]"; - mes "Hello my name is Erika."; - close; -N_QuestComp: - mes "[Erika]"; - mes "What's that? You have a letter for me!!"; - mes "Oooooh I just love,love letters :D. next here will I open it."; - next; - mes "[Letter]"; - mes "Dear Erika"; - mes " "; - mes "Sorry to inform you but you have been evicted, please move out within 3-5 days."; - mes " "; - mes "-Managment"; - next; - mes "[Erika]"; - mes "Oh... um... Well fuck, that bastard thinks he can kick me out!!!!! He's got another thing coming!"; - mes " "; - mes "Well thank you for delivering this anyway have this Treasure Token."; - delitem 1072,1; - set two_qset,0; - set #Treasure_Token,#Treasure_Token+1; - set On_Quest,0; - close; -N_QuestStart: - mes "[Erika]"; - mes "So your the one that has a letter for me?"; - mes " "; - mes "Ok well where's the letter?"; - close; -} -//2-2; -in_moc_16,15,30,6 script Jeramiah 4_M_JOB_ASSASSIN,{ - if (two_qset == 2 && countitem(1998) > 0) goto N_QuestComp; - if (two_qset == 2) goto N_QuestStart; - mes "[Jeramiah]"; - mes "Its so boring when you have to next on people..."; - close; -N_QuestComp: - mes "[Jeramiah]"; - mes "Ahh hello, you must be from the Treasure Hunter Guild."; - mes "Do you have my Jur? Ahh good good. Thank you."; - mes "Here have this Treasure Hunter Token."; - delitem 1998,1; - set two_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+1; - close; -N_QuestStart: - mes "[Jeramiah]"; - mes "So your the one that is supposed to bring my Jur?"; - mes "So where's my Jur?"; - close; -} -//2-3; -prt_fild07,316,263,6 script Marsh Man 4_M_02,{ - if (two_qset == 3 && countitem(Honey) > 19) goto N_QuestComp; - if (two_qset == 3) goto N_QuestStart; - mes "[Lenith]"; - mes "Hello, sorry I don't have much time to talk I'm waiting for someone."; - close; -N_QuestComp: - mes "[Lenith]"; - mes "Oh hello, OH you have my honey, my bees and I thank you."; - mes " "; - mes "Here have these 2 Treasure Hunter Tokens."; - delitem 518,20; - set #Treasure_Token,#Treasure_Token+2; - set two_qset,0; - set On_Quest,0; - close; -N_QuestStart: - mes "[Lenith]"; - mes "Hello, my name is Lenith and I have a quest for you."; - mes "Well resently a bunch of stupid bears stole the supers off all my bee's nests...Stupid bears."; - mes " "; - mes "What I need you to do is find me some more honey so these bee's can get through the winter. I will need about 20 Honey."; - close; -} -//2-4; -payon,161,72,6 script Molly 4_F_06,{ - if (two_qset == 4 && countitem(Skull) > 0) goto N_QuestComp; - if (two_qset == 4) goto N_QuestStart; - mes "[Molly]"; - mes "Sorry can't talk, I'm waiting for someone."; - close; -N_QuestComp: - mes "[Molly]"; - mes "WOW YOU DID IT!!!"; - mes " "; - mes "I knew you looked strong, I have no idea how you could have killed that monster though."; - mes "thank you so much, here have these 3 Guild Tokens as a reward."; - delitem 7005,1; - set two_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+3; - close; -N_QuestStart: - mes "[Molly]"; - mes "Wow you must be the brave man from the treasure hunter guild!"; - mes "Ok here is whats happening, I don't know what started it but there is a strange Ronan Skeleton running aroung the woods 2 East from here."; - next; - mes "[Molly]"; - mes "We have try to kill him in the past but it was not...ummm...It was a bad idea. What I want you to do is go there and bring me back his Skull as proof of you killing him."; - mes " "; - mes "Good Luck"; - close; -} -///////Job list 3/////// -//3-1; -moc_fild04,208,322,6 script Clark 1_M_YOUNGKNIGHT,{ - if (three_qset == 1 && countitem(Elder_Pixies_Beard) > 29) goto N_QuestComp; - if (three_qset == 1) goto N_QuestStart; - mes "[Clark]"; - mes "Love to chat, but I'm waiting for someone."; - close; -N_QuestComp: - mes "[Clark]"; - mes "Ok well this is a start."; - mes " "; - mes "I hope that this hole will go away 1 day, and I might have another quest for you in the future."; - mes "here take these 2 Treasure Tokens."; - delitem 1040,30; - set #Treasure_Token,#Treasure_Token+2; - set three_qset,0; - set On_Quest,0; - close; -N_QuestStart: - mes "[Clark]"; - mes "Well hello to you."; - mes "You must be from the Treasure Hunter Guild."; - mes " "; - mes "Ok well this is my problem, yah see that hole in the ground? Yah that thing just popped out of nowhere a couple years ago, inside its full of these ugly ants and these monsters called Giearths."; - next; - mes "[Clark]"; - mes "What I want you to do is kill some of the Giearths.Bring me 30 of there little Moustaches."; - close; -} -//3-2; -yuno_fild01,186,162,6 script Flank 1_F_MERCHANT_01,{ - if (three_qset == 2 && countitem(Merchant_Box_2) > 0) goto N_QuestComp; - if (three_qset == 2) goto N_QuestStart; - mes "[Flank]"; - mes "Sorry I'm waiting for my package so I don't want to talk."; - close; -N_QuestComp: - mes "[Flank]"; - mes "Perfect right on time, now I must be going to plant this bomb.... Err I meen give this package to my mother for her birthday."; - next; - mes "[Flank]"; - mes "Thanks"; - mes "Have this Treasure Token"; - delitem 1082,1; - set three_qset,0; - set #Treasure_Token,#Treasure_Token+1; - set On_Quest,0; - close; -N_QuestStart: - mes "[Flank]"; - mes "So you have my packages?"; - mes "Well where is it then?"; - close; -} -//3-3 Goes to 7-3 using callfunc -prt_sewb1,120,245,6 script Sewer Managment Knight 4_M_GEF_SOLDIER,{ - if (three_qset == 3 && countitem(Worm_Peelings) > 149) goto N_QuestComp; - if (three_qset == 3) goto N_QuestStart; - if (seven_qset == 3) goto N_QuestStart2; - mes "[Sewer Managmant]"; - mes "Live dosent get any worse for me,working in the bug filled Culvert every day..."; - close; -N_QuestComp: - mes "[Sewer Managment]"; - mes "Well that looked like it was no trouble for you."; - mes "Thanks have these 4 Treause Tokens."; - delitem 955,150; - set #Treasure_Token,#Treasure_Token+4; - set three_qset,0; - set On_Quest,0; - close; -N_QuestStart: - mes "[Sewer Managmant]"; - mes "For a while now we have had monster, mostly bugs infesting the culvert..."; - mes " "; - mes "What I want you to do is kinda clean some of it out, every little bit counts."; - mes "Bring me 150 Worm Peelings."; - close; -N_QuestStart2: - callfunc "seven_qset-3"; - close; -} -//3-4 -mjolnir_02,87,357,6 script Man#01 1_M_BARD,{ - if (three_qset == 4 && countitem(Lantern) > 49) goto N_QuestComp; - if (three_qset == 4) goto N_QuestStart; - mes "[Rudolfo]"; - mes "Danger, the Coal Mine is now a hostile area."; - close; -N_QuestComp: - mes "[Rudolfo]"; - mes "Well its good to see that you have come back alive."; - mes "I had my doughts but thank you for your help."; - mes " "; - mes "Here have these 4 Treasure Tokens."; - delitem 1041,50; - set three_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+4; - close; -N_QuestStart: - mes "[Rudolfo]"; - mes "Hello, you must be from the Treasure Hunter Guild."; - mes " "; - mes "They must have filled you in on what is happening on the lower levels of this Coal Mine, I know its desturbing and we are still trying to figure out why and how 2 Evil Druids got down there."; - mes " "; - mes "Well what I want you to do is bring me 50 Lantern's as proof that you have cleaned some of them out, any loot you find down there you may keep other then what I have asked you to get for me."; - close; -} -///////Job list 4/////// -//4-1; -pay_arche,45,138,6 script Flora 4_F_07,{ - if (four_qset == 1 && countitem(Decayed_Nail) > 49) goto N_QuestComp; - if (four_qset == 1) goto N_QuestStart; - mes "[Flora]"; - mes "Well hello be carfull in the cave, we have heard reports of Undead monster funning around."; - close; -N_QuestComp: - mes "[Flora]"; - mes "Welcome back, good job you did it. (I wonder if that Flaming Bastard is still alive)"; - mes "Well I hope that cut down a bit on the monsters and here have these 2 Tokens."; - delitem 957,50; - set #Treasure_Token,#Treasure_Token+2; - set four_qset,0; - set On_Quest,0; - killmonster "pay_dun00","Flora::OnMobDead"; - close; -N_QuestStart: - mes "[Flora]"; - mes "Well hello there."; - mes " "; - mes "Well this is what I need you to do, bring me 50 Decayed Nails - awile back Payon Cave used to be a safe place to go...But now things have gone out of controll and Zombies have invaded the first floor..."; - mes " "; - mes "There is also these new monsters that have just poped out of no were, we call them Flaming Bastards...Be carfull if you arn't powerfull yet because they are very strong."; - next; - mes "[Flora]"; - mes "Good Luck"; - mes "Remember I need 50 Nail's"; - monster "pay_dun00",0,0,"Flaming Bastard",1072,1,"Flora::OnMobDead"; - monster "pay_dun00",0,0,"Flaming Bastard",1072,1,"Flora::OnMobDead"; - close; -OnMobDead: - end; -} -//4-2; -yuno,45,138,6 script Zed 4_M_JOB_WIZARD,{ - if (four_qset == 2 && countitem(1999) > 0) goto N_QuestComp; - if (four_qset == 2) goto N_QuestStart; - mes "[Zed]"; - mes "Get out of my face you flake."; - close; -N_QuestComp: - mes "[Zed]"; - mes "Dear god took you long enough you bastard!"; - mes "You know how much my time is worth!!!!"; - mes "Your slow and I'm never gona recomend a job for you, Gimmie my staff and get out of me face!"; - next; - mes "[Zed]"; - mes "Well you can take this crapy Treausre Token."; - delitem 1999,1; - set On_Quest,0; - set four_qset,0; - set #Treasure_Token,#Treasure_Token+1; - close; -N_QuestStart: - mes "[Zed]"; - mes "Where's my staff?"; - close; -} -//4-3; -prontera,176,204,6 script Dassy 4_F_SISTER,{ - if (four_qset == 3 && countitem(Shoot) > 19) goto N_QuestComp; - if (four_qset == 3) goto N_QuestStart; - mes "[Dassy]"; - mes "Hello!"; - close; -N_QuestComp: - mes "[Dassy]"; - mes "Yes! Now my pet will not starve!"; - mes "Thank you so much!"; - mes "Have this Treasure Token."; - delitem 711,20; - set On_Quest,0; - set four_qset,0; - set #Treasure_Token,#Treasure_Token+1; - close; -N_QuestStart: - mes "[Dassy]"; - mes "Hello person!!"; - mes "You have come to help me? Yes, yes."; - mes " "; - mes "Ok I don't want to talk about it but I need you to fine me 20 Shoot's"; - mes "Thank you!"; - close; -} -//4-4; -prt_gld,157,99,6 script Czhore 4_M_CRU_OLD,{ - if (four_qset == 4 && countitem(Emperium) > 0) goto N_QuestComp; - if (four_qset == 4) goto N_QuestStart; - mes "[Czhore]"; - mes "Hello friend"; - mes "Have you come to check out one of these guild halls?"; - close; -N_QuestComp: - mes "[Czhore]"; - mes "Thank god!"; - mes " "; - mes "I'm so happy to see one of these Emperiums! Thank you "+strcharinfo(PC_NAME)+"."; - next; - mes "[Czhore]"; - mes "Here have these 2 Treasure Tokens."; - mes "And some of my old treasure..."; - delitem 714,1; - monster "prt_gld",155,99,"Old Man's Treasure",1324,1; - set four_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+2; - close; -N_QuestStart: - mes "[Czhore]"; - mes "Hello friend"; - mes "I know this may sound stupid but ever since I was a boy I have dreamed of having an Emperium..."; - mes "As I know I look old, I have just never been able to find one, now that I am retired from the Treasure Hunter Guild there is no more action for me..."; - mes " "; - mes "If you can get me one I shall reward you."; - close; -} -///////Job list 5/////// -//5-1; -prt_maze01,18,184,6 script Lithin#01 4_M_CRU_OLD,{ - if (five_qset == 1 && countitem(Wild_Boars_Mane) > 14) goto N_QuestComp; - if (five_qset == 1) goto N_QuestStart; - mes "[Lithin]"; - mes "Well hello."; - mes "Welcome to the Forest Maze."; - close; -N_QuestComp: - mes "[Lithin]"; - mes "Oh thank you so much, but they will be back..."; - next; - mes "Take these 2 Treasure Tokens"; - delitem 1028,15; - set five_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+2; - close; -N_QuestStart: - mes "[Lithin]"; - mes "Well hello."; - mes "Welcome to the Forest Maze, I have a task for you."; - mes " "; - mes "Ever heard of a moster called a Savage? It looks like a boar but it makes very annoying noices."; - mes "What I want you to do is bring me 15 Manes from the savages."; - close; -} -//5-2 goes to 6-2 using callfunc; -moc_ruins,75,167,6 script Lithin#02 4_M_BARBER,{ - if (five_qset == 2 && countitem(Skel_Bone) > 29) goto N_QuestComp; - if (five_qset == 2) goto N_QuestStart; - if (six_qset == 2) goto N_QuestStart2; - mes "[Strange Man]"; - mes "..."; - close; -N_QuestComp: - mes "[Strange Man]"; - mes "Much thanks I have for you."; - next; - mes "Take with you these 2 Treasure Token's."; - delitem 932,30; - set #Treasure_Token,#Treasure_Token+2; - set five_qset,0; - set On_Quest,0; - close; -N_QuestStart: - mes "[Strange Man]"; - mes "Must do for me you shall.Venture through the Pyramid."; - mes "When second floor you have reached,slay skeletons of evil."; - mes "Bring me back there bones you must."; - mes "It is 30 that I desire."; - close; -N_QuestStart2: - callfunc "six_qset2"; -} -//5-3; -geffen,57,130,6 script Blonde Girl 4_F_07,{ - if (five_qset == 3 && countitem(Bunch_Of_Flowers) > 0) goto N_QuestComp; - if (five_qset == 3) goto N_QuestStart; - mes "[Blonde Girl]"; - mes "I wonder what happened to my flowers"; - close; -N_QuestComp: - mes "[Blonde Girl]"; - mes "Oh are these my flower! To bad I don't want them anymore..."; - mes " "; - mes "You can keep them is you want."; - next; - mes "[Blonde Girl]"; - mes "Here take this Treasure Token as a reward."; - set five_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+1; - close; -N_QuestStart: - mes "[Blonde Girl]"; - mes "Hello, did you bring me flowers!?!"; - close; -} -//5-4; -gef_tower,49,27,6 script Wizard#01 4_M_JOB_WIZARD,{ - if (five_qset == 4 && countitem(Transparent_Cloth) > 49) goto N_QuestComp; - if (five_qset == 4) goto N_QuestStart; - mes "[Wizard]"; - mes "Hello, have you seen my Whisper friend?"; - close; -N_QuestComp: - mes "[Wizard]"; - mes "Thank you for helping me, I presume the worse."; - next; - mes "[Wizard]"; - mes "Here take these 4 Treasure Tokens."; - delitem 1059,50; - set five_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+4; - close; -N_QuestStart: - mes "[Wizard]"; - mes "Hello, the reason why I brought you here was because of a long time ago I made a friend, which happened to be a Whipser."; - mes "He told me that he was always bullied by the other ghosts down there and I haven't seen him in a while."; - mes "Thinking of the worse case here, I want vengance!"; - mes " "; - mes "Bring me 50 Fabrics!"; - close; -} -///////Job list 6/////// -//6-1; -moc_prydb1,47,132,6 script Thief 1_M_02,{ - if (six_qset == 1 && countitem(Merchant_Box_3) > 0) goto N_QuestComp; - if (six_qset == 1) goto N_QuestStart; - mes "[Thief]"; - mes "Welcome to the Thiefs Guild."; - close; -N_QuestComp: - mes "[Thief]"; - mes "Thank you for this delivery."; - next; - mes "[Thief]"; - mes "Here take this Treasure Token as a reward."; - delitem 1083,1; - set six_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+1; - close; -N_QuestStart: - mes "[Thief]"; - mes "Where's my delivery?"; - close; -} -//6-2 -function script six_qset2 { - if (six_qset == 2 && countitem(Rotten_Bandage) > 29) goto N_QuestComp2; - mes "[Strange Man]"; - mes "Another quest for you I have."; - mes "Futher into the pyramid you must go."; - mes "Fighting Mummys is future for you."; - mes " "; - mes "Bring back for me their wrappings you must."; - mes "It is 30 Rotten bandages I desire."; - close; -N_QuestComp2: - mes "[Strange Man]"; - mes "Much thanks for you that I have."; - next; - mes "[Strange Man]"; - mes "Take with you these 3 tokens."; - delitem 930,30; - set #Treasure_Token,#Treasure_Token+3; - set On_Quest,0; - set six_qset,0; - close; -} -//6-3; -xmas,144,136,6 script Chirach 1_M_02,{ - if (six_qset == 3 && countitem(Merchant_Box_3) > 0) goto N_QuestComp; - if (six_qset == 3) goto N_QuestStart; - mes "[Chirach]"; - mes "Welcome."; - close; -N_QuestComp: - mes "[Chirach]"; - mes "Thank you for this delivery."; - next; - mes "[Chirach]"; - mes "Here take this Treasure Token as a reward."; - delitem 1083,1; - set six_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+1; - close; -N_QuestStart: - mes "[Chirach]"; - mes "Where's my delivery?"; - close; -} -//6-4; -gef_tower,52,87,6 script Wizard#02 4_M_JOB_WIZARD,{ - if (six_qset == 4 && countitem(Horseshoe) > 19) goto N_QuestComp; - if (six_qset == 4) goto N_QuestStart; - mes "[Zuuzuu]"; - mes "Hello, welcome to geffen tower."; - close; -N_QuestComp: - mes "[Wizard]"; - mes "Thank you for helping me."; - next; - mes "Here take these 4 Treasure Tokens."; - delitem 944,20; - set six_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+4; - next; - mes "[Zuuzuu]"; - mes "Oh dear god!!!"; - mes "One of those evil mosters has followed you up here, Kill it, Kill it!!!"; - next; - monster "gef_tower",42,89,"Evil Nightmare",1061,1; - close; -N_QuestStart: - mes "[Zuuzuu]"; - mes "Hello, the reason I sent for a young adventurer was because of the problems we are having under the tower."; - mes "There seem to be more ghosts day after day down there. What I need you to do is go down there and find these mosters we call Nightmares."; - mes " "; - mes "You must slay them and bring me 20 of there horse shoes."; - close; -} -///////Job list 7/////// -//7-1 goes to 8-1 using callfunc; -prontera,123,208,6 script Little Girl#thq 4_F_KID3,{ - if (seven_qset == 1 && countitem(Apple_Juice) > 4) goto N_QuestComp; - if (seven_qset == 1) goto N_QuestStart; - if (eight_qset == 1) goto N_QuestStart2; - mes "[Girl]"; - mes "Hello mister "+strcharinfo(PC_NAME)+"."; - close; -N_QuestComp: - mes "[Girl]"; - mes "Thank you so much!"; - next; - mes "[Girl]"; - mes "Have these 1 Treasure Tokens."; - delitem 531,5; - set seven_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+1; - close; -N_QuestStart: - mes "[Girl]"; - mes "Hi mister person. Can you get me some apple juice?"; - mes "I want 5 of them."; - close; -N_QuestStart2: - callfunc "eight_qset1"; -} -//7-2; -alberta,101,84,6 script Charles 1_M_02,{ - if (seven_qset == 2 && countitem(Merchant_Box_2) > 0) goto N_QuestComp; - if (seven_qset == 2) goto N_QuestStart; - mes "[Charles]"; - mes "Hello "+strcharinfo(PC_NAME)+" welcome to Alberta."; - close; -N_QuestComp: - mes "[Charles]"; - mes "Thank you for this delivery."; - next; - mes "[Charles]"; - mes "Here take this Treasure Token as a reward."; - delitem 1082,1; - set seven_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+1; - close; -N_QuestStart: - mes "[Charles]"; - mes "So where is my package?"; - close; -} -//7-3 -function script seven_qset-3 { - if (seven_qset == 3 && countitem(Gold) > 0) goto N_QuestComp2; - mes "[Sewer Managment]"; - mes "Well there have been reports of a Golden Thief Bug running around the bottem on the Culvert"; - mes " "; - mes "Bring me 1 Gold Bar from him."; - close; -N_QuestComp2: - mes "[Sewer Managment]"; - mes "Thank you for helping me."; - next; - mes "[Sewer Managment]"; - mes "Here take these 4 Treasure Tokens."; - delitem 969,1; - set seven_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+4; - close; -} -//7-4; -alb2trea,94,102,6 script Scarlet 4_F_JOB_ASSASSIN,{ - if (seven_qset == 4 && countitem(Saber_) > 0) goto N_QuestComp; - if (seven_qset == 4) goto N_QuestStart; - mes "[Scarlet]"; - mes "Sorry, busy."; - close; -N_QuestComp: - mes "[Scarlet]"; - mes "Thank you for helping me, I presume the worse."; - next; - mes "[Scarlet]"; - mes "Here take these 4 Treasure Tokens."; - delitem 1127,1; - set seven_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+4; - close; -N_QuestStart: - mes "[Scarlet]"; - mes "Good your here. Ok there are reports of an old captain named Drake abored this ship. Kill Him!"; - mes " "; - mes "Bring me his Saber as proof!"; - close; -} -///////Job list 8/////// -//8-1 -function script eight_qset1 { - if (eight_qset == 1 && countitem(Banana_Juice) > 4) goto N_QuestComp2; - mes "[Girl]"; - mes "Hi mister person. Can you get me some Banana juice?"; - mes "I want 5 of them."; - close; -N_QuestComp2: - mes "[Girl]"; - mes "Thank you so much!"; - next; - mes "[Girl]"; - mes "Have these 1 Treasure Tokens."; - delitem 532,5; - set eight_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+1; - close; -} -//8-2; -morocc,165,55,6 script Klye 1_M_02,{ - if (eight_qset == 2 && countitem(Merchant_Box_1) > 0) goto N_QuestComp; - if (eight_qset == 2) goto N_QuestStart; - mes "[Klye]"; - mes "Hello "+strcharinfo(PC_NAME)+"."; - close; -N_QuestComp: - mes "[Klye]"; - mes "Thank you for this delivery."; - next; - mes "[Klye]"; - mes "Here take this Treasure Token as a reward."; - delitem 1081,1; - set eight_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+1; - close; -N_QuestStart: - mes "[Kyle]"; - mes "So where's my Delivery"; - close; - -} -//8-3; -prt_maze02,103,86,6 script Zack 4_M_CRU,{ - if (eight_qset == 3 && countitem(Evil_Horn) > 0) goto N_QuestComp; - if (eight_qset == 3) goto N_QuestStart; - mes "[Zack]"; - mes "Hello, have you seen my Whisper friend?"; - close; -N_QuestComp: - mes "[Zack]"; - mes "Thank you for helping me, I presume the worse."; - next; - mes "[Zack]"; - mes "Here take these 5 Treasure Tokens."; - delitem 923,1; - set eight_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+5; - close; -N_QuestStart: - mes "[Zack]"; - mes "Hello,the reason why I brought you here was because of a very strange monster known as Baphomet."; - mes "People say that Baphomet guilds the gate to the under-world but I don't belive them, Kill Baphomet!"; - mes " "; - mes "Bring me his Evil Horn!"; - close; -} -//8-4; -payon,136,129,6 script Flower 4_F_KID2,{ - if (eight_qset == 4 && countitem(Glass_Bead) > 9) goto N_QuestComp; - if (eight_qset == 4) goto N_QuestStart; - mes "[Flower]"; - mes "Sorry I'm waiting for someone. You will have to come back later."; - close; -N_QuestComp: - mes "[Flower]"; - mes "Thank you for helping me, I presume the worse."; - next; - mes "[Flower]"; - mes "Here take these 2 Treasure Tokens."; - delitem 746,10; - set eight_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+2; - close; -N_QuestStart: - mes "[Flower]"; - mes "Help, help I have lost my Beads!! My brother Bush is going to kill me please help"; - mes " "; - mes "Bring me 10 Glass Beads!"; - close; -} -///////Job list 9/////// -//9-1; -geffen_in,168,124,6 script Mage 1_M_02,{ - if (nine_qset == 1 && countitem(Merchant_Box_2) > 0) goto N_QuestComp; - if (nine_qset == 1) goto N_QuestStart; - mes "[Mage]"; - mes "Hello "+strcharinfo(PC_NAME)+" welcome to the Mage Guild."; - close; -N_QuestComp: - mes "[Mage]"; - mes "Thank you for this delivery. Sorry about the smell, Its a box of Toad Tounges"; - next; - mes "[Mage]"; - mes "Here take this Treasure Token as a reward."; - delitem 1082,1; - set nine_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+1; - close; -N_QuestStart: - mes "[Mage]"; - mes "Hello "+strcharinfo(PC_NAME)+", Where is my box of Toad Tounges?."; - close; -} -//9-2; -pay_arche,98,74,6 script School Girl 4_F_KID2,{ - if (nine_qset == 2 && countitem(Long_Hair) > 19) goto N_QuestComp; - if (nine_qset == 2) goto N_QuestStart; - mes "[School Girl]"; - mes "Sorry I'm waiting for someone, you will have to come back later"; - close; -N_QuestComp: - mes "[School Girl]"; - mes "Thank you for helping me."; - next; - mes "[School Girl]"; - mes "Here take these 4 Treasure Tokens."; - delitem 1020,20; - set nine_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+4; - close; -N_QuestStart: - mes "[School Girl]"; - mes "Help, Well what we know about Payon is that a while ago there was a freak fire that burnt down the old school."; - next; - mes "[School Girl]"; - mes "The strange thing about what happened was that the children inside did not seem to die from the flames. They have taken over the entire 3rd floor of Payon Cave."; - mes " "; - mes "Bring me 20 Black Hair!"; - close; -} -//9-3 -payon_in02,19,33,6 script Jack 2_M_ALCHE,{ - if (nine_qset == 3 && countitem(Fox_Tail) > 0) goto N_QuestComp; - if (nine_qset == 3) goto N_QuestStart; - if (nine_qset == 4) goto N_QuestStart2; - mes "[Jack]"; - mes "Sorry I'm waiting for someone, you will have to come back later"; - close; -N_QuestComp: - mes "[Jack]"; - mes "Thank you for helping me."; - next; - mes "[Jack]"; - mes "Here take these 4 Treasure Tokens."; - delitem 1022,1; - set nine_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+4; - close; -N_QuestStart: - mes "[Jack]"; - mes "Well I don't know much about this, it has to do with the deepest reagions of Payon Cave. We don't know much because no one ever seems to make it back alive. We suspect a monster we call the Moonlight Flower"; - mes " "; - mes "Bring me back 1 Nine Tales!"; - close; -N_QuestStart2: -//9-4 - if (nine_qset == 4 && countitem(Danggie) > 39) goto N_QuestComp2; - mes "[Jack]"; - mes "Hello, we need you to investigate some crap in the 3rd level of payon."; - mes " "; - mes "Bring me back 40 Daenggie's."; - close; -N_QuestComp2: - mes "[Jack]"; - mes "Thank you for helping me."; - next; - mes "[Jack]"; - mes "Here take these 3 Treasure Tokens."; - delitem 901,40; - set nine_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+3; - close; -} -///////Job list 10/////// -//10-1 -morocc,193,51,6 script Kreg 1_M_02,{ - if (ten_qset == 1 && countitem(Merchant_Box_2) > 0) goto N_QuestComp; - if (ten_qset == 1) goto N_QuestStart; - mes "[Kreg]"; - mes "Hello "+strcharinfo(PC_NAME)+" welcome to Morroc."; - close; -N_QuestComp: - mes "[Kreg]"; - mes "Thank you for this delivery."; - next; - mes "[Kreg]"; - mes "Here take this Treasure Token as a reward."; - delitem 1082,1; - set ten_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+1; - close; -N_QuestStart: - mes "[Kreg]"; - mes "So where's my Delivery"; - close; -} -//10-2; -pay_fild10,145,252,6 script Man#02 2_M_DYEINGER,{ - if (ten_qset == 2 && countitem(Tigers_Skin) > 0) goto N_QuestComp; - if (ten_qset == 2) goto N_QuestStart; - mes "[Man]"; - mes "Sorry I'm waiting for someone, you will have to come back later"; - close; -N_QuestComp: - mes "[Man]"; - mes "Thank you for helping me."; - next; - mes "[Man]"; - mes "Here take these 4 Treasure Tokens."; - delitem 1029,1; - set ten_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+4; - close; -N_QuestStart: - mes "[Man]"; - mes "Tony the Tiger is on Crack! He must be stoped, KILL HIM!"; - mes " "; - mes "Bring me back 1 Tiger's Skin!"; - close; -} -//10-3; -cmd_fild08,328,349,4 script Caral 2_M_SWORDMASTER,{ - if (ten_qset == 3 && countitem(Thin_N_Long_Tongue) > 0) goto N_QuestComp; - if (ten_qset == 3) goto N_QuestStart; - mes "[Caral]"; - mes "Sorry I'm waiting for someone, you will have to come back later."; - close; -N_QuestComp: - mes "[Caral]"; - mes "Thank you for helping me."; - next; - mes "[Caral]"; - mes "Here take these 4 Treasure Tokens."; - delitem 1015,1; - set ten_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+4; - close; -N_QuestStart: - mes "[Caral]"; - mes "Phreeoni the Pink Fluff is terrorizing little novices! He must be stoped, KILL HIM!"; - mes " "; - mes "Bring me back 1 Tounge!"; - close; -} -//10-4 -moc_fild15,250,251,6 script Jeni 4_F_JOB_HUNTER,{ - if (ten_qset == 4 && countitem(Round_Shell) > 0) goto N_QuestComp; - if (ten_qset == 4) goto N_QuestStart; - mes "[Jeni]"; - mes "Sorry I'm waiting for someone, You will have to come back later"; - close; -N_QuestComp: - mes "[Jeni]"; - mes "Thank you for helping me."; - next; - mes "[Jeni]"; - mes "Here take these 3 Treasure Tokens."; - delitem 1096,1; - set ten_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+3; - close; -N_QuestStart: - mes "[Jeni]"; - mes "This half naked freak need an army to take down, now its your job,good luck."; - mes " "; - mes "Bring me back 1 Round Shell!"; - close; -} diff --git a/npc/custom/quests/thq/THQS_TTShop.txt b/npc/custom/quests/thq/THQS_TTShop.txt deleted file mode 100644 index 96e7346d3..000000000 --- a/npc/custom/quests/thq/THQS_TTShop.txt +++ /dev/null @@ -1,204 +0,0 @@ -//===== Hercules Script ====================================== -//= Treasure Hunter Quests -//===== By: ================================================== -//= Fredzilla -//===== Current Version: ===================================== -//= 1.2a -//===== Description: ========================================= -//= Start for Treasure hunter quests -//===== Additional Comments: ================================= -//= Event_THQS - Used to check if you have already registered -//= #Treasure_Token - used to keep track of tokens -//= 1.0 - Straight conversion of Aegis NPC file -//= 1.1 - balanced some prices, fixed 1 missing label -//= removed Executioner&Mysteltain swords [Lupus] -//= 1.2 - Optmized and fixed small error [Panikon] -//= 1.2a - Fixed zeny formula [Panikon] -//============================================================ - -prt_in,159,172,0 warp thqwrp 3,3,yuno_in01,123,155 - -// Main configuration object -- script THQS#Configuration FAKE_NPC,{ -OnInit: - // Axes - setarray $THQS_menu_weapons_1[0], Sabbath, Slaughter, Tomahawk, Great_Axe, Guillotine; - setarray $THQS_menu_price_1[0], 160, 160, 180, 200, 200; - // One Handed Swords - setarray $THQS_menu_weapons_2[0], Edge, Solar_Sword, Scissores_Sword, Nagan, Immaterial_Sword, Excalibur, Byeorrun_Gum, Tale_Fing_; - setarray $THQS_menu_price_2[0], 130, 150, 170, 180, 200, 200, 240, 320; - // Two Handed Swords - setarray $THQS_menu_weapons_3[0],Dragon_Slayer, Schweizersabel, Katzbalger, Muramasa, Masamune, Balmung; - setarray $THQS_menu_price_3[0], 140,200,300,300,400,2000; - // Books - setarray $THQS_menu_weapons_4[0],Book_Of_Blazing_Sun, Book_Of_Billows, Book_Of_Gust_Of_Wind, Book_Of_Mother_Earth, Book_Of_The_Apocalypse, Bible, Tablet; - setarray $THQS_menu_price_4[0], 80, 80, 80, 80, 80, 90, 120; - // Bows - setarray $THQS_menu_weapons_5[0], Bow_Of_Rudra, Bow_Of_Roguemaster; - setarray $THQS_menu_price_5[0], 150, 150; - // Katars - setarray $THQS_menu_weapons_6[0], Katar_Of_Cold_Icicle,Katar_Of_Thornbush,Katar_Of_Raging_Blaze,Katar_Of_Piercing_Wind,Ghoul_Leg,Infiltrator; - setarray $THQS_menu_price_6[0],70,70,70,70,125,150; - // Knuckles - setarray $THQS_menu_weapons_7[0],Kaiser_Knuckle,Berserk; - setarray $THQS_menu_price_7[0],75,75; - // Maces - setarray $THQS_menu_weapons_8[0],Spike,Slash,Grand_Cross,Quadrille,Mjolnir; - setarray $THQS_menu_price_8[0],65,90,100,110,1000; - // Whips - setarray $THQS_menu_weapons_9[0],Rapture_Rose,Chemeti; - setarray $THQS_menu_price_9[0],50,65; - // Wands - setarray $THQS_menu_weapons_10[0],Mighty_Staff,Wizardy_Staff,Bone_Wand,Staff_Of_Soul; - setarray $THQS_menu_price_10[0],90,150,110,120; - // Cards - setarray $THQS_menu_cards[0],Poring_Card, Pasana_Card, Dokebi_Card, Sword_Fish_Card, Sand_Man_Card, Drainliar_Card, - Kaho_Card,Mandragora_Card,Vadon_Card,Mummy_Card,Zenorc_Card,Condor_Card, Zombie_Card; - setarray $THQS_menu_price[0],2,420,420,420,420,360,360,360,360,540,240,240,210; - end; -} - -// Trades tokens -// getarg(0) - number of tokens to be traded -function script thqs_trade_token { - @type = getarg(0); - if( @type == 4 ) - close; - - // 10^0, 10^1, 10^2 - @type -= 1; - @price = (10 ** @type); - - // 10^3, 10^4, 10^5 - @type += 3; // So we can use pow later to determine the qt of Zeny - @prize = (10 ** @type); - - if( #Treasure_Token < @price ) { - mes "You don't have enough tokens!"; - close; - } - - if( Zeny == MAX_ZENY ) { - mes "You can't add more zeny to your character"; - close; - } - - Zeny += @prize; - #Treasure_Token -= @price; - close; -} - -// Creates a buying menu -// getarg(0) - .@mw$ -> ID -// getarg(1) - .@mp$ -> PRICE -function script thqs_menu_buy { - if( getargcount() != 2 ) { - debugmes "thqs_menu_buy: Wrong number of arguments!!"; - close; - } - - .@mw$ = getarg(0); - .@mp$ = getarg(1); - - if( getarraysize( getd(.@mw$) ) != getarraysize( getd(.@mp$) ) ) { - debugmes "thqs_menu_buy: Missing entries in data!"; - close; - } - - // Dynamic menu - // Uses a dynamic string and then applies it to a *select - .@select_menu$ = ""; - for( .@i = 0; .@i < getarraysize( getd(.@mw$) ); .@i++ ) { - .@price = getd(.@mp$+"["+.@i+"]"); - - if( .@select_menu$ != "") - .@select_menu$ = .@select_menu$+":"+getitemname( getd(.@mw$+"["+.@i+"]") )+" - "+.@price+"T"; - else - .@select_menu$ = getitemname( getd(.@mw$+"["+.@i+"]") )+" - "+.@price+"T"; - } - .@select_menu$ = .@select_menu$ + ":Nevermind"; - select(.@select_menu$); - - if( @menu == (.@i+1) ) - close; - - @index = @menu - 1; // Arrays are 0 indexed while our menu is not - @item_id = getd(.@mw$+"["+@index+"]"); - @price = getd(.@mp$+"["+@index+"]"); - if( #Treasure_Token < @price ) { - mes "You don't have enough tokens!"; - close; - } - #Treasure_Token -= @price; - logmes "Treasure Token: Bought a "+getitemname(@item_id); - getitem @item_id,1; - close; -} - -// Creates the first weapon menu -// getarg(0) - @menu -function script ths_menu_weapons { - @first_option = getarg(0); - if( @first_option == 11 ) - close; - mes "[Ash]"; - mes "This is what we have to offer."+@first_option; - next; - // Array names so they can be used by thqs_menu_buy - .@mw$ = "$THQS_menu_weapons_"+@first_option; - .@mp$ = "$THQS_menu_price_"+@first_option; - - thqs_menu_buy(.@mw$,.@mp$); -} - -// Main script -prt_in,164,174,1 script Treasure Hunter's Shop 1_M_YOUNGKNIGHT,{ - mes "[Ash]"; - mes "Ahh, "+strcharinfo(PC_NAME)+"! Welcome to the Offical Treasure Hunter's Guild Shop."; - mes "You currently have ^FF0000"+#Treasure_Token+"^000000 treasure tokens!!!"; - next; - switch( select("How does this place work?","What do you have in stock?","Nevermind") ) { - case 1: - mes "[Ash]"; - mes "Well you see here you can exchange your treasure hunter tokens for zeny or rare weapons forged by our blacksmiths."; - mes " "; - mes "Everything has its own price value and the only way you can get the tokens is by completing quests assigned to you,the system normally works like this."; - mes " "; - mes "The harder the mission the more Tokens you will earn. All red quests are worth 4-8 Tokens, and the rest are worth 1-5."; - mes " "; - mes "Hope that solves your problem and questions."; - close; - case 2: - break; - case 3: - close; - } - - mes "[Ash]"; - mes "Ok here is our Big list of goods."; - mes " "; - mes "(Note T stands for a Treasure Token.)"; - next; - mes "[Ash]"; - mes "This is what we have to offer."; - next; - switch( select("Trade for zeny", "Trade for Weapons", "Trade for Cards", "Nevermind") ) { - case 1: - select("1000z - 1T","10000z - 10T","100000z - 100T","Nevermind"); - thqs_trade_token(@menu); - case 2: - mes "[Ash]"; - mes "This is what we have to offer."; - next; - select("Axe's","1 Handed Swords","2 Handed Swords","Book's","Bow's","Katar's","Knuckle's","Mace's","Whips","Wands","Nevermind"); - ths_menu_weapons(@menu); - case 3: - mes "[Ash]"; - mes "This is what we have to offer."; - next; - thqs_menu_buy("$THQS_menu_cards","$THQS_menu_price"); - case 4: - close; - } - end; -} diff --git a/npc/custom/quests/umbalian_language.txt b/npc/custom/quests/umbalian_language.txt deleted file mode 100644 index ba3517879..000000000 --- a/npc/custom/quests/umbalian_language.txt +++ /dev/null @@ -1,195 +0,0 @@ -//===== Hercules Script ====================================== -//= Custom Umbalian Language Quest -//===== By: ================================================== -//= sabernet09 -//===== Current Version: ===================================== -//= 1.1 -//===== Description: ========================================= -//= 1.1 Removed it from offical Umbala Quests [Lupus] -//============================================================ - -prontera,145,290,5 script Mason 2_M_SAGE_B,{ - mes "[Mason]"; - if(umb_lang==0) goto L_NOT_GOT_QUEST; - if(umb_lang==2 || umb_mason==1) goto L_AGAIN; - - mes "Hey there, I came here to Prontera in search of an old lady who can remove cards from slots. Do you know where I can find her?"; - if (select("Yes", "No") != 1) { - mes "Oh.. Ok.. Thanks anyways."; - close; - } - mes "Oooo, could you please tell me where she's at? I'd be really appreciative."; - next; - switch (select("Swordsman Association", "Sanctuary", "Prontera Chivalry", "Trading Post", "Kit Shop", "Inn", "Armory", "Library", "Job Agency", "Prontera Castle", "City Hall")) { - case 1: - mes "[Mason]"; - mes "Hmm... I dunno why she would be there... guess I'll take a look."; - close; - case 2: - mes "[Mason]"; - mes "Wow I never knew she was a religious person... I'll see to it thanks."; - close; - case 3: - mes "[Mason]"; - mes "Hmm.... are you sure about that?"; - close; - case 4: - mes "[Mason]"; - mes "Why would she need to go there? I think you might be mistaken."; - close; - case 5: - mes "[Mason]"; - mes "The only thing she'd need at a Kit shop is medicine for her rheumatism. She's probably long gone from there by now."; - close; - case 6: - mes "[Mason]"; - mes "I don't think she needs to be there, she LIVES here in Prontera."; - close; - case 7: - mes "[Mason]"; - mes "Ah, I heard that her class was somewhere around there... thanks a lot! Here's a lil something for your help."; - getitem(Rent_Spell_Book, 1);//Items: Torn Spell Book, - umb_mason = 1; - close; - case 8: - mes "[Mason]"; - mes "Ah I see, if she's studying then I don't want to bother her. Thanks anyways."; - close; - case 9: - mes "[Mason]"; - mes "Job Agency? I don't think so. Don't lead me all around Prontera please! She's already a teacher here."; - close; - case 10: - mes "[Mason]"; - mes "The castle eh, I don't want to step in there... just doesn't feel like my style. I don't like that noble feeling of importance type of thing."; - close; - case 11: - mes "[Mason]"; - mes "O wow, did she become an important part of Prontera? I'd think she's too busy for me to visit. I'll try again later."; - close; - } - -L_AGAIN: - emotion e_thx; - mes "Yay, I found her! Thank you very much for you help!"; - close; - -L_NOT_GOT_QUEST: - mes "Hi! I came here to Prontera in search of an old lady... But..."; - close; -} - -aldebaran,153,212,1 script Mojo 2_M_ALCHE,{ - mes "[Mojo]"; - if(umb_lang!=1) goto L_NOT_GOT_QUEST; - mes "Oh no! I lost my teacher's ^FF0000old magic book^000000!"; - mes "What am I going to do... those dumb Bathory..."; - if(umb_lang==1) set umb_mojo,1; - close; -L_NOT_GOT_QUEST: - emotion e_what; - mes "I lost my teacher's book! What am I going to do..."; - close; -} - -amatsu,267,189,4 script Marie 4_F_ALCHE,{ - mes "[Marie]"; - if(umb_lang==0) goto L_NOT_GOT_QUEST; - if(umb_lang==2 || umb_marie==1) goto L_AGAIN; - if(countitem(Poring_Egg)>0 && countitem(Pet_Incubator)>0) goto L_DONE;//Items: Poring Egg, Pet Incubator, - mes "Hello, is there something you need?"; - next; - if (select("No nothing at all.", "Your teacher sent me.") != 2 ) { - mes "[Marie]"; - mes "Hrrmm okay? Cya then.."; - close; - } - mes "[Marie]"; - mes "What does he want from me?"; - emotion e_what; - next; - mes "[Marie]"; - mes "Oh wait, I see... he wants his reference scroll back am I right? Well, I'm kinda still using it buuut... I'll give it back if you can gimme a poring egg and an incubator. Those things are so cute!"; - close; - -L_NOT_GOT_QUEST: - emotion e_what; - mes "Hi! What do you want from me?"; - close; - -L_DONE: - mes "Heyyy there, you have a poring egg and the pet incubator to go with it! Are those for me?"; - if (select("Yep!", "Sorry, no.") != 1) { - mes "Oh.. pooo... sigh..."; - close; - } - mes "[Marie]"; - if (countitem(Poring_Egg) == 0 && countitem(Pet_Incubator) == 0) { - mes "Oh.. pooo... sigh..."; - close; - } - mes "Yatta! Here's a lil something in return."; - delitem Poring_Egg,1;//Items: Poring Egg, - delitem Pet_Incubator,1;//Items: Pet Incubator, - getitem Rent_Scroll,1;//Items: Torn Scroll, - set umb_marie,1; //got Torn Scroll - close; - -L_AGAIN: - emotion e_thx; - mes "Yay! I love Porings!"; - close; -} - -yuno,157,366,2 script Wise Man Fabius 2_M_SAGE_OLD,{ - mes "[Fabius]"; - if(event_umbala >= 3) set umb_lang,2; //You already learnt Umbalian language from Umbalian Chief. So this Quest is disabled - if(umb_lang<2) goto L_Quest; - mes "You speak Umbalian fluently! So you will never forget the language of Umbalians!"; - close; -L_Quest: - if((countitem(Old_Magic_Book) < 1) || (countitem(Rent_Scroll) < 1) || (countitem(Rent_Spell_Book) < 1)) goto L_DONE;//Items: Old Magic Book, Torn Scroll, Torn Spell Book, - delitem Old_Magic_Book,1; //Items: Old Magic Book, - delitem Rent_Scroll,1; //Items: Torn Scroll, - delitem Rent_Spell_Book,1;//Items: Torn Spell Book, - emotion e_thx; - mes "Ah, you've done well in retrieving my references. These artifacts holds information about ruins around the world, from the burning hell of the Magma Dungeon, to the strange eerie Hidden Forest of Yggsadril."; - next; - mes "[Fabius]"; - mes "But enough talk, you're just eager to get your reward aren't you? Well it may not sound much, but my reward for you is knowledge..."; - next; - mes "[Fabius]"; - mes "Actually it is knowledge of the Umbalian people. They are connected to this world of Midgard in some special way, we just can't confirm it yet. There is a theory that they may be like the elves and protect the ancient tree of Yggsadril."; - next; - mes "[Fabius]"; - mes "And I, a great wise man of Yuno, will teach you their language!"; - next; - mes "^0000FF Learned the language of Umbalians! ^000000"; - set umb_lang,2; - //clear subquests - set umb_marie,0; - set umb_mason,0; - set umb_mojo,0; - //make you understand Umbalian people - //it's an alternative way to learn Umbalian Language - if(event_umbala < 3) set event_umbala,3; - close; -L_DONE: - set umb_lang,1; //got Quest - mes "Argh! My three students ran off with my references! Hey you! Can you get them back for me? I'll gladly reward you."; - next; - mes "[Fabius]"; - mes "From what I know, they're in different seperate towns making something out of themselves."; - if(umb_marie==0 && umb_mason==0 && umb_mojo==0) goto L_NOT_MET; - if(umb_marie==1) mes "Oh... You found Marie in Amatsu."; - if(umb_mojo==1) mes "You saw Mojo in Aldebaran?"; - if(umb_mason==1) mes "So... Mason's in Prontera now... Well..."; - if(umb_marie==0) mes "I wonder where is our sea girl Marie?"; - if(umb_mojo==0) mes "Mojo should be somewhere near water..."; - if(umb_mason==0) mes "Where'd Mason go then..."; - mes "Oh yeah, tell them I sent you"; - close; -L_NOT_MET: - mes "Oh yeah, tell them I sent you, their names are Marie, Mason and Mojo."; - close; -} diff --git a/npc/custom/quests/valhallen.txt b/npc/custom/quests/valhallen.txt deleted file mode 100644 index 1a2b45968..000000000 --- a/npc/custom/quests/valhallen.txt +++ /dev/null @@ -1,66 +0,0 @@ -//===== Hercules Script ====================================== -//= Valhallen Items Quests NPC -//===== By: ================================================== -//= Avaji -//===== Current Version: ===================================== -//= 1.1 -//===== Description: ========================================= -//= All-in-one: Mjolnir,Sleipnir,Brisingamen,Gleipnir,Megingjard -//= Custom quest, ingredients based on official RO FAQ -//===== Additional Comments: ================================= -//= 1.1 Optimized. [Euphy] -//============================================================ - -prontera,147,171,5 script Lenneth 4_F_VALKYRIE,{ - mes "[Lenneth]"; - mes "I come from Valhalla to aid you."; - mes "I can transmute for you many of the Valhallen items,"; - mes "although they require many rare elements to make."; - next; - switch(select("Mjolnir", "Sleipnir", "Brisingamen", "Gleipnir", "Megingjard")) { - case 1: - mes "[Lenneth]"; - mes "^3355FFMjolnir^000000 is the mighty Hammer of Thor."; - setarray .@items[0],1530,1531,2,984,20,985,5,969,40,7074,2,7075,4,7078,5,7087,5,7089,5; - break; - case 2: - mes "[Lenneth]"; - mes "^3355FFSleipnir^000000 are boots made after Odin's War Horse."; - setarray .@items[0],2410,2406,2,984,1,969,20,985,10,7076,3,7079,5,7083,3,7086,3; - break; - case 3: - mes "[Lenneth]"; - mes "^3355FFBrisingammen^000000 is the magical Necklace of Freyja, goddess of Beauty."; - setarray .@items[0],2630,2603,1,726,2,722,3,727,10,723,5,969,20,7073,4,7077,4,7088,3,7090,3,7092,3; - break; - case 4: - mes "[Lenneth]"; - mes "The ^3355FFGleipnir^000000 is a light yet strong rope required to make ^3355FFMegingjard^000000"; - setarray .@items[0],7058,7080,4,7081,5,7082,4,7084,3,7085,3; - break; - case 5: - mes "[Lenneth]"; - mes "The ^3355FFMegingjard^000000 is the powerful Belt of Thor."; - setarray .@items[0],2629,7058,1,2627,1,969,10,726,10,984,5; - break; } - mes "^FF0000The items I need are as follows:^000000"; - for(set .@i,1; .@i<getarraysize(.@items[0]); set .@i,.@i+2) { - mes " ~ "+.@items[.@i+1]+"x ^3355FF"+getitemname(.@items[.@i])+"^000000"; - if (countitem(.@items[.@i]) < .@items[.@i+1]) set .@nr,1; } - if (.@nr) close; - next; - mes "[Lenneth]"; - mes "Do you desire ^3355FF"+getitemname(.@items[0])+"^000000?"; - next; - if(select("Yes", "No")==2) { - mes "[Lenneth]"; - mes "Please return if you change your mind."; - close; } - mes "[Lenneth]"; - mes "Here is your ^3355FF"+getitemname(.@items[0])+"^000000."; - mes "May it serve you well."; - for(set .@i,1; .@i<getarraysize(.@items); set .@i,.@i+2) - delitem .@items[.@i], .@items[.@i+1]; - getitem .@items[0],1; - close; -} |