summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2010-06-12 03:13:11 +0000
committerL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2010-06-12 03:13:11 +0000
commita3389f9f6b6afec1d0b9563fd5b17ec9b0664af6 (patch)
treea50b795b701debc742d3d8835065b5f2adb9524d /npc
parentc5d8bdf9c1af99140472f4184360c031beb68a67 (diff)
downloadhercules-a3389f9f6b6afec1d0b9563fd5b17ec9b0664af6.tar.gz
hercules-a3389f9f6b6afec1d0b9563fd5b17ec9b0664af6.tar.bz2
hercules-a3389f9f6b6afec1d0b9563fd5b17ec9b0664af6.tar.xz
hercules-a3389f9f6b6afec1d0b9563fd5b17ec9b0664af6.zip
* Implemented repeatable EXP quests (with kill count and item gathering options) removed iRO_Exp.txt.
* Fixed missing slot on Power_of_Thor. (bugreport:4168) * Fixed size for HELL_APOCALIPS and ZUKADAM. (bugreport:4293) * Fixed mob modes on ANCIENT_TREE and RYNCHO. (bugreport:4294) * Fixed HP and INT bonuses on the Kronos staff. (bugreport:4297) * Fixed equip location and more on the Ruber sword. (bugreport:4298) * Fixed typo in the Icecream_Hat giving the wrong skill. (bugreport:4299) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14339 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc')
-rw-r--r--npc/Changelog.txt2
-rw-r--r--npc/quests/collection/quest_alligator.txt242
-rw-r--r--npc/quests/collection/quest_caramel.txt242
-rw-r--r--npc/quests/collection/quest_coco.txt243
-rw-r--r--npc/quests/collection/quest_creamy.txt248
-rw-r--r--npc/quests/collection/quest_demonpungus.txt244
-rw-r--r--npc/quests/collection/quest_dokebi.txt234
-rw-r--r--npc/quests/collection/quest_dryad.txt242
-rw-r--r--npc/quests/collection/quest_fabre.txt231
-rw-r--r--npc/quests/collection/quest_frilldora.txt240
-rw-r--r--npc/quests/collection/quest_goat.txt245
-rw-r--r--npc/quests/collection/quest_golem.txt232
-rw-r--r--npc/quests/collection/quest_hode.txt241
-rw-r--r--npc/quests/collection/quest_leafcat.txt239
-rw-r--r--npc/quests/collection/quest_pecopeco.txt251
-rw-r--r--npc/quests/collection/quest_pupa.txt233
-rw-r--r--npc/quests/iRO_Exp.txt851
-rw-r--r--npc/scripts_athena.conf32
18 files changed, 3633 insertions, 859 deletions
diff --git a/npc/Changelog.txt b/npc/Changelog.txt
index c1e2529c2..b57473151 100644
--- a/npc/Changelog.txt
+++ b/npc/Changelog.txt
@@ -1,6 +1,8 @@
Date Added
======
2010/06/10
+ * Rev. 14339 Implemented repeatable EXP quests (with kill count and item gathering options) removed iRO_Exp.txt. [L0ne_W0lf]
+2010/06/10
* Rev. 14338 Removed a 'close' in a 13.1 quest which should have been 'close2'. (bugreport:4276)
* Added three 13.2 quests: Monster Suppression, Bradium Collection, and Laphine Craftsman.
* Rev. 14337 Enabled the WoESE Guild Dungeon warper and spawns. [L0ne_W0lf]
diff --git a/npc/quests/collection/quest_alligator.txt b/npc/quests/collection/quest_alligator.txt
new file mode 100644
index 000000000..03802eab3
--- /dev/null
+++ b/npc/quests/collection/quest_alligator.txt
@@ -0,0 +1,242 @@
+//===== eAthena Script =======================================
+//= iRO Repeatable EXP Quests.
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Added Monster Killing quests.
+//= Repeatable EXP Quest (Anolian Skins)
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+cmd_fild01,362,256,3 script Cuir#Gator_Hunt 106,{
+ if (checkquest(60119) != -1) {
+ if (checkquest(60119,HUNTING) != 2 ) {
+ mes "[Cuir]";
+ mes "Have you finished hunting the 50 Alligators?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Cuir]";
+ mes "Hmm, I don't think you've hunted 50 yet...";
+ close;
+ case 2:
+ mes "[Cuir]";
+ mes "Remember, I need help hunting Alligators so go and hunt 50 of them.";
+ close;
+ case 3:
+ mes "[Cuir]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Cuir]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60119;
+ close;
+ case 2:
+ mes "[Cuir]";
+ mes "Please kill 50 Alligators.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Cuir]";
+ mes "Amazing, you did that with speed.";
+ getexp 68950,43300;
+ erasequest 60119;
+ close;
+ }
+ }
+ if (checkquest(60120) != -1) {
+ if (checkquest(60120,HUNTING) != 2 ) {
+ mes "[Cuir]";
+ mes "Have you finished hunting the 50 Alligators?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Cuir]";
+ mes "Hmm, I don't think you've hunted 100 yet...";
+ close;
+ case 2:
+ mes "[Cuir]";
+ mes "Remember, I need help hunting Alligators so go and hunt 100 of them.";
+ close;
+ case 3:
+ mes "[Cuir]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Cuir]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60120;
+ close;
+ case 2:
+ mes "[Cuir]";
+ mes "Please kill 100 Alligators.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Cuir]";
+ mes "Amazing, you did that with speed.";
+ getexp 68950,43300;
+ getexp 68950,43300;
+ erasequest 60120;
+ close;
+ }
+ }
+ if (checkquest(60121) != -1) {
+ if (checkquest(60121,HUNTING) != 2 ) {
+ mes "[Cuir]";
+ mes "Have you finished hunting the 150 Alligators?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Cuir]";
+ mes "Hmm, I don't think you've hunted 150 yet...";
+ close;
+ case 2:
+ mes "[Cuir]";
+ mes "Remember, I need help hunting Alligators so go and hunt 150 of them.";
+ close;
+ case 3:
+ mes "[Cuir]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Cuir]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60121;
+ close;
+ case 2:
+ mes "[Cuir]";
+ mes "Please kill 150 Alligators.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Cuir]";
+ mes "Amazing, you did that with speed.";
+ getexp 68950,43300;
+ getexp 68950,43300;
+ getexp 68950,43300;
+ erasequest 60121;
+ close;
+ }
+ }
+ //for minimum level
+ if (BaseLevel > 44) {
+ //for maximum level
+ if (BaseLevel < 81) {
+ mes "[Cuir]";
+ mes "You look like a sturdy adventurer!";
+ next;
+ mes "[Cuir]";
+ mes "I was sent here to minimize the Alligator population but the task is proving to be quite difficult for just me to complete.";
+ mes "How'd you like to help me out?";
+ next;
+ switch(select("Sure:No")) {
+ case 1:
+ mes "[Cuir]";
+ mes "You can help me out by either hunting Alligators or by gathering items for me.";
+ mes "Which would you like to do?";
+ next;
+ switch(select("Gather Items:Hunt Alligators:Cancel")) {
+ case 1:
+ // Item turn in
+ mes "[Cuir]";
+ mes "If you can bring me ^00CC0020 Anolian Skins^000000. I'll help you get stronger.";
+ next;
+ switch(select("I have the Anolian Skins:Gators bite!")) {
+ case 1:
+ /*
+ if (checkweight(503,10) == 0) {
+ mes "[Cuir]";
+ mes "Hey, it looks like that the weight on";
+ mes "your back will crush you. Come back";
+ mes "after you have lost some weight.";
+ close;
+ }
+ */
+ if (countitem(7003) > 19) {
+ mes "[Cuir]";
+ mes "Thank you for the ^00CE0020 Anolian Skins^000000!";
+ mes "I hope you can continue to help me collect these skins.";
+ mes "The armor creators around the world are clamoring for them.";
+ delitem 7003,20; //Anolian_Skin
+ getexp 68950,43300;
+ //getitem 503,10; //Yellow_Potion
+ close;
+ }
+ else {
+ mes "[Cuir]";
+ mes "I know a gator skin when I see it and I don't see ^00CE0020 Anolian Skins^000000.";
+ close;
+ }
+ case 2:
+ mes "[Cuir]";
+ mes "I need ^00CE0020 Anolian Skins^000000.";
+ close;
+ }
+ case 2:
+ // Kill Count Quest
+ mes "[Cuir]";
+ mes "Ah, ok I think you can help me out by hunting some Alligators.";
+ mes "How many would you like to hunt?";
+ next;
+ switch(select("50 Alligators:100 Alligators:150 Alligators")) {
+ case 1:
+ mes "[Cuir]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60119;
+ close;
+ case 2:
+ mes "[Cuir]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60120;
+ close;
+ case 3:
+ mes "[Cuir]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60121;
+ close;
+ }
+ case 3:
+ mes "[Cuir]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ case 2:
+ mes "[Cuir]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ }
+ else {
+ mes "[Cuir]";
+ mes "You are too powerful for this task, I need the skins in fair condition, not exploded!";
+ next;
+ close;
+ }
+ }
+ else {
+ mes "[Cuir]";
+ mes "You certainly are brave, but bravery turns to foolishness if you continue going East.";
+ mes "Perhaps when you are stronger you and I can do business.";
+ close;
+ }
+}
diff --git a/npc/quests/collection/quest_caramel.txt b/npc/quests/collection/quest_caramel.txt
new file mode 100644
index 000000000..109e6abfe
--- /dev/null
+++ b/npc/quests/collection/quest_caramel.txt
@@ -0,0 +1,242 @@
+//===== eAthena Script =======================================
+//= iRO Repeatable EXP Quests.
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Added Monster Killing quests.
+//= Repeatable EXP Quest (Porcupine Quills)
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+mjolnir_01,296,29,6 script Yullo#Caramel_Hunt 95,{
+ if (checkquest(60116) != -1) {
+ if (checkquest(60116,HUNTING) != 2 ) {
+ mes "[Yullo]";
+ mes "Have you finished hunting the 50 Caramels?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Yullo]";
+ mes "Hmm, I don't think you've hunted 50 yet...";
+ close;
+ case 2:
+ mes "[Yullo]";
+ mes "Remember, I need help hunting Caramels so go and hunt 50 of them.";
+ close;
+ case 3:
+ mes "[Yullo]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Yullo]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60116;
+ close;
+ case 2:
+ mes "[Yullo]";
+ mes "Please kill 50 Caramels.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Yullo]";
+ mes "Amazing, you did that with speed.";
+ getexp 10425,6272;
+ erasequest 60116;
+ close;
+ }
+ }
+ if (checkquest(60117) != -1) {
+ if (checkquest(60117,HUNTING) != 2 ) {
+ mes "[Yullo]";
+ mes "Have you finished hunting the 50 Caramels?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Yullo]";
+ mes "Hmm, I don't think you've hunted 100 yet...";
+ close;
+ case 2:
+ mes "[Yullo]";
+ mes "Remember, I need help hunting Caramels so go and hunt 100 of them.";
+ close;
+ case 3:
+ mes "[Yullo]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Yullo]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60117;
+ close;
+ case 2:
+ mes "[Yullo]";
+ mes "Please kill 100 Caramels.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Yullo]";
+ mes "Amazing, you did that with speed.";
+ getexp 10425,6272;
+ getexp 10425,6272;
+ erasequest 60117;
+ close;
+ }
+ }
+ if (checkquest(60118) != -1) {
+ if (checkquest(60118,HUNTING) != 2 ) {
+ mes "[Yullo]";
+ mes "Have you finished hunting the 150 Caramels?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Yullo]";
+ mes "Hmm, I don't think you've hunted 150 yet...";
+ close;
+ case 2:
+ mes "[Yullo]";
+ mes "Remember, I need help hunting Caramels so go and hunt 150 of them.";
+ close;
+ case 3:
+ mes "[Yullo]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Yullo]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60118;
+ close;
+ case 2:
+ mes "[Yullo]";
+ mes "Please kill 150 Caramels.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Yullo]";
+ mes "Amazing, you did that with speed.";
+ getexp 10425,6272;
+ getexp 10425,6272;
+ getexp 10425,6272;
+ erasequest 60118;
+ close;
+ }
+ }
+ //for minimum level
+ if (BaseLevel > 23) {
+ //for maximum level
+ if (BaseLevel < 61) {
+ mes "[Yullo]";
+ mes "I can't, no more and I mean it.";
+ mes "Look at me I am serious I can't kill any more of these things.";
+ next;
+ switch(select("What things?:Ignore.")) {
+ case 1:
+ mes "[Yullo]";
+ mes "You know what, here is an idea.";
+ mes "You can gather them and I can give you a reward for your efforts!";
+ next;
+ switch(select("Gather Items:Hunt Caramels:Cancel")) {
+ case 1:
+ // Item turn in
+ mes "[Yullo]";
+ mes "Ok, so I need 25 Porcupine";
+ mes "Quill's.";
+ mes "Please tell me you have some or can";
+ mes "help me";
+ next;
+ switch(select("I have Porcupine Quills:Well I don't think I can help.")) {
+ case 1:
+ /*
+ if (checkweight(501,10) == 0) {
+ mes "[Yullo]";
+ mes "Hey, it looks like that the weight on";
+ mes "your back will crush you. Come back";
+ mes "after you have lost some weight.";
+ close;
+ }
+ */
+ if (countitem(1027) > 24) {
+ mes "[Yullo]";
+ mes "Great, you have enough!";
+ mes "Just like I promised a little reward.";
+ delitem 1027,25; //Porcupine_Spike
+ getexp 10425,6272;
+ //getitem 501,10; //Red_Potion
+ close;
+ }
+ else {
+ mes "[Yullo]";
+ mes "Where are the Porcupine Quills?";
+ mes "You think I wouldn't notice?";
+ close;
+ }
+ case 2:
+ mes "[Yullo]";
+ mes "I need ^00CE0025 Porcupine Quills^000000.";
+ close;
+ }
+ case 2:
+ // Kill Count Quest
+ mes "[Yullo]";
+ mes "Ah, ok I think you can help me out by hunting some Caramels.";
+ mes "How many would you like to hunt?";
+ next;
+ switch(select("50 Caramels:100 Caramels:150 Caramels")) {
+ case 1:
+ mes "[Yullo]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60116;
+ close;
+ case 2:
+ mes "[Yullo]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60117;
+ close;
+ case 3:
+ mes "[Yullo]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60118;
+ close;
+ }
+ case 3:
+ mes "[Yullo]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ case 2:
+ mes "[Yullo]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ }
+ else {
+ mes "[Yullo]";
+ mes "Hello, my name is Yullo.";
+ mes "Now wait a minute, are you not a little too high of level for this?";
+ close;
+ }
+ }
+ else {
+ mes "[Yullo]";
+ mes "Hmm, this maybe a little much of a request for you.";
+ mes "Come back when you are taller and stronger.";
+ close;
+ }
+}
diff --git a/npc/quests/collection/quest_coco.txt b/npc/quests/collection/quest_coco.txt
new file mode 100644
index 000000000..ae64b19cd
--- /dev/null
+++ b/npc/quests/collection/quest_coco.txt
@@ -0,0 +1,243 @@
+//===== eAthena Script =======================================
+//= iRO Repeatable EXP Quests.
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Added Monster Killing quests.
+//= Repeatable EXP Quest (Acorns)
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+mjolnir_01,293,20,3 script Nutters#Coco_Hunt 779,{
+ if (checkquest(60113) != -1) {
+ if (checkquest(60113,HUNTING) != 2 ) {
+ mes "[Nutters]";
+ mes "Have you finished hunting the 50 Cocos?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Nutters]";
+ mes "Hmm, I don't think you've hunted 50 yet...";
+ close;
+ case 2:
+ mes "[Nutters]";
+ mes "Remember, I need help hunting Cocos so go and hunt 50 of them.";
+ close;
+ case 3:
+ mes "[Nutters]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Nutters]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60113;
+ close;
+ case 2:
+ mes "[Nutters]";
+ mes "Please kill 50 Cocos.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Nutters]";
+ mes "Amazing, you did that with speed.";
+ getexp 3600,3905;
+ erasequest 60113;
+ close;
+ }
+ }
+ if (checkquest(60114) != -1) {
+ if (checkquest(60114,HUNTING) != 2 ) {
+ mes "[Nutters]";
+ mes "Have you finished hunting the 50 Cocos?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Nutters]";
+ mes "Hmm, I don't think you've hunted 100 yet...";
+ close;
+ case 2:
+ mes "[Nutters]";
+ mes "Remember, I need help hunting Cocos so go and hunt 100 of them.";
+ close;
+ case 3:
+ mes "[Nutters]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Nutters]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60114;
+ close;
+ case 2:
+ mes "[Nutters]";
+ mes "Please kill 100 Cocos.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Nutters]";
+ mes "Amazing, you did that with speed.";
+ getexp 3600,3905;
+ getexp 3600,3905;
+ erasequest 60114;
+ close;
+ }
+ }
+ if (checkquest(60115) != -1) {
+ if (checkquest(60115,HUNTING) != 2 ) {
+ mes "[Nutters]";
+ mes "Have you finished hunting the 150 Cocos?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Nutters]";
+ mes "Hmm, I don't think you've hunted 150 yet...";
+ close;
+ case 2:
+ mes "[Nutters]";
+ mes "Remember, I need help hunting Cocos so go and hunt 150 of them.";
+ close;
+ case 3:
+ mes "[Nutters]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Nutters]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60115;
+ close;
+ case 2:
+ mes "[Nutters]";
+ mes "Please kill 150 Cocos.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Nutters]";
+ mes "Amazing, you did that with speed.";
+ getexp 3600,3905;
+ getexp 3600,3905;
+ getexp 3600,3905;
+ erasequest 60115;
+ close;
+ }
+ }
+ //for minimum level
+ if (BaseLevel > 17) {
+ //for maximum level
+ if (BaseLevel < 60) {
+ mes "[Nutters]";
+ mes "I..I just can't seem to find any.";
+ mes "Pesky Coco's have hidden all the Acorns.";
+ mes "Do you think you could help me?";
+ next;
+ switch(select("Sure:No")) {
+ case 1:
+ mes "[Nutters]";
+ mes "Oh, that's great! I knew I could count on you, just from looking at you!";
+ next;
+ switch(select("Gather Items:Hunt Cocos:Cancel")) {
+ case 1:
+ // Item turn in
+ mes "[Nutters]";
+ mes "Can you help me find ^00CE0025 Acorns^000000.";
+ mes "I will reward you with much if you can.";
+ next;
+ switch(select("I have 25 Acorns:Please come again?")) {
+ case 1:
+ /*
+ if (checkweight(502,5) == 0) {
+ mes "[Nutters]";
+ mes "Hey, it looks like that the weight on";
+ mes "your back will crush you. Come back";
+ mes "after you have lost some weight.";
+ close;
+ }
+ */
+ if (countitem(1026) > 24) {
+ mes "[Nutters]";
+ mes "Oh great you found out where they were hiding them.";
+ mes "Gimme Gimme!!!";
+ next;
+ mes "[Nutters]";
+ mes "Oh that's right, sorry I just love roasting Acorns. Mmm.";
+ mes "Here is what I promised you.";
+ delitem 1026,25; //Acorn
+ getexp 3600,3905;
+ //getitem 502,5; //Orange_Potion
+ close;
+ }
+ else {
+ mes "[Nutters]";
+ mes "Where are my ^00CE00Acorns^000000?";
+ mes "Hey, I'm not playing, you better not hold out on me.";
+ close;
+ }
+ case 2:
+ mes "[Nutters]";
+ mes "I need ^00CE0025 Acorns^000000.";
+ close;
+ }
+ case 2:
+ // Kill Count Quest
+ mes "[Nutters]";
+ mes "Ah, ok I think you can help me out by hunting some Cocos.";
+ mes "How many would you like to hunt?";
+ next;
+ switch(select("50 Cocos:100 Cocos:150 Cocos")) {
+ case 1:
+ mes "[Nutters]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60113;
+ close;
+ case 2:
+ mes "[Nutters]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60114;
+ close;
+ case 3:
+ mes "[Nutters]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60115;
+ close;
+ }
+ case 3:
+ mes "[Nutters]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ case 2:
+ mes "[Nutters]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ }
+ else {
+ mes "[Nutters]";
+ mes "You are much to strong to be fighting these things!";
+ close;
+ }
+ }
+ else {
+ mes "[Nutters]";
+ mes "You are just too small to fight these things for me.";
+ mes "Can you get a little taller then return?";
+ close;
+ }
+}
diff --git a/npc/quests/collection/quest_creamy.txt b/npc/quests/collection/quest_creamy.txt
new file mode 100644
index 000000000..6e7eb2d0f
--- /dev/null
+++ b/npc/quests/collection/quest_creamy.txt
@@ -0,0 +1,248 @@
+//===== eAthena Script =======================================
+//= iRO Repeatable EXP Quests.
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Added Monster Killing quests. (Dialog is semi-custom)
+//= Repeatable EXP Quest (Powder of Butterfly)
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+prt_fild04,356,148,3 script Laertes#Creamy_Hunt 798,{
+ if (checkquest(60122) != -1) {
+ if (checkquest(60122,HUNTING) != 2 ) {
+ mes "[Laertes]";
+ mes "Have you finished hunting the 50 Creamys?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Laertes]";
+ mes "Hmm, I don't think you've hunted 50 yet...";
+ close;
+ case 2:
+ mes "[Laertes]";
+ mes "Remember, I need help hunting Creamys so go and hunt 50 of them.";
+ close;
+ case 3:
+ mes "[Laertes]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Laertes]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60122;
+ close;
+ case 2:
+ mes "[Laertes]";
+ mes "Please kill 50 Creamys.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Laertes]";
+ mes "Amazing, you did that with speed.";
+ getexp 2950,1125;
+ erasequest 60122;
+ close;
+ }
+ }
+ if (checkquest(60123) != -1) {
+ if (checkquest(60123,HUNTING) != 2 ) {
+ mes "[Laertes]";
+ mes "Have you finished hunting the 50 Creamys?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Laertes]";
+ mes "Hmm, I don't think you've hunted 100 yet...";
+ close;
+ case 2:
+ mes "[Laertes]";
+ mes "Remember, I need help hunting Creamys so go and hunt 100 of them.";
+ close;
+ case 3:
+ mes "[Laertes]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Laertes]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60123;
+ close;
+ case 2:
+ mes "[Laertes]";
+ mes "Please kill 100 Creamys.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Laertes]";
+ mes "Amazing, you did that with speed.";
+ getexp 2950,1125;
+ getexp 2950,1125;
+ erasequest 60123;
+ close;
+ }
+ }
+ if (checkquest(60124) != -1) {
+ if (checkquest(60124,HUNTING) != 2 ) {
+ mes "[Laertes]";
+ mes "Have you finished hunting the 150 Creamys?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Laertes]";
+ mes "Hmm, I don't think you've hunted 150 yet...";
+ close;
+ case 2:
+ mes "[Laertes]";
+ mes "Remember, I need help hunting Creamys so go and hunt 150 of them.";
+ close;
+ case 3:
+ mes "[Laertes]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Laertes]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60124;
+ close;
+ case 2:
+ mes "[Laertes]";
+ mes "Please kill 150 Creamys.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Laertes]";
+ mes "Amazing, you did that with speed.";
+ getexp 2950,1125;
+ getexp 2950,1125;
+ getexp 2950,1125;
+ erasequest 60124;
+ close;
+ }
+ }
+ //for minimum level
+ if (BaseLevel > 14) {
+ //for maximum level
+ if (BaseLevel < 45) {
+ mes "[Laertes]";
+ mes "Good Morning!";
+ mes "Perhaps you could help me?";
+ next;
+ switch(select("Sure:No")) {
+ case 1:
+ mes "[Laertes]";
+ mes "I work for an apothecary in Prontera.";
+ mes "I come here to collect materials for medicine.";
+ next;
+ switch(select("Gather Items:Hunt Creamys:Cancel")) {
+ case 1:
+ // Item turn in
+ mes "[Laertes]";
+ mes "I need to have a good supply of ^FF0000Powder of Butterfly^000000";
+ next;
+ switch(select("I have Powder of Butterfly:What did you need?")) {
+ case 1:
+ /*
+ if (checkweight(502,5) == 0) {
+ mes "[Laertes]";
+ mes "Hey, it looks like that the weight on";
+ mes "your back will crush you. Come back";
+ mes "after you have lost some weight.";
+ close;
+ }
+ */
+ if (countitem(924) > 24) {
+ mes "[Laertes]";
+ mes "Hey, thank you again.";
+ mes "Here you go, as promised.";
+ delitem 924,25; //Powder_Of_Butterfly
+ getexp 2950,1125;
+ //getitem 502,5; //Orange_Potion
+ close;
+ }
+ else {
+ mes "[Laertes]";
+ mes "It doesn't look like you have enough.";
+ next;
+ mes "[Laertes]";
+ mes "If you bring me ^FF000025 Powder of Butterfly^000000,";
+ mes "I will give you some medical supplies.";
+ close;
+ }
+ case 2:
+ mes "[Laertes]";
+ mes "If you bring me ^FF000025 Powder of Butterfly^000000,";
+ mes "I will give you some medical supplies.";
+ close;
+ }
+ case 2:
+ // Kill Count Quest
+ mes "[Laertes]";
+ mes "Ah, ok I think you can help me out by hunting some Creamys.";
+ mes "How many would you like to hunt?";
+ next;
+ switch(select("50 Creamys:100 Creamys:150 Creamys")) {
+ case 1:
+ mes "[Laertes]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60122;
+ close;
+ case 2:
+ mes "[Laertes]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60123;
+ close;
+ case 3:
+ mes "[Laertes]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60124;
+ close;
+ }
+ case 3:
+ mes "[Laertes]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ case 2:
+ mes "[Laertes]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ }
+ else {
+ mes "[Laertes]";
+ mes "Good Morning!";
+ next;
+ mes "[Laertes]";
+ mes "I work for an apothecary in Prontera";
+ mes "I come here to collect materials for medicine.";
+ close;
+ }
+ }
+ else {
+ mes "[Laertes]";
+ mes "Your level is too low!";
+ next;
+ mes "[Laertes]";
+ mes "Go kill more Porings!";
+ close;
+ }
+}
diff --git a/npc/quests/collection/quest_demonpungus.txt b/npc/quests/collection/quest_demonpungus.txt
new file mode 100644
index 000000000..697a180bc
--- /dev/null
+++ b/npc/quests/collection/quest_demonpungus.txt
@@ -0,0 +1,244 @@
+//===== eAthena Script =======================================
+//= iRO Repeatable EXP Quests.
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Added Monster Killing quests.
+//= Repeatable EXP Quest (Bacillus)
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+ein_fild01,43,249,0 script Local Villager#hunt 898,{
+ if (checkquest(60125) != -1) {
+ if (checkquest(60125,HUNTING) != 2 ) {
+ mes "[Local Villager]";
+ mes "Have you finished hunting the 50 Demon Pungus?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Local Villager]";
+ mes "Hmm, I don't think you've hunted 50 yet...";
+ close;
+ case 2:
+ mes "[Local Villager]";
+ mes "Remember, I need help hunting Demon Pungus so go and hunt 50 of them.";
+ close;
+ case 3:
+ mes "[Local Villager]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Local Villager]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60125;
+ close;
+ case 2:
+ mes "[Local Villager]";
+ mes "Please kill 50 Demon Pungus.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Local Villager]";
+ mes "Amazing, you did that with speed.";
+ getexp 250266,144452;
+ erasequest 60125;
+ close;
+ }
+ }
+ if (checkquest(60126) != -1) {
+ if (checkquest(60126,HUNTING) != 2 ) {
+ mes "[Local Villager]";
+ mes "Have you finished hunting the 50 Demon Pungus?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Local Villager]";
+ mes "Hmm, I don't think you've hunted 100 yet...";
+ close;
+ case 2:
+ mes "[Local Villager]";
+ mes "Remember, I need help hunting Demon Pungus so go and hunt 100 of them.";
+ close;
+ case 3:
+ mes "[Local Villager]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Local Villager]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60126;
+ close;
+ case 2:
+ mes "[Local Villager]";
+ mes "Please kill 100 Demon Pungus.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Local Villager]";
+ mes "Amazing, you did that with speed.";
+ getexp 250266,144452;
+ getexp 250266,144452;
+ erasequest 60126;
+ close;
+ }
+ }
+ if (checkquest(60127) != -1) {
+ if (checkquest(60127,HUNTING) != 2 ) {
+ mes "[Local Villager]";
+ mes "Have you finished hunting the 150 Demon Pungus?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Local Villager]";
+ mes "Hmm, I don't think you've hunted 150 yet...";
+ close;
+ case 2:
+ mes "[Local Villager]";
+ mes "Remember, I need help hunting Demon Pungus so go and hunt 150 of them.";
+ close;
+ case 3:
+ mes "[Local Villager]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Local Villager]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60127;
+ close;
+ case 2:
+ mes "[Local Villager]";
+ mes "Please kill 150 Demon Pungus.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Local Villager]";
+ mes "Amazing, you did that with speed.";
+ getexp 250266,144452;
+ getexp 250266,144452;
+ getexp 250266,144452;
+ erasequest 60127;
+ close;
+ }
+ }
+ //for minimum level
+ if (BaseLevel > 59) {
+ //for maximum level
+ if (BaseLevel < 75) {
+ mes "[Local Villager]";
+ mes "Hey, you there. Yeah you!";
+ mes "Do you think you can help me with something?";
+ next;
+ switch(select("Sure:No")) {
+ case 1:
+ mes "[Local Villager]";
+ mes "I am trying to make my way through but I can't seem to get past these Demon Pungus.";
+ next;
+ switch(select("Gather Items:Hunt Demon Pungus:Cancel")) {
+ case 1:
+ // Item turn in
+ mes "[Local Villager]";
+ mes "Can you help by collecting ^FF0000Bacillus^000000?";
+ mes "I will reward you for helping clear this out for me.";
+ next;
+ switch(select("I have Bacillus:What did you need?")) {
+ case 1:
+ /*
+ if (checkweight(504,10) == 0) {
+ mes "[Local Villager]";
+ mes "Hey, it looks like that the weight on";
+ mes "your back will crush you. Come back";
+ mes "after you have lost some weight.";
+ close;
+ }
+ */
+ if (countitem(7119) > 49) {
+ mes "[Local Villager]";
+ mes "I had my doubts, but you have proven me wrong.";
+ delitem 7119,50; //Spawns
+ getexp 250266,144452;
+ //getitem 504,10; //White_Potion
+ close;
+ }
+ else {
+ mes "[Local Villager]";
+ mes "It doesn't look like you have enough.";
+ next;
+ mes "[Local Villager]";
+ mes "I need to see that you have gathered ^FF000050 Bacillus^000000, and then I can reward you.";
+ close;
+ }
+ case 2:
+ mes "[Local Villager]";
+ mes "I need to see that you have gathered ^FF000050 Bacillus^000000, and then I can reward you.";
+ close;
+ }
+ case 2:
+ // Kill Count Quest
+ mes "[Local Villager]";
+ mes "Ah, ok I think you can help me out by hunting some Demon Pungus.";
+ mes "How many would you like to hunt?";
+ next;
+ switch(select("50 Demon Pungus:100 Demon Pungus:150 Demon Pungus")) {
+ case 1:
+ mes "[Local Villager]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60125;
+ close;
+ case 2:
+ mes "[Local Villager]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60126;
+ close;
+ case 3:
+ mes "[Local Villager]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60127;
+ close;
+ }
+ case 3:
+ mes "[Local Villager]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ case 2:
+ mes "[Local Villager]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ }
+ else {
+ mes "[Local Villager]";
+ mes "Um, um. I don't think..";
+ next;
+ mes "[Local Villager]";
+ mes "Yeah, sorry I can't talk right now.";
+ close;
+ }
+ }
+ else {
+ mes "[Local Villager]";
+ mes "Its amazing, truly it is.";
+ mes "I just wish I could get through this all.";
+ close;
+ }
+}
+
+
diff --git a/npc/quests/collection/quest_dokebi.txt b/npc/quests/collection/quest_dokebi.txt
new file mode 100644
index 000000000..c6233dc7b
--- /dev/null
+++ b/npc/quests/collection/quest_dokebi.txt
@@ -0,0 +1,234 @@
+//===== eAthena Script =======================================
+//= iRO Repeatable EXP Quests.
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Added Monster Killing quests.
+//= Repeatable EXP Quest (Dokebi Horns)
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+pay_fild10,108,357,5 script Li#Dokebi_Hunt 90,{
+ if (checkquest(60128) != -1) {
+ if (checkquest(60128,HUNTING) != 2 ) {
+ mes "[Li]";
+ mes "Have you finished hunting the 50 Dokebis?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Li]";
+ mes "Hmm, I don't think you've hunted 50 yet...";
+ close;
+ case 2:
+ mes "[Li]";
+ mes "Remember, I need help hunting Dokebis so go and hunt 50 of them.";
+ close;
+ case 3:
+ mes "[Li]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Li]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60128;
+ close;
+ case 2:
+ mes "[Li]";
+ mes "Please kill 50 Dokebis.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Li]";
+ mes "Amazing, you did that with speed.";
+ getexp 42000,36000;
+ erasequest 60128;
+ close;
+ }
+ }
+ if (checkquest(60129) != -1) {
+ if (checkquest(60129,HUNTING) != 2 ) {
+ mes "[Li]";
+ mes "Have you finished hunting the 50 Dokebis?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Li]";
+ mes "Hmm, I don't think you've hunted 100 yet...";
+ close;
+ case 2:
+ mes "[Li]";
+ mes "Remember, I need help hunting Dokebis so go and hunt 100 of them.";
+ close;
+ case 3:
+ mes "[Li]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Li]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60129;
+ close;
+ case 2:
+ mes "[Li]";
+ mes "Please kill 100 Dokebis.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Li]";
+ mes "Amazing, you did that with speed.";
+ getexp 42000,36000;
+ getexp 42000,36000;
+ erasequest 60129;
+ close;
+ }
+ }
+ if (checkquest(60130) != -1) {
+ if (checkquest(60130,HUNTING) != 2 ) {
+ mes "[Li]";
+ mes "Have you finished hunting the 150 Dokebis?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Li]";
+ mes "Hmm, I don't think you've hunted 150 yet...";
+ close;
+ case 2:
+ mes "[Li]";
+ mes "Remember, I need help hunting Dokebis so go and hunt 150 of them.";
+ close;
+ case 3:
+ mes "[Li]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Li]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60130;
+ close;
+ case 2:
+ mes "[Li]";
+ mes "Please kill 150 Dokebis.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Li]";
+ mes "Amazing, you did that with speed.";
+ getexp 42000,36000;
+ getexp 42000,36000;
+ getexp 42000,36000;
+ erasequest 60130;
+ close;
+ }
+ }
+ //for minimum level
+ if (BaseLevel > 34) {
+ //for maximum level
+ if (BaseLevel < 71) {
+ mes "[Li]";
+ mes "Hello. DO you think you could help me?";
+ next;
+ switch(select("Sure:No")) {
+ case 1:
+ mes "[Li]";
+ mes "There are so many Dokebis here...I just don't feel safe.";
+ next;
+ switch(select("Gather Items:Hunt Dokebis:Cancel")) {
+ case 1:
+ // Item turn in
+ mes "[Li]";
+ mes "My fortune teller business needs a good supply of ^FF0000Dokebi Horns^000000 to give my customers good luck.";
+ next;
+ switch(select("I have some Dokebi Horns:What did you need?")) {
+ case 1:
+ if (countitem(1021) > 49) {
+ mes "[Li]";
+ mes "Oh, great!";
+ mes "Thank you for the horns.";
+ delitem 1021,50; //Dokkaebi_Horn
+ getexp 42000,36000;
+ close;
+ }
+ else {
+ mes "[Li]";
+ mes "It doesn't look like you have enough.";
+ next;
+ mes "[Li]";
+ mes "I need ^FF000050 Dokebi Horns^000000 for my fortune telling.";
+ close;
+ }
+ case 2:
+ mes "[Li]";
+ mes "If you bring me";
+ mes "^FF000050 Dokebi Horns^000000, I can give you some good luck.";
+ close;
+ }
+ case 2:
+ // Kill Count Quest
+ mes "[Li]";
+ mes "Ah, ok I think you can help me out by hunting some Dokebis.";
+ mes "How many would you like to hunt?";
+ next;
+ switch(select("50 Dokebis:100 Dokebis:150 Dokebis")) {
+ case 1:
+ mes "[Li]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60128;
+ close;
+ case 2:
+ mes "[Li]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60129;
+ close;
+ case 3:
+ mes "[Li]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60130;
+ close;
+ }
+ case 3:
+ mes "[Li]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ case 2:
+ mes "[Li]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ }
+ else {
+ mes "[Li]";
+ mes "Hello";
+ mes "I read fortunes in Payon.";
+ close;
+ }
+ }
+ else {
+ mes "[Li]";
+ mes "This place is dangerous!";
+ next;
+ mes "[Li]";
+ mes "You should leave quickly!";
+ close;
+ }
+}
+
+
diff --git a/npc/quests/collection/quest_dryad.txt b/npc/quests/collection/quest_dryad.txt
new file mode 100644
index 000000000..7fff46451
--- /dev/null
+++ b/npc/quests/collection/quest_dryad.txt
@@ -0,0 +1,242 @@
+//===== eAthena Script =======================================
+//= iRO Repeatable EXP Quests.
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Added Monster Killing quests.
+//= Repeatable EXP Quest (Sharp Leaves)
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+um_fild01,34,281,5 script Lilla#Dryad_Hunt 724,{
+ if (checkquest(60131) != -1) {
+ if (checkquest(60131,HUNTING) != 2 ) {
+ mes "[Lilla]";
+ mes "Have you finished hunting the 50 Dryads?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Lilla]";
+ mes "Hmm, I don't think you've hunted 50 yet...";
+ close;
+ case 2:
+ mes "[Lilla]";
+ mes "Remember, I need help hunting Dryads so go and hunt 50 of them.";
+ close;
+ case 3:
+ mes "[Lilla]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Lilla]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60131;
+ close;
+ case 2:
+ mes "[Lilla]";
+ mes "Please kill 50 Dryads.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Lilla]";
+ mes "Amazing, you did that with speed.";
+ getexp 262485,141835;
+ erasequest 60131;
+ close;
+ }
+ }
+ if (checkquest(60132) != -1) {
+ if (checkquest(60132,HUNTING) != 2 ) {
+ mes "[Lilla]";
+ mes "Have you finished hunting the 50 Dryads?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Lilla]";
+ mes "Hmm, I don't think you've hunted 100 yet...";
+ close;
+ case 2:
+ mes "[Lilla]";
+ mes "Remember, I need help hunting Dryads so go and hunt 100 of them.";
+ close;
+ case 3:
+ mes "[Lilla]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Lilla]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60132;
+ close;
+ case 2:
+ mes "[Lilla]";
+ mes "Please kill 100 Dryads.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Lilla]";
+ mes "Amazing, you did that with speed.";
+ getexp 262485,141835;
+ getexp 262485,141835;
+ erasequest 60132;
+ close;
+ }
+ }
+ if (checkquest(60133) != -1) {
+ if (checkquest(60133,HUNTING) != 2 ) {
+ mes "[Lilla]";
+ mes "Have you finished hunting the 150 Dryads?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Lilla]";
+ mes "Hmm, I don't think you've hunted 150 yet...";
+ close;
+ case 2:
+ mes "[Lilla]";
+ mes "Remember, I need help hunting Dryads so go and hunt 150 of them.";
+ close;
+ case 3:
+ mes "[Lilla]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Lilla]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60133;
+ close;
+ case 2:
+ mes "[Lilla]";
+ mes "Please kill 150 Dryads.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Lilla]";
+ mes "Amazing, you did that with speed.";
+ getexp 262485,141835;
+ getexp 262485,141835;
+ getexp 262485,141835;
+ erasequest 60133;
+ close;
+ }
+ }
+ //for minimum level
+ if (BaseLevel > 59) {
+ //for maximum level
+ if (BaseLevel < 86) {
+ mes "[Lilla]";
+ mes "Why hello!";
+ mes "You look like someone who is willing to help a lil thing like myself out.";
+ next;
+ switch(select("Sure:No")) {
+ case 1:
+ mes "[Lilla]";
+ mes "Really?!";
+ mes "That's great!";
+ next;
+ switch(select("Gather Items:Hunt Dryads:Cancel")) {
+ case 1:
+ // Item turn in
+ mes "[Lilla]";
+ mes "I really need to gather ^00CE0050 Sharp Leafs^000000 for my garden tea party.";
+ mes "Do you have any?";
+ next;
+ switch(select("I have some Sharp Leafs:What did you need?")) {
+ case 1:
+ /*
+ if (checkweight(504,10) == 0) {
+ mes "[Lilla]";
+ mes "Hey, it looks like that the weight on";
+ mes "your back will crush you. Come back";
+ mes "after you have lost some weight.";
+ close;
+ }
+ */
+ if (countitem(7100) > 49) {
+ mes "[Lilla]";
+ mes "Hey, your a sweet little thing.";
+ mes "Thanks so much for helping me!";
+ next;
+ mes "[Lilla]";
+ mes "Oh, I almost forgot. I have something for you ^_^";
+ mes "Thank you so much again for your help.";
+ delitem 7100,50; //Sharp_Leaf
+ getexp 262485,141835;
+ //getitem 504,10; //White_Potion
+ close;
+ }
+ else {
+ mes "[Lilla]";
+ mes "Why, I may look cute and silly but please don't play games with me.";
+ close;
+ }
+ case 2:
+ mes "[Lilla]";
+ mes "I need ^00CE0050 Sharp Leafs^000000.";
+ close;
+ }
+ case 2:
+ // Kill Count Quest
+ mes "[Lilla]";
+ mes "Ah, ok I think you can help me out by hunting some Dryads.";
+ mes "How many would you like to hunt?";
+ next;
+ switch(select("50 Dryads:100 Dryads:150 Dryads")) {
+ case 1:
+ mes "[Lilla]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60131;
+ close;
+ case 2:
+ mes "[Lilla]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60132;
+ close;
+ case 3:
+ mes "[Lilla]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60133;
+ close;
+ }
+ case 3:
+ mes "[Lilla]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ case 2:
+ mes "[Lilla]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ }
+ else {
+ mes "[Lilla]";
+ mes "Sorry but you are a little too old and scary to talk to!";
+ close;
+ }
+ }
+ else {
+ mes "[Lilla]";
+ mes "You are way too tiny to be helping me.";
+ mes "Thank you for your offer though.";
+ close;
+ }
+}
diff --git a/npc/quests/collection/quest_fabre.txt b/npc/quests/collection/quest_fabre.txt
new file mode 100644
index 000000000..48e575514
--- /dev/null
+++ b/npc/quests/collection/quest_fabre.txt
@@ -0,0 +1,231 @@
+//===== eAthena Script =======================================
+//= iRO Repeatable EXP Quests.
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Added Monster Killing quests.
+//= Repeatable EXP Quest (Fluffs)
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+gef_fild07,321,193,4 script Langry#Fabre_Hunt 754,{
+ if (checkquest(60107) != -1) {
+ if (checkquest(60107,HUNTING) != 2 ) {
+ mes "[Langry]";
+ mes "Have you finished hunting the 50 Fabres?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Langry]";
+ mes "Hmm, I don't think you've hunted 50 yet...";
+ close;
+ case 2:
+ mes "[Langry]";
+ mes "Remember, I need help hunting Fabres so go and hunt 50 of them.";
+ close;
+ case 3:
+ mes "[Langry]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Langry]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60107;
+ close;
+ case 2:
+ mes "[Langry]";
+ mes "Please kill 50 Fabres.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Langry]";
+ mes "Amazing, you did that with speed.";
+ getexp 385,30;
+ erasequest 60107;
+ close;
+ }
+ }
+ if (checkquest(60108) != -1) {
+ if (checkquest(60108,HUNTING) != 2 ) {
+ mes "[Langry]";
+ mes "Have you finished hunting the 50 Fabres?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Langry]";
+ mes "Hmm, I don't think you've hunted 100 yet...";
+ close;
+ case 2:
+ mes "[Langry]";
+ mes "Remember, I need help hunting Fabres so go and hunt 100 of them.";
+ close;
+ case 3:
+ mes "[Langry]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Langry]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60108;
+ close;
+ case 2:
+ mes "[Langry]";
+ mes "Please kill 100 Fabres.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Langry]";
+ mes "Amazing, you did that with speed.";
+ getexp 385,30;
+ getexp 385,30;
+ erasequest 60108;
+ close;
+ }
+ }
+ if (checkquest(60109) != -1) {
+ if (checkquest(60109,HUNTING) != 2 ) {
+ mes "[Langry]";
+ mes "Have you finished hunting the 150 Fabres?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Langry]";
+ mes "Hmm, I don't think you've hunted 150 yet...";
+ close;
+ case 2:
+ mes "[Langry]";
+ mes "Remember, I need help hunting Fabres so go and hunt 150 of them.";
+ close;
+ case 3:
+ mes "[Langry]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Langry]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60109;
+ close;
+ case 2:
+ mes "[Langry]";
+ mes "Please kill 150 Fabres.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Langry]";
+ mes "Amazing, you did that with speed.";
+ getexp 385,30;
+ getexp 385,30;
+ getexp 385,30;
+ erasequest 60109;
+ close;
+ }
+ }
+ //for minimum level
+ if (BaseLevel > 1) {
+ //for maximum level
+ if (BaseLevel < 21) {
+ mes "[Langry]";
+ mes "Do you think you can help me?";
+ mes "Please?";
+ next;
+ switch(select("Sure:No")) {
+ case 1:
+ mes "[Langry]";
+ mes "Really?!";
+ mes "That's great!";
+ next;
+ switch(select("Gather Items:Hunt Fabres:Cancel")) {
+ case 1:
+ // Item turn in
+ mes "[Langry]";
+ mes "I need to collect ^0000CE25 Fluff^000000 to";
+ mes "complete this community service project.";
+ mes "You know what? I can even reward you a little for helping me.";
+ next;
+ switch(select("I have some Fluff:What was that again?")) {
+ case 1:
+ if (countitem(914) > 24) {
+ mes "[Langry]";
+ mes "Thank you for the Fluff. This helps me out greatly.";
+ mes "Oh and here you go, this should help you get stronger, faster!";
+ delitem 914,25; //Fluff
+ getexp 385,30;
+ close;
+ }
+ else {
+ mes "[Langry]";
+ mes "I see no Fluff, wait yea I do it's the lies coming from your mouth.";
+ close;
+ }
+ case 2:
+ mes "[Langry]";
+ mes "I need ^00CE0025 Fluff^000000.";
+ close;
+ }
+ case 2:
+ // Kill Count Quest
+ mes "[Langry]";
+ mes "Ah, ok I think you can help me out by hunting some Fabres.";
+ mes "How many would you like to hunt?";
+ next;
+ switch(select("50 Fabres:100 Fabres:150 Fabres")) {
+ case 1:
+ mes "[Langry]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60107;
+ close;
+ case 2:
+ mes "[Langry]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60108;
+ close;
+ case 3:
+ mes "[Langry]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60109;
+ close;
+ }
+ case 3:
+ mes "[Langry]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ case 2:
+ mes "[Langry]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ }
+ else {
+ mes "[Langry]";
+ mes "Hello, my name is Langry.";
+ mes "I have to complete this community service, but I am just too lazy.";
+ close;
+ }
+ }
+ else {
+ mes "[Langry]";
+ mes "You may just be the most unlikely person ever, recycle a few Fabres and come back.";
+ close;
+ }
+}
+
+
diff --git a/npc/quests/collection/quest_frilldora.txt b/npc/quests/collection/quest_frilldora.txt
new file mode 100644
index 000000000..1d9b0700c
--- /dev/null
+++ b/npc/quests/collection/quest_frilldora.txt
@@ -0,0 +1,240 @@
+//===== eAthena Script =======================================
+//= iRO Repeatable EXP Quests.
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Added Monster Killing quests.
+//= Repeatable EXP Quest (Frills)
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+moc_fild17,66,273,5 script Lemly#Frilldora_Hunt 725,{
+ if (checkquest(60134) != -1) {
+ if (checkquest(60134,HUNTING) != 2 ) {
+ mes "[Lemly]";
+ mes "Have you finished hunting the 50 Frilldora?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Lemly]";
+ mes "Hmm, I don't think you've hunted 50 yet...";
+ close;
+ case 2:
+ mes "[Lemly]";
+ mes "Remember, I need help hunting Frilldora so go and hunt 50 of them.";
+ close;
+ case 3:
+ mes "[Lemly]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Lemly]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60134;
+ close;
+ case 2:
+ mes "[Lemly]";
+ mes "Please kill 50 Frilldora.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Lemly]";
+ mes "Amazing, you did that with speed.";
+ getexp 30000,23000;
+ erasequest 60134;
+ close;
+ }
+ }
+ if (checkquest(60135) != -1) {
+ if (checkquest(60135,HUNTING) != 2 ) {
+ mes "[Lemly]";
+ mes "Have you finished hunting the 50 Frilldora?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Lemly]";
+ mes "Hmm, I don't think you've hunted 100 yet...";
+ close;
+ case 2:
+ mes "[Lemly]";
+ mes "Remember, I need help hunting Frilldora so go and hunt 100 of them.";
+ close;
+ case 3:
+ mes "[Lemly]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Lemly]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60135;
+ close;
+ case 2:
+ mes "[Lemly]";
+ mes "Please kill 100 Frilldora.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Lemly]";
+ mes "Amazing, you did that with speed.";
+ getexp 30000,23000;
+ getexp 30000,23000;
+ erasequest 60135;
+ close;
+ }
+ }
+ if (checkquest(60136) != -1) {
+ if (checkquest(60136,HUNTING) != 2 ) {
+ mes "[Lemly]";
+ mes "Have you finished hunting the 150 Frilldora?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Lemly]";
+ mes "Hmm, I don't think you've hunted 150 yet...";
+ close;
+ case 2:
+ mes "[Lemly]";
+ mes "Remember, I need help hunting Frilldora so go and hunt 150 of them.";
+ close;
+ case 3:
+ mes "[Lemly]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Lemly]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60136;
+ close;
+ case 2:
+ mes "[Lemly]";
+ mes "Please kill 150 Frilldora.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Lemly]";
+ mes "Amazing, you did that with speed.";
+ getexp 30000,23000;
+ getexp 30000,23000;
+ getexp 30000,23000;
+ erasequest 60136;
+ close;
+ }
+ }
+ //for minimum level
+ if (BaseLevel > 29) {
+ //for maximum level
+ if (BaseLevel < 66) {
+ mes "[Lemly]";
+ mes "Hey there cutie!";
+ next;
+ mes "[Lemly]";
+ mes "Think you could take some time to give me a hand?";
+ next;
+ switch(select("Sure:No")) {
+ case 1:
+ mes "[Lemly]";
+ mes "I am looking for lizard ^FF0000Frills^000000.";
+ next;
+ mes "[Lemly]";
+ mes "The lizards around here have a natural stealth, a property that the Assassin's Guild wants to study.";
+ next;
+ switch(select("Gather Items:Hunt Frilldora:Cancel")) {
+ case 1:
+ // Item turn in
+ switch(select("I have some Frills:What did you need?")) {
+ case 1:
+ if (countitem(1012) > 24) {
+ mes "[Lemly]";
+ mes "Hey, thank you.";
+ mes "These are pretty icky though.";
+ delitem 1012,25; //Lizard_Scruff
+ getexp 30000,23000;
+ close;
+ }
+ else {
+ mes "[Lemly]";
+ mes "Sigh,";
+ mes "Please, don't waste my time.";
+ next;
+ mes "[Lemly]";
+ mes "I need ^FF000025 Frills^000000 for the Assassin's Guild.";
+ close;
+ }
+ case 2:
+ mes "[Lemly]";
+ mes "I need ^FF000025 Frills^000000 for the Assassin's Guild.";
+ close;
+ }
+ case 2:
+ // Kill Count Quest
+ mes "[Lemly]";
+ mes "Ah, ok I think you can help me out by hunting some Frilldora.";
+ mes "How many would you like to hunt?";
+ next;
+ switch(select("50 Frilldora:100 Frilldora:150 Frilldora")) {
+ case 1:
+ mes "[Lemly]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60134;
+ close;
+ case 2:
+ mes "[Lemly]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60135;
+ close;
+ case 3:
+ mes "[Lemly]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60136;
+ close;
+ }
+ case 3:
+ mes "[Lemly]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ case 2:
+ mes "[Lemly]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ }
+ else {
+ mes "[Lemly]";
+ mes "Hey there.";
+ next;
+ mes "[Lemly]";
+ mes "These lizards are gross.";
+ next;
+ mes "[Lemly]";
+ mes "I can't believe I am stuck doing this.";
+ close;
+ }
+ }
+ else {
+ mes "[Lemly]";
+ mes "What are you doing here?";
+ mes "The desert will kill you here!";
+ close;
+ }
+}
+
+
diff --git a/npc/quests/collection/quest_goat.txt b/npc/quests/collection/quest_goat.txt
new file mode 100644
index 000000000..487462c80
--- /dev/null
+++ b/npc/quests/collection/quest_goat.txt
@@ -0,0 +1,245 @@
+//===== eAthena Script =======================================
+//= iRO Repeatable EXP Quests.
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Added Monster Killing quests.
+//= Repeatable EXP Quest (Antelope Horns)
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+ein_fild06,82,171,0 script Vegetable Farmer#Goat 919,{
+ if (checkquest(60137) != -1) {
+ if (checkquest(60137,HUNTING) != 2 ) {
+ mes "[Vegetable Farmer]";
+ mes "Have you finished hunting the 50 Goats?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Vegetable Farmer]";
+ mes "Hmm, I don't think you've hunted 50 yet.";
+ close;
+ case 2:
+ mes "[Vegetable Farmer]";
+ mes "Remember, I need help hunting Goats so go and hunt 50 of them.";
+ close;
+ case 3:
+ mes "[Vegetable Farmer]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Vegetable Farmer]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60137;
+ close;
+ case 2:
+ mes "[Vegetable Farmer]";
+ mes "Please kill 50 Goats so I can farm my vegetables without any worries.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Vegetable Farmer]";
+ mes "Amazing, you did that with speed.";
+ getexp 258489,155155;
+ erasequest 60137;
+ close;
+ }
+ }
+ if (checkquest(60138) != -1) {
+ if (checkquest(60138,HUNTING) != 2) {
+ mes "[Vegetable Farmer]";
+ mes "Have you finished hunting the 100 Goats?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Vegetable Farmer]";
+ mes "Hmm, I don't think you've hunted 100 yet.";
+ close;
+ case 2:
+ mes "[Vegetable Farmer]";
+ mes "Remember, I need help hunting Goats so go and hunt 100 of them.";
+ close;
+ case 3:
+ mes "[Vegetable Farmer]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Vegetable Farmer]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60138;
+ close;
+ case 2:
+ mes "[Vegetable Farmer]";
+ mes "Please kill 100 Goats so I can farm my vegetables without any worries.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Vegetable Farmer]";
+ mes "Amazing, you did that with speed.";
+ getexp 258489,155155;
+ getexp 258489,155155;
+ erasequest 60138;
+ close;
+ }
+ }
+ if (checkquest(60139) != -1) {
+ if (checkquest(60139,HUNTING) != 2) {
+ mes "[Vegetable Farmer]";
+ mes "Have you finished hunting the 150 Goats?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Vegetable Farmer]";
+ mes "Hmm, I don't think you've hunted 150 yet.";
+ close;
+ case 2:
+ mes "[Vegetable Farmer]";
+ mes "Remember, I need help hunting Goats so go and hunt 150 of them.";
+ close;
+ case 3:
+ mes "[Vegetable Farmer]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Vegetable Farmer]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60139;
+ close;
+ case 2:
+ mes "[Vegetable Farmer]";
+ mes "Please kill 150 Goats so I can farm my vegetables without any worries.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Vegetable Farmer]";
+ mes "Amazing, you did that with speed.";
+ getexp 258489,155155;
+ getexp 258489,155155;
+ getexp 258489,155155;
+ erasequest 60139;
+ close;
+ }
+ }
+ //for minimum level
+ if (BaseLevel > 69) {
+ //for maximum level
+ if (BaseLevel < 85) {
+ mes "[Vegetable Farmer]";
+ mes "Oh great!";
+ mes "You are here to help me right?";
+ mes "If not, then I am in a world of hurt.";
+ next;
+ switch(select("Sure:No")) {
+ case 1:
+ mes "[Vegetable Farmer]";
+ mes "These Goats keep eating my vegetables.";
+ mes "Can you do what you can to help me?";
+ next;
+ switch(select("Gather Items:Hunt Goats:Cancel")) {
+ case 1:
+ // Item turn in
+ mes "[Vegetable Farmer]";
+ mes "I need ^FF0000Antelope Horns^000000 to show for your hard work, and I will reward you.";
+ next;
+ switch(select("I have Antelope Horns:What did you need?")) {
+ case 1:
+ /*
+ if (checkweight(504,10) == 0) {
+ mes "[Vegetable Farmer]";
+ mes "Hey, it looks like that the weight on";
+ mes "your back will crush you. Come back";
+ mes "after you have lost some weight.";
+ close;
+ }
+ */
+ if (countitem(7106) > 49) {
+ mes "[Vegetable Farmer]";
+ mes "Amazing, you did that with speed.";
+ mes "I am truly grateful.";
+ delitem 7106,50; //Goat's_Horn
+ getexp 258489,155155;
+ //getitem 504,10; //White_Potion
+ close;
+ }
+ else {
+ mes "[Vegetable Farmer]";
+ mes "It doesn't look like you have enough.";
+ next;
+ mes "[Vegetable Farmer]";
+ mes "I need to see that you have gathered ^FF000050 Antelope Horns^000000, and then I can reward you.";
+ close;
+ }
+ case 2:
+ mes "[Vegetable Farmer]";
+ mes "I need to see that you have gathered ^FF000050 Antelope Horns^000000, and then I can reward you.";
+ close;
+ }
+ case 2:
+ // Kill Count Quest
+ mes "[Vegetable Farmer]";
+ mes "Thank you.";
+ mes "How many Goats would you like to hunt?";
+ next;
+ switch(select("50 Goats:100 Goats:150 Goats")) {
+ case 1:
+ mes "[Vegetable Farmer]";
+ mes "Kill 50 of those Goats and let me know when you're done. I will reward you for your efforts.";
+ setquest 60137;
+ close;
+ case 2:
+ mes "[Vegetable Farmer]";
+ mes "Kill 100 of those Goats and let me know when you're done. I will reward you for your efforts.";
+ setquest 60138;
+ close;
+ case 3:
+ mes "[Vegetable Farmer]";
+ mes "Kill 150 of those Goats and let me know when you're done. I will reward you for your efforts.";
+ setquest 60139;
+ close;
+ }
+ case 3:
+ mes "[Vegetable Farmer]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ case 2:
+ mes "[Vegetable Farmer]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ }
+ else {
+ mes "[Vegetable Farmer]";
+ mes "Oh boy, Oh boy!";
+ next;
+ mes "[Vegetable Farmer]";
+ mes "Sorry I can't talk right now I am in a world of hurt here, these darn Goats are going to kill me.";
+ close;
+ }
+ }
+ else {
+ mes "[Vegetable Farmer]";
+ mes "My vegetables, where did they all go?";
+ mes "Oh, no..no!!!";
+ close;
+ }
+}
+
diff --git a/npc/quests/collection/quest_golem.txt b/npc/quests/collection/quest_golem.txt
new file mode 100644
index 000000000..da8aaec02
--- /dev/null
+++ b/npc/quests/collection/quest_golem.txt
@@ -0,0 +1,232 @@
+//===== eAthena Script =======================================
+//= iRO Repeatable EXP Quests.
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Added Monster Killing quests.
+//= Repeatable EXP Quest (Stone Hearts)
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+moc_fild11,57,138,0 script Private Jeremy#hunt 707,{
+ if (checkquest(60140) != -1) {
+ if (checkquest(60140,HUNTING) != 2 ) {
+ mes "[Private Jeremy]";
+ mes "Have you finished hunting the 50 Golems?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Private Jeremy]";
+ mes "Hmm, I don't think you've hunted 50 yet...";
+ close;
+ case 2:
+ mes "[Private Jeremy]";
+ mes "Remember, I need help hunting Golems so go and hunt 50 of them.";
+ close;
+ case 3:
+ mes "[Private Jeremy]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Private Jeremy]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60140;
+ close;
+ case 2:
+ mes "[Private Jeremy]";
+ mes "Please kill 50 Golems.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Private Jeremy]";
+ mes "Amazing, you did that with speed.";
+ getexp 14000,9000;
+ erasequest 60140;
+ close;
+ }
+ }
+ if (checkquest(60141) != -1) {
+ if (checkquest(60141,HUNTING) != 2 ) {
+ mes "[Private Jeremy]";
+ mes "Have you finished hunting the 50 Golems?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Private Jeremy]";
+ mes "Hmm, I don't think you've hunted 100 yet...";
+ close;
+ case 2:
+ mes "[Private Jeremy]";
+ mes "Remember, I need help hunting Golems so go and hunt 100 of them.";
+ close;
+ case 3:
+ mes "[Private Jeremy]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Private Jeremy]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60141;
+ close;
+ case 2:
+ mes "[Private Jeremy]";
+ mes "Please kill 100 Golems.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Private Jeremy]";
+ mes "Amazing, you did that with speed.";
+ getexp 14000,9000;
+ getexp 14000,9000;
+ erasequest 60141;
+ close;
+ }
+ }
+ if (checkquest(60142) != -1) {
+ if (checkquest(60142,HUNTING) != 2 ) {
+ mes "[Private Jeremy]";
+ mes "Have you finished hunting the 150 Golems?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Private Jeremy]";
+ mes "Hmm, I don't think you've hunted 150 yet...";
+ close;
+ case 2:
+ mes "[Private Jeremy]";
+ mes "Remember, I need help hunting Golems so go and hunt 150 of them.";
+ close;
+ case 3:
+ mes "[Private Jeremy]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Private Jeremy]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60142;
+ close;
+ case 2:
+ mes "[Private Jeremy]";
+ mes "Please kill 150 Golems.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Private Jeremy]";
+ mes "Amazing, you did that with speed.";
+ getexp 14000,9000;
+ getexp 14000,9000;
+ getexp 14000,9000;
+ erasequest 60142;
+ close;
+ }
+ }
+ //for minimum level
+ if (BaseLevel > 24) {
+ //for maximum level
+ if (BaseLevel < 61) {
+ mes "[Private Jeremy]";
+ mes "Greetings citizen!";
+ mes "Say, how would you like to help me?";
+ next;
+ switch(select("Sure:No")) {
+ case 1:
+ mes "[Private Jeremy]";
+ mes "Thanks! I really appreciate it.";
+ next;
+ switch(select("Gather Items:Hunt Golems:Cancel")) {
+ case 1:
+ // Item turn in
+ mes "[Private Jeremy]";
+ mes "The Morroc Guard needs ^FF0000Stone Hearts^000000 for our training regimen.";
+ next;
+ switch(select("I have Stone Hearts:What did you need?")) {
+ case 1:
+ if (countitem(953) > 24) {
+ mes "[Private Jeremy]";
+ mes "The Morroc Guard thanks you, citizen.";
+ delitem 953,25; //Stone_Heart
+ getexp 14000,9000;
+ close;
+ }
+ else {
+ mes "[Private Jeremy]";
+ mes "It doesn't look like you have enough.";
+ next;
+ mes "[Private Jeremy]";
+ mes "The Morroc Guard needs ^FF000025 Stone Hearts^000000, for our training regimen.";
+ close;
+ }
+ case 2:
+ mes "[Private Jeremy]";
+ mes "The Morroc Guard needs ^FF000025 Stone Hearts^000000, for our training regimen.";
+ close;
+ }
+ case 2:
+ // Kill Count Quest
+ mes "[Private Jeremy]";
+ mes "Ah, ok I think you can help me out by hunting some Golems.";
+ mes "How many would you like to hunt?";
+ next;
+ switch(select("50 Golems:100 Golems:150 Golems")) {
+ case 1:
+ mes "[Private Jeremy]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60140;
+ close;
+ case 2:
+ mes "[Private Jeremy]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60141;
+ close;
+ case 3:
+ mes "[Private Jeremy]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60142;
+ close;
+ }
+ case 3:
+ mes "[Private Jeremy]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ case 2:
+ mes "[Private Jeremy]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ }
+ else {
+ mes "[Private Jeremy]";
+ mes "Greetings citizen!";
+ next;
+ mes "[Private Jeremy]";
+ mes "Please do not interrupt my mission for the Morroc Guard.";
+ close;
+ }
+ }
+ else {
+ mes "[Private Jeremy]";
+ mes "It is dangerous here citizen.";
+ close;
+ }
+}
+
+
diff --git a/npc/quests/collection/quest_hode.txt b/npc/quests/collection/quest_hode.txt
new file mode 100644
index 000000000..bfa69d973
--- /dev/null
+++ b/npc/quests/collection/quest_hode.txt
@@ -0,0 +1,241 @@
+//===== eAthena Script =======================================
+//= iRO Repeatable EXP Quests.
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Added Monster Killing quests.
+//= Repeatable EXP Quest (Earthworm Peelings)
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+moc_fild17,208,346,5 script Shone#Hode_Hunt 707,{
+ if (checkquest(60104) != -1) {
+ if (checkquest(60104,HUNTING) != 2 ) {
+ mes "[Shone]";
+ mes "Have you finished hunting the 50 Hodes?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Shone]";
+ mes "Hmm, I don't think you've hunted 50 yet...";
+ close;
+ case 2:
+ mes "[Shone]";
+ mes "Remember, I need help hunting Hodes so go and hunt 50 of them.";
+ close;
+ case 3:
+ mes "[Shone]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Shone]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60104;
+ close;
+ case 2:
+ mes "[Shone]";
+ mes "Please kill 50 Hodes.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Shone]";
+ mes "Amazing, you did that with speed.";
+ getexp 15775,1125;
+ erasequest 60104;
+ close;
+ }
+ }
+ if (checkquest(60105) != -1) {
+ if (checkquest(60105,HUNTING) != 2 ) {
+ mes "[Shone]";
+ mes "Have you finished hunting the 50 Hodes?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Shone]";
+ mes "Hmm, I don't think you've hunted 100 yet...";
+ close;
+ case 2:
+ mes "[Shone]";
+ mes "Remember, I need help hunting Hodes so go and hunt 100 of them.";
+ close;
+ case 3:
+ mes "[Shone]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Shone]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60105;
+ close;
+ case 2:
+ mes "[Shone]";
+ mes "Please kill 100 Hodes.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Shone]";
+ mes "Amazing, you did that with speed.";
+ getexp 15775,1125;
+ getexp 15775,1125;
+ erasequest 60105;
+ close;
+ }
+ }
+ if (checkquest(60106) != -1) {
+ if (checkquest(60106,HUNTING) != 2 ) {
+ mes "[Shone]";
+ mes "Have you finished hunting the 150 Hodes?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Shone]";
+ mes "Hmm, I don't think you've hunted 150 yet...";
+ close;
+ case 2:
+ mes "[Shone]";
+ mes "Remember, I need help hunting Hodes so go and hunt 150 of them.";
+ close;
+ case 3:
+ mes "[Shone]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Shone]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60106;
+ close;
+ case 2:
+ mes "[Shone]";
+ mes "Please kill 150 Hodes.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Shone]";
+ mes "Amazing, you did that with speed.";
+ getexp 15775,1125;
+ getexp 15775,1125;
+ getexp 15775,1125;
+ erasequest 60106;
+ close;
+ }
+ }
+ //for minimum level
+ if (BaseLevel > 24) {
+ //for maximum level
+ if (BaseLevel < 61) {
+ mes "[Shone]";
+ mes "Wait! You can see me?";
+ mes "Oh well, I haven't yet mastered my skills.";
+ next;
+ mes "[Shone]";
+ mes "Hey do you think you can help me?";
+ next;
+ switch(select("Sure:No")) {
+ case 1:
+ mes "[Shone]";
+ mes "Thanks a lot, pal!";
+ next;
+ switch(select("Gather Items:Hunt Hodes:Cancel")) {
+ case 1:
+ // Item turn in
+ mes "[Shone]";
+ mes "I am trying to collect ^00CE0025 Earthworm Peelings^000000.";
+ mes "I will reward you if you help.";
+ next;
+ switch(select("I have 25 Earthworm Peelings:What was it again?")) {
+ case 1:
+ /*
+ if (checkweight(502,10) == 0) {
+ mes "[Shone]";
+ mes "Hey, it looks like that the weight on";
+ mes "your back will crush you. Come back";
+ mes "after you have lost some weight.";
+ close;
+ }
+ */
+ if (countitem(1055) > 24) {
+ mes "Thank you for the 25 Earthworm";
+ mes "Peelings!";
+ mes "Here is that reward I promised you, I hope take this wisdom I have passed on to you and share it with others.";
+ delitem 1055,25; //Earthworm_Peeling
+ getexp 15775,1125;
+ //getitem 502,10; //Orange_Potion
+ close;
+ }
+ else {
+ mes "[Shone]";
+ mes "I don't see any ^00CE00Earthworm Peerlings^000000.";
+ mes "Are you trying to scam me?";
+ close;
+ }
+ case 2:
+ mes "[Shone]";
+ mes "I need ^00CE0025 Earthworm Peelings^000000.";
+ close;
+ }
+ case 2:
+ // Kill Count Quest
+ mes "[Shone]";
+ mes "Ah, ok I think you can help me out by hunting some Hodes.";
+ mes "How many would you like to hunt?";
+ next;
+ switch(select("50 Hodes:100 Hodes:150 Hodes")) {
+ case 1:
+ mes "[Shone]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60104;
+ close;
+ case 2:
+ mes "[Shone]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60105;
+ close;
+ case 3:
+ mes "[Shone]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60106;
+ close;
+ }
+ case 3:
+ mes "[Shone]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ case 2:
+ mes "[Shone]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ }
+ else {
+ mes "[Shone]";
+ mes "You are much too strong to be fighting these things!";
+ close;
+ }
+ }
+ else {
+ mes "[Shone]";
+ mes "You need some help, but I can't provide that for you.";
+ mes "Come back when you are stronger and have earned much more wisdom.";
+ close;
+ }
+}
diff --git a/npc/quests/collection/quest_leafcat.txt b/npc/quests/collection/quest_leafcat.txt
new file mode 100644
index 000000000..a4844b7c9
--- /dev/null
+++ b/npc/quests/collection/quest_leafcat.txt
@@ -0,0 +1,239 @@
+//===== eAthena Script =======================================
+//= iRO Repeatable EXP Quests.
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Added Monster Killing quests.
+//= Repeatable EXP Quest (Huge Leaves)
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+ayo_fild01,44,241,5 script Lella#LeafCat_Hunt 877,{
+ if (checkquest(60143) != -1) {
+ if (checkquest(60143,HUNTING) != 2 ) {
+ mes "[Lella]";
+ mes "Have you finished hunting the 50 Leaf Cats?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Lella]";
+ mes "Hmm, I don't think you've hunted 50 yet...";
+ close;
+ case 2:
+ mes "[Lella]";
+ mes "Remember, I need help hunting Leaf Cats so go and hunt 50 of them.";
+ close;
+ case 3:
+ mes "[Lella]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Lella]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60143;
+ close;
+ case 2:
+ mes "[Lella]";
+ mes "Please kill 50 Leaf Cats.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Lella]";
+ mes "Amazing, you did that with speed.";
+ getexp 25740,31512;
+ erasequest 60143;
+ close;
+ }
+ }
+ if (checkquest(60144) != -1) {
+ if (checkquest(60144,HUNTING) != 2 ) {
+ mes "[Lella]";
+ mes "Have you finished hunting the 50 Leaf Cats?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Lella]";
+ mes "Hmm, I don't think you've hunted 100 yet...";
+ close;
+ case 2:
+ mes "[Lella]";
+ mes "Remember, I need help hunting Leaf Cats so go and hunt 100 of them.";
+ close;
+ case 3:
+ mes "[Lella]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Lella]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60144;
+ close;
+ case 2:
+ mes "[Lella]";
+ mes "Please kill 100 Leaf Cats.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Lella]";
+ mes "Amazing, you did that with speed.";
+ getexp 25740,31512;
+ getexp 25740,31512;
+ erasequest 60144;
+ close;
+ }
+ }
+ if (checkquest(60145) != -1) {
+ if (checkquest(60145,HUNTING) != 2 ) {
+ mes "[Lella]";
+ mes "Have you finished hunting the 150 Leaf Cats?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Lella]";
+ mes "Hmm, I don't think you've hunted 150 yet...";
+ close;
+ case 2:
+ mes "[Lella]";
+ mes "Remember, I need help hunting Leaf Cats so go and hunt 150 of them.";
+ close;
+ case 3:
+ mes "[Lella]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Lella]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60145;
+ close;
+ case 2:
+ mes "[Lella]";
+ mes "Please kill 150 Leaf Cats.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Lella]";
+ mes "Amazing, you did that with speed.";
+ getexp 25740,31512;
+ getexp 25740,31512;
+ getexp 25740,31512;
+ erasequest 60145;
+ close;
+ }
+ }
+ //for minimum level
+ if (BaseLevel > 35) {
+ //for maximum level
+ if (BaseLevel < 66) {
+ mes "[Lella]";
+ mes "Why hello!";
+ mes "You look like someone who is willing to help someone who is slowly going mad.";
+ next;
+ mes "[Lella]";
+ switch(select("Sure:No")) {
+ case 1:
+ mes "[Lella]";
+ mes "Thanks! You're a life saver!";
+ next;
+ switch(select("Gather Items:Hunt Leaf Cats:Cancel")) {
+ case 1:
+ // Item turn in
+ mes "I really need to gather ^00CE0050 Huge Leafs^000000 for my sanity.";
+ mes "Do you have any?";
+ next;
+ switch(select("I have 50 Huge Leafs:What, sorry I was day dreaming")) {
+ case 1:
+ /*
+ if (checkweight(503,10) == 0) {
+ mes "[Lella]";
+ mes "Hey, it looks like that the weight on";
+ mes "your back will crush you. Come back";
+ mes "after you have lost some weight.";
+ close;
+ }
+ */
+ if (countitem(7198) > 49) {
+ mes "[Lella]";
+ mes "Wonderful I can tell it is just a little bit quieter around here!";
+ next;
+ mes "[Lella]";
+ mes "The more leafs I collect the quieter it seems around here.";
+ delitem 7198,50; //Great_Leaf
+ getexp 25740,31512;
+ //getitem 503,10; //Yellow_Potion
+ close;
+ }
+ else {
+ mes "[Lella]";
+ mes "Meow meow meow meow meow...";
+ mes "NOOOOOOOOOOOO.";
+ close;
+ }
+ case 2:
+ mes "[Lella]";
+ mes "I need ^00CE0050 Huge Leafs^000000.";
+ close;
+ }
+ case 2:
+ // Kill Count Quest
+ mes "[Lella]";
+ mes "Ah, ok I think you can help me out by hunting some Leaf Cats.";
+ mes "How many would you like to hunt?";
+ next;
+ switch(select("50 Leaf Cats:100 Leaf Cats:150 Leaf Cats")) {
+ case 1:
+ mes "[Lella]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60143;
+ close;
+ case 2:
+ mes "[Lella]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60144;
+ close;
+ case 3:
+ mes "[Lella]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60145;
+ close;
+ }
+ case 3:
+ mes "[Lella]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ case 2:
+ mes "[Lella]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ }
+ else {
+ mes "[Lella]";
+ mes "Not sure why you are here, but I can't offer you a bounty as there would be no effort in it for you!";
+ close;
+ }
+ }
+ else {
+ mes "[Lella]";
+ mes "Quickly escape before they get their claws into your sanity!";
+ close;
+ }
+}
diff --git a/npc/quests/collection/quest_pecopeco.txt b/npc/quests/collection/quest_pecopeco.txt
new file mode 100644
index 000000000..020d3fa1d
--- /dev/null
+++ b/npc/quests/collection/quest_pecopeco.txt
@@ -0,0 +1,251 @@
+//===== eAthena Script =======================================
+//= iRO Repeatable EXP Quests.
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Added Monster Killing quests.
+//= Repeatable EXP Quest (Bill of Birds)
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+moc_fild02,74,329,3 script Gregor#PecoPeco_Hunt 97,{
+ if (checkquest(60101) != -1) {
+ if (checkquest(60101,HUNTING) != 2 ) {
+ mes "[Gregor]";
+ mes "Have you finished hunting the 50 Peco Pecos?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Gregor]";
+ mes "Hmm, I don't think you've hunted 50 yet...";
+ close;
+ case 2:
+ mes "[Gregor]";
+ mes "Please hurry and kill 50 of those tasty err pesky Peco Pecos.";
+ close;
+ case 3:
+ mes "[Gregor]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Gregor]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60101;
+ close;
+ case 2:
+ mes "[Gregor]";
+ mes "Please hurry and kill 50 of those tasty err pesky Peco Pecos.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Gregor]";
+ mes "Oh thank you so much!";
+ mes "I think that I can rest easily now.";
+ getexp 4000,2000;
+ erasequest 60101;
+ close;
+ }
+ }
+ if (checkquest(60102) != -1) {
+ if (checkquest(60102,HUNTING) != 2 ) {
+ mes "[Gregor]";
+ mes "Have you finished hunting the 50 Peco Pecos?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Gregor]";
+ mes "Hmm, I don't think you've hunted 100 yet...";
+ close;
+ case 2:
+ mes "[Gregor]";
+ mes "Please hurry and kill 100 of those tasty err pesky Peco Pecos.";
+ close;
+ case 3:
+ mes "[Gregor]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Gregor]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60102;
+ close;
+ case 2:
+ mes "[Gregor]";
+ mes "Please hurry and kill 100 of those tasty err pesky Peco Pecos.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Gregor]";
+ mes "Oh thank you so much!";
+ mes "I think that I can rest easily now.";
+ getexp 4000,2000;
+ getexp 4000,2000;
+ erasequest 60102;
+ close;
+ }
+ }
+ if (checkquest(60103) != -1) {
+ if (checkquest(60103,HUNTING) != 2 ) {
+ mes "[Gregor]";
+ mes "Have you finished hunting the 150 Peco Pecos?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Gregor]";
+ mes "Hmm, I don't think you've hunted 150 yet...";
+ close;
+ case 2:
+ mes "[Gregor]";
+ mes "Please hurry and kill 150 of those tasty err pesky Peco Pecos.";
+ close;
+ case 3:
+ mes "[Gregor]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Gregor]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60103;
+ close;
+ case 2:
+ mes "[Gregor]";
+ mes "Please hurry and kill 150 of those tasty err pesky Peco Pecos.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Gregor]";
+ mes "Oh thank you so much!";
+ mes "I think that I can rest easily now.";
+ getexp 4000,2000;
+ getexp 4000,2000;
+ getexp 4000,2000;
+ erasequest 60103;
+ close;
+ }
+ }
+ //for minimum level
+ if (BaseLevel > 9) {
+ //for maximum level
+ if (BaseLevel < 31) {
+ mes "[Gregor]";
+ mes "Peco Pecos are fascinating.";
+ mes "I am still doing my, uh, research...";
+ mes "But now it is of a different nature.";
+ next;
+ mes "[Gregor]";
+ mes "You see I've been uh, ''researching''";
+ mes "these animals by collecting their";
+ mes "Bill of Birds but lately they seem";
+ mes "to have become hostile towards me.";
+ next;
+ mes "[Gregor]";
+ mes "Can you do me a favor please?";
+ next;
+ switch(select("What kind of favor?:No")) {
+ case 1:
+ mes "[Gregor]";
+ mes "I am so afraid that these Peco Pecos will hurt me for my, uh, researching activities.";
+ next;
+ mes "[Gregor]";
+ mes "Can you help protect me by killing them?";
+ mes "I think I'll feel safer...";
+ mes "Please...";
+ next;
+ switch(select("Gather Items:Hunt Peco Pecos:Cancel")) {
+ case 1:
+ // Item turn in
+ mes "[Gregor]";
+ mes "I need some ^FF0000Bill of Birds^000000 for my, uh, research...";
+ next;
+ switch(select("I have some Bill of Birds:What did you need?")) {
+ case 1:
+ if (countitem(925) > 24) {
+ mes "[Gregor]";
+ mes "Thank you so much.";
+ delitem 925,25; //Bill_Of_Birds
+ getexp 4000,2000;
+ next;
+ mes "[Gregor]";
+ mes "This is gonna be delicious!";
+ close;
+ }
+ else {
+ mes "[Gregor]";
+ mes "It doesn't look like you have enough.";
+ next;
+ mes "[Gregor]";
+ mes "Can you help me out and bring me ^FF000025 Bill of Birds^000000?";
+ close;
+ }
+ case 2:
+ mes "[Gregor]";
+ mes "Can you help me out and bring me ^FF000025 Bill of Birds^000000?";
+ close;
+ }
+ case 2:
+ // Kill Count Quest
+ mes "[Gregor]";
+ mes "Ah, ok I think you can help me out by hunting some Peco Pecos.";
+ mes "How many would you like to hunt?";
+ next;
+ switch(select("50 Peco Pecos:100 Peco Pecos:150 Peco Pecos")) {
+ case 1:
+ mes "[Gregor]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60101;
+ close;
+ case 2:
+ mes "[Gregor]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60102;
+ close;
+ case 3:
+ mes "[Gregor]";
+ mes "Come back when you've finished your task and I will give you a small reward.";
+ setquest 60103;
+ close;
+ }
+ case 3:
+ mes "[Gregor]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ case 2:
+ mes "[Gregor]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ }
+ else {
+ mes "[Gregor]";
+ mes "Hmmm... you seem to be too strong to be fighting over here.";
+ close;
+ }
+ }
+ else {
+ mes "[Gregor]";
+ mes "Hi there.";
+ next;
+ mes "[Gregor]";
+ mes "Those picky's over there seem to be about your speed.";
+ close;
+ }
+}
diff --git a/npc/quests/collection/quest_pupa.txt b/npc/quests/collection/quest_pupa.txt
new file mode 100644
index 000000000..e8821a8fe
--- /dev/null
+++ b/npc/quests/collection/quest_pupa.txt
@@ -0,0 +1,233 @@
+//===== eAthena Script =======================================
+//= iRO Repeatable EXP Quests.
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Added Monster Killing quests.
+//= Repeatable EXP Quest (Chrysalis)
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+gef_fild04,191,54,3 script Halgus#Pupa_Hunt 123,{
+ if (checkquest(60110) != -1) {
+ if (checkquest(60110,HUNTING) != 2 ) {
+ mes "[Halgus]";
+ mes "Have you gotten rid of the Pupa?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Halgus]";
+ mes "Hmm, I don't think you've gotten rid of 50 Pupa yet...";
+ close;
+ case 2:
+ mes "[Halgus]";
+ mes "Remember, get rid of 50 of those Pupa from the field.";
+ close;
+ case 3:
+ mes "[Halgus]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Halgus]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60110;
+ close;
+ case 2:
+ mes "[Halgus]";
+ mes "Remember, get rid of 50 of those Pupa from the field.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Halgus]";
+ mes "Oh thank you so much.";
+ mes "I know that I could've probably done this myself but it's not easy to be standing here all of the time.";
+ getexp 385,30;
+ erasequest 60110;
+ close;
+ }
+ }
+ if (checkquest(60111) != -1) {
+ if (checkquest(60111,HUNTING) != 2 ) {
+ mes "[Halgus]";
+ mes "Have you gotten rid of the Pupa?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Halgus]";
+ mes "Hmm, I don't think you've gotten rid of 100 Pupa yet...";
+ close;
+ case 2:
+ mes "[Halgus]";
+ mes "Remember, get rid of 100 of those Pupa from the field.";
+ close;
+ case 3:
+ mes "[Halgus]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Halgus]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60111;
+ close;
+ case 2:
+ mes "[Halgus]";
+ mes "Remember, get rid of 100 of those Pupa from the field.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Halgus]";
+ mes "Oh thank you so much.";
+ mes "I know that I could've probably done this myself but it's not easy to be standing here all of the time.";
+ getexp 385,30;
+ getexp 385,30;
+ erasequest 60111;
+ close;
+ }
+ }
+ if (checkquest(60112) != -1) {
+ if (checkquest(60112,HUNTING) != 2 ) {
+ mes "[Halgus]";
+ mes "Have you gotten rid of the Pupa?";
+ next;
+ switch(select("Yes:No:I want to quit")) {
+ case 1:
+ mes "[Halgus]";
+ mes "Hmm, I don't think you've gotten rid of 150 Pupa yet...";
+ close;
+ case 2:
+ mes "[Halgus]";
+ mes "Remember, get rid of 150 of those Pupa from the field.";
+ close;
+ case 3:
+ mes "[Halgus]";
+ mes "Are you sure that you want to stop hunting?";
+ mes "Any progress that you've made will be erased";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Halgus]";
+ mes "Ok then, well come back here if you change your mind.";
+ erasequest 60112;
+ close;
+ case 2:
+ mes "[Halgus]";
+ mes "Remember, get rid of 150 of those Pupa from the field.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Halgus]";
+ mes "Oh thank you so much.";
+ mes "I know that I could've probably done this myself but it's not easy to be standing here all of the time.";
+ getexp 385,30;
+ getexp 385,30;
+ getexp 385,30;
+ erasequest 60112;
+ close;
+ }
+ }
+ //for minimum level
+ if (BaseLevel > 1) {
+ //for maximum level
+ if (BaseLevel < 21) {
+ mes "[Halgus]";
+ mes "New here are you?";
+ mes "Well look, I like helping new faces around here.";
+ mes "And lets be honest, you are not the prettiest looking face I've seen.";
+ next;
+ mes "[Halgus]";
+ mes "None-the-less my daughter thought it would be fun to gather pupa around this field and it's becoming unsightly.";
+ mes "Do you mind helping me get rid of some Pupa to clear out this field?";
+ next;
+ switch(select("Sure, I don't mind:No")) {
+ case 1:
+ mes "[Halgus]";
+ mes "Really? What would you like to do to help?";
+ next;
+ switch(select("Gather Items:Get rid of Pupa:Cancel")) {
+ case 1:
+ // Item turn in
+ mes "[Halgus]";
+ mes "Can you collect ^00CE0025 Chrysalis^000000 and return them to me, I promise to reward you well.";
+ next;
+ switch(select("I have Chrysalis:What did you need?")) {
+ case 1:
+ if (countitem(915) > 24) {
+ mes "[Halgus]";
+ mes "Amazing you found so many that fast.";
+ mes "Like I promised, give me the Chrysalis and I will reward you with my wisdom.";
+ delitem 915,25; //Chrysalis
+ getexp 385,30;
+ close;
+ }
+ else {
+ mes "[Halgus]";
+ mes "I need ^00CE0025 Chrysalis^000000 and no less please.";
+ close;
+ }
+ case 2:
+ mes "[Halgus]";
+ mes "I need ^00CE0025 Chrysalis^000000.";
+ close;
+ }
+ case 2:
+ // Kill Count Quest
+ mes "[Halgus]";
+ mes "Thank you so much!";
+ mes "How many would you like to get rid of?";
+ next;
+ switch(select("50 Pupa:100 Pupa:150 Pupa")) {
+ case 1:
+ mes "[Halgus]";
+ mes "If you can get rid of 50 of those Pupa from the field I will be grateful.";
+ setquest 60110;
+ close;
+ case 2:
+ mes "[Halgus]";
+ mes "If you can get rid of 100 of those Pupa from the field I will be grateful.";
+ setquest 60111;
+ close;
+ case 3:
+ mes "[Halgus]";
+ mes "If you can get rid of 150 of those Pupa from the field I will be grateful.";
+ setquest 60112;
+ close;
+ }
+ case 3:
+ mes "[Halgus]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ case 2:
+ mes "[Halgus]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ }
+ else {
+ mes "[Halgus]";
+ mes "You could probably easily help me out, but I want to give charity to those who are not as strong as you.";
+ close;
+ }
+ }
+ else {
+ mes "[Halgus]";
+ mes "Please return to me when you are a little stronger.";
+ close;
+ }
+}
diff --git a/npc/quests/iRO_Exp.txt b/npc/quests/iRO_Exp.txt
deleted file mode 100644
index 54a3aee74..000000000
--- a/npc/quests/iRO_Exp.txt
+++ /dev/null
@@ -1,851 +0,0 @@
-//===== eAthena Script =======================================
-//= iRO Repeatable EXP Quests.
-//===== By: ==================================================
-//= Kisuka
-//===== Current Version: =====================================
-//= 1.2
-//===== Compatible With: =====================================
-//= eAthena SVN
-//===== Description: =========================================
-//= Each of these quests are repeatable.
-//= Therefore, you are able to get a character from
-//= levels 2 - 85 using only these quests instead of
-//= normal monster killing.
-//=
-//= Note: Before enabling remove
-//= 1) 925,Bill_Of_Birds; 2) 7106,Goat's_Horn
-//= From Vendor shops in npc/merchants/shops.txt
-//===== Additional Comments: =================================
-//= 1.0 First version. [Kisuka]
-//= 1.1 Moved Jeremy and Gregor to different maps. [L0ne_W0lf]
-//= 1.2 Fixed the engrish and typos.
-//============================================================
-
-// Yullo - 25 Porcupine Quill
-//============================================================
-mjolnir_01,296,29,5 script Yullo#iROExp 95,{
- if((BaseLevel < 24)) {
- mes "[Yullo]";
- mes "Hmm, this maybe a little much of a";
- mes "request for you. Come back when you";
- mes "are taller and stronger.";
- close;
- }
- else if((BaseLevel > 60)) {
- mes "[Yullo]";
- mes "Hello, my name is Yullo.";
- mes "Now wait a minute, are you not a";
- mes "little too high of level for this?";
- next;
- close;
- }
- mes "[Yullo]";
- mes "I can't, no more and I mean it.";
- mes "Look at me I am serious I can't";
- mes "gather any more of these things.";
- next;
- mes "[Yullo]";
- mes "You know what, here is an idea.";
- mes "You can gather them and I can give";
- mes "you a reward for your efforts!";
- next;
- mes "[Yullo]";
- mes "Ok, so I need 25 Porcupine";
- mes "Quill's.";
- mes "Please tell me you have some or can";
- mes "help me";
- next;
- if (select("I have Porcupine Quills:Well I don't think I can help.") == 2) {
- mes "[Yullo]";
- mes "I need ^00CE0025 Porcupine Quills^000000.";
- close;
- }
- if (countitem(1027) < 25) {
- mes "[Yullo]";
- mes "Where are the Porcupine Quills? You";
- mes "think I wouldn't notice?";
- close;
- }else{
- delitem 1027,25;
- getitem 501,10;
- getexp 10425,6272;
- mes "[Yullo]";
- mes "Great, you have enough!";
- mes "Just like I promised a little";
- mes "reward.";
- close;
- }
-}
-
-// Shone - 25 Earthworm Peeling
-//============================================================
-moc_fild17,208,346,5 script Shone#iROExp 707,{
- if((BaseLevel < 25)) {
- mes "[Shone]";
- mes "You need some help, but I can't";
- mes "provide that for you. Come back";
- mes "when you are stronger and have";
- mes "earned much more wisdom.";
- close;
- }
- else if((BaseLevel > 60)) {
- mes "[Shone]";
- mes "You are much to strong to be";
- mes "fighting these things!";
- next;
- close;
- }
- mes "[Shone]";
- mes "Wait! You can see me?";
- mes "Oh well, I haven't yet mastered my";
- mes "skills.";
- next;
- mes "[Shone]";
- mes "Hey do you think you can help me? I";
- mes "am trying to collect ^00CE0025 Earthworm^000000";
- mes "^00CE00Peelings^000000. I will reward you if you";
- mes "help.";
- next;
- if (select("I have 25 Earthworm Peelings:What was it again?") == 2) {
- mes "[Shone]";
- mes "I need ^00CE0025 Earthworm Peelings^000000.";
- close;
- }
- if (countitem(1055) < 25) {
- mes "[Shone]";
- mes "I don't see any ^00CE00Earthworm Peelings^000000.";
- mes "Are you trying to scam me?";
- close;
- }else{
- delitem 1055,25;
- getitem 502,10;
- getexp 15775,1125;
- mes "[Shone]";
- mes "Thank you for the 25 Earthworm";
- mes "Peelings!";
- mes "Here is that reward I promised you,";
- mes "I hope you will take this wisdom I";
- mes "have passed on to you and share it";
- mes "with others.";
- close;
- }
-}
-
-// Langry - 25 Fluff
-//============================================================
-gef_fild07,321,193,3 script Langry#iROExp 754,{
- if((BaseLevel < 2)) {
- mes "[Langry]";
- mes "You may just be the most unlikely";
- mes "person ever,";
- mes "recycle a few Fabres and come";
- mes "back.";
- close;
- }
- if((BaseLevel > 20)) { mes "[Langry]"; }
- mes "Hello, my name is Langry.";
- mes "I have to complete this community";
- mes "service, but I am just too lazy.";
- next;
- if((BaseLevel > 20)) { close; }
- mes "[Langry]";
- mes "Do you think you can help me?";
- mes "Please?";
- next;
- mes "[Langry]";
- mes "I need to collect ^0000CE25 Fluff^000000 to";
- mes "complete this community service";
- mes "project.";
- mes "You know what I can even reward you";
- mes "a little for helping me.";
- next;
- if (select("I have some Fluff:What was that again?") == 2) {
- mes "[Langry]";
- mes "I need ^00CE0025 Fluff^000000.";
- close;
- }
- if (countitem(914) < 25) {
- mes "[Langry]";
- mes "I see no fluff, wait yea I do it's";
- mes "the lies coming from your mouth.";
- close;
- }else{
- delitem 914,25;
- getexp 385,30;
- mes "[Langry]";
- mes "Thank you for the Fluff. This helps";
- mes "me out greatly.";
- mes "Oh and here you go, this should";
- mes "help you get stronger, faster!";
- close;
- }
-}
-
-// Halgus - 25 Chrysalis
-//============================================================
-gef_fild04,191,54,4 script Halgus#iROExp 123,{
- if((BaseLevel < 2)) {
- mes "[Halgus]";
- mes "Please return to me when you are a";
- mes "little stronger.";
- close;
- }
- else if((BaseLevel > 20)) {
- mes "[Halgus]";
- mes "You are way to strong to be";
- mes "hunting these little things.";
- next;
- close;
- }
- mes "[Halgus]";
- mes "New here are you? Well look, I like";
- mes "helping new faces around here.";
- mes "And lets be honest you are not the";
- mes "prettiest looking face I have seen.";
- next;
- mes "[Halgus]";
- mes "None-the-less my daughter would";
- mes "like a new necklace.";
- mes "I am not rich by any means so I am";
- mes "looking to collect Chrysalis from";
- mes "the Pupa's in this area.";
- next;
- mes "[Halgus]";
- mes "Can you collect ^00CE0025 Chrysalis^000000 and";
- mes "return them to me, I promise to";
- mes "reward you well.";
- next;
- if (select("I have Chrysalis:What did you need?") == 2) {
- mes "[Halgus]";
- mes "I need ^00CE0025 Chrysalis^000000.";
- close;
- }
- if (countitem(915) < 25) {
- mes "[Halgus]";
- mes "I need ^00CE0025 Chrysalis^000000 and no less";
- mes "please.";
- close;
- }else{
- delitem 915,25;
- getexp 385,30;
- mes "[Halgus]";
- mes "Amazing you found so many that";
- mes "fast.";
- mes "Like I promised, give me the";
- mes "Chrysalis and I will reward you";
- mes "with my wisdom.";
- close;
-
- }
-}
-
-// Laertes - 25 Powder of Butterfly
-//============================================================
-prt_fild04,356,148,3 script Laertes#iROExp 798,{
- if((BaseLevel < 15 )) {
- mes "Your level is too low!";
- next;
- mes "Go kill more Porings!";
- close;
- }
- mes "[Laertes]";
- mes "Good Morning!";
- next;
- if((BaseLevel < 45)) { mes "[Laertes]"; }
- mes "I work for an apothecary in";
- mes "Prontera";
- if((BaseLevel > 45)) {
- mes "I come here to collect materials";
- mes "for medicine";
- close;
- }
- mes "I need to have a good supply";
- mes "of ^FF0000Powder of Butterfly^000000";
- next;
- if (select("I have Powder of Butterfly:What did you need?") == 2) {
- mes "[Laertes]";
- mes "If you bring me";
- mes "^FF000025 Powder of Butterfly^000000,";
- mes "I will give you some medical";
- mes "supplies.";
- close;
- }
- if (countitem(924) < 25) {
- mes "[Laertes]";
- mes "It doesn't look";
- mes "like you have enough.";
- next;
- mes "[Laertes]";
- mes "If you bring me";
- mes "^FF000025 Powder of Butterfly^000000,";
- mes "I will give you some medical";
- mes "supplies.";
- close;
- }else{
- delitem 924,25;
- getitem 502,5;
- getexp 2950,1125;
- mes "[Laertes]";
- mes "Hey, thank you again.";
- mes "Here you go, as promised.";
- close;
- }
-}
-
-// Nutters - 25 Acorn
-//===========================================================
-//mjolnir_01,293,20,3 script Nutters#iROExp 779,{
-// if((BaseLevel < 18)) {
-// mes "[Nutters]";
-// mes "You are just too small to fight";
-// mes "these things for me. Can you get a";
-// mes "little taller then return?";
-//
-// }
-// else if((BaseLevel > 60)) {
-// mes "[Nutters]";
-// mes "You are much to strong to be";
-// mes "fighting these things!";
-// next;
-// close;
-// }
-// mes "[Nutters]";
-// mes "I..I just can't seem to find any.";
-// mes "Pesky Coco's have hidden all the";
-// mes "Acorns.";
-// next;
-// mes "[Nutters]";
-// mes "Can you help me find ^00CE0025 Acorns^000000.";
-// mes "I will reward you with much if you can.";
-// next;
-// if (select("I have 25 Acorns:Please come again?") == 2) {
-// mes "[Nutters]";
-// mes "I need ^00CE0025 Acorns^000000.";
-// close;
-// }
-// if (countitem(1026) < 25) {
-// mes "[Nutters]";
-// mes "Where are my ^00CE00Acorns^000000? Hey, I'm not";
-// mes "playing, you better not hold out on me.";
-// close;
-// }else{
-// mes "[Nutters]";
-// mes "Oh great you found out where they";
-// mes "were hiding them. Gimme Gimme!!!";
-// next;
-// delitem 1026,25;
-// getitem 502,5;
-// getexp 3600,3905;
-// mes "[Nutters]";
-// mes "Oh thats right, sorry I just love";
-// mes "roasting Acorns. Mmm.";
-// mes "Here is what I promised you.";
-// close;
-// }
-//}
-
-// Cuir - 25 Anolian Skin
-//===========================================================
-cmd_fild01,362,256,3 script Cuir#iROExp 106,{
- if((BaseLevel < 45)) {
- mes "[Cuir]";
- mes "You certainly are brave, but";
- mes "bravery turns to foolishness if you";
- mes "continue going East.";
- mes "Perhaps when you are stronger you";
- mes "and I can do business.";
- close;
- }
- else if((BaseLevel > 80)) {
- mes "[Cuir]";
- mes "You are too powerful for this task,";
- mes "I need the skins in fair condition,";
- mes "not exploded!";
- next;
- close;
- }
- mes "[Cuir]";
- mes "You look like a sturdy adventurer!";
- mes "How'd you like to help me make a";
- mes "buck selling gator skin?";
- next;
- mes "[Cuir]";
- mes "If you can bring me ^00CE0020 Anolian^000000";
- mes "^00CE00Skin^000000. I can help you get stronger.";
- next;
- if (select("I've the Anolian Skins:Gators bite!") == 2) {
- mes "[Cuir]";
- mes "I need ^00CE0020 Anolian Skin^000000.";
- close;
- }
- if (countitem(7003) < 20) {
- mes "[Cuir]";
- mes "I know a gator skin when I see it";
- mes "and I don't see ^00CE0020 Anolian Skins^000000.";
- close;
- }else{
- delitem 7003,20;
- getitem 503,10;
- getexp 68950,43300;
- mes "[Cuir]";
- mes "Thank you for the ^00CE0020 Anolian^000000";
- mes "^00CE00Skins^000000!";
- mes "I hope you can continue to help me";
- mes "collect these skins.";
- mes "The armor creators around the world";
- mes "are clamoring for them.";
- close;
- }
-}
-
-// Li - 50 Dokebi Horns
-//===========================================================
-pay_fild10,108,357,5 script Li#iROExp 90,{
- if((BaseLevel < 35)) {
- mes "This place is dangerous!";
- next;
- mes "You should leave quickly!";
- close;
- }
- else if((BaseLevel > 70)) {
- mes "[Li]";
- mes "Hello";
- mes "I read fortunes";
- mes "in payon.";
- close;
- }
- mes "[Li]";
- mes "Hello";
- next;
- mes "[Li]";
- mes "My fortune teller business";
- mes "needs a good supply";
- mes "of ^FF0000Dokebi Horn^000000";
- mes "to give my customers good luck.";
- next;
- if(select("I have some Dokebi Horns:What did you need?") == 2) {
- mes "[Li]";
- mes "If you bring me";
- mes "^FF000050 Dokebi Horn^000000,";
- mes "I can give you some good luck.";
- close;
- }
- if (countitem(1021) < 50) {
- mes "[Li]";
- mes "It doesn't look";
- mes "like you have enough.";
- next;
- mes "[Li]";
- mes "I need ^FF000050 Dokebi Horn^000000.";
- mes "for my fortune telling.";
- close;
- }else{
- delitem 1021,50;
- getexp 42000,36000;
- mes "[Li]";
- mes "Oh, great!";
- mes "Thank you for the horns.";
- close;
- }
-}
-
-// Lemly - 25 Frill
-//===========================================================
-moc_fild17,66,273,5 script Lemly#iROExp 725,{
- if((BaseLevel < 30)) {
- mes "What are you doing here?";
- next;
- mes "The desert will kill you here!";
- close;
- }
- else if((BaseLevel > 65)) {
- mes "[Lemly]";
- mes "Hey there.";
- next;
- mes "[Lemly]";
- mes "These lizards are gross.";
- next;
- mes "[Lemly]";
- mes "I can't believe I am stuck";
- mes "doing this.";
- close;
- }
- mes "[Lemly]";
- mes "Hey there cutie!";
- next;
- mes "[Lemly]";
- mes "I am looking for lizard";
- mes "^FF0000Frills^000000.";
- next;
- mes "The lizards around here";
- mes "have a natural stealth";
- mes "property that the assassin";
- mes "guild wants to study.";
- next;
- if(select("I have some Frills:What did you need?") == 2) {
- mes "[Lemly]";
- mes "I need";
- mes "^FF000025 Frill^000000";
- mes "for the assassin guild.";
- close;
- }
- if (countitem(1012) < 25) {
- mes "[Lemly]";
- mes "Sigh,";
- mes "Please don't waste my time.";
- next;
- mes "[Lemly]";
- mes "I need";
- mes "^FF000025 Frill^000000";
- mes "for the assassin guild.";
- close;
- }else{
- delitem 1012,25;
- getexp 30000,23000;
- mes "[Lemly]";
- mes "Hey, thank you.";
- mes "These are pretty icky though.";
- close;
- }
-}
-
-// Private Jeremy - 25 Stone Heart
-//===========================================================
-moc_fild11,57,138,7 script Private Jeremy#iROExp 707,{
- if((BaseLevel < 25)) {
- mes "[Private Jeremy]";
- mes "It is dangerous here";
- mes "citizen.";
- close;
- }
- mes "[Private Jeremy]";
- mes "Greetings citizen!";
- next;
- if((BaseLevel > 60)) {
- mes "[Private Jeremy]";
- mes "Please do not interrupt";
- mes "my mission for the";
- mes "Morroc Guard.";
- close;
- }
- mes "[Private Jeremy]";
- mes "The Morroc guard";
- mes "need ^FF0000Stone Hearts^000000";
- mes "for our training regimen";
- next;
- if(select("I have Stone Hearts:What did you need?") == 2) {
- mes "[Private Jeremy]";
- mes "The Morroc Guard needs";
- mes "^FF000025 Stone Heart^000000,";
- mes "for our training regimen.";
- close;
- }
- if (countitem(953) < 25) {
- mes "[Private Jeremy]";
- mes "It doesn't look";
- mes "like you have enough.";
- next;
- mes "[Private Jeremy]";
- mes "The Morroc Guard needs";
- mes "^FF000025 Stone Heart^000000,";
- mes "for our training regimen.";
- close;
- }else{
- delitem 953,25;
- getexp 14000,9000;
- mes "[Private Jeremy]";
- mes "The Morroc Guard thanks you,";
- mes "citizen.";
- close;
- }
-}
-
-// Gregor - 25 Bill of Birds
-//===========================================================
-moc_fild02,74,329,3 script Gregor#iROExp 97,{
- if((BaseLevel < 10)) {
- mes "[Gregor]";
- mes "He there.";
- next;
- mes "[Gregor]";
- mes "Those pickys over there";
- mes "seem to be about your";
- mes "speed.";
- close;
- }
- else if((BaseLevel > 30)) {
- mes "[Gregor]";
- mes "Here peco peco peco";
- next;
- mes "[Gregor]";
- mes "Come here peco.";
- close;
- }
- mes "[Gregor]";
- mes "Peco Pecos are fascinating.";
- mes "I need some";
- mes "^FF0000Bill of Birds^000000";
- mes "for my, uh, research...";
- next;
- if(select("I have some Bill of Birds:What did you need?") == 2) {
- mes "[Gregor]";
- mes "Can you help me";
- mes "out and bring me";
- mes "^FF000025 Bill of Birds^000000?";
- close;
- }
- if (countitem(925) < 25) {
- mes "[Gregor]";
- mes "It doesn't look";
- mes "like you have enough.";
- next;
- mes "[Gregor]";
- mes "Can you help me";
- mes "out and bring me";
- mes "^FF000025 Bill of Birds^000000?";
- close;
- }else{
- delitem 925,25;
- getexp 4000,2000;
- mes "[Gregor]";
- mes "Thank you so much.";
- next;
- mes "[Gregor]";
- mes "This is gonna be";
- mes "delicious!";
- close;
- }
-}
-
-// Lilla - 50 Sharp Leaf
-//===========================================================
-um_fild01,35,281,5 script Lilla#iROExp 724,{
- if((BaseLevel < 60)) {
- mes "[Lilla]";
- mes "You are way too tiny to be helping";
- mes "me. Thank you for your offer";
- mes "though.";
- close;
- }
- else if((BaseLevel > 85)) {
- mes "[Lilla]";
- mes "Sorry but you are a little to old";
- mes "and scary to talk to!";
- next;
- close;
- }
- mes "[Lilla]";
- mes "Why hello!";
- mes "You look like someone who is";
- mes "willing to help a lil thing like";
- mes "myself out.";
- next;
- mes "[Lilla]";
- mes "I really need to gather ^00CE0050 Sharp^000000";
- mes "^00CE00Leaf^000000 for my garden tea party.";
- mes "Do you have any?";
- next;
- if(select("I have 50 Sharp Leaf:What, sorry I was day dreaming") == 2) {
- mes "[Lilla]";
- mes "I need ^00CE0050 Sharp Leafs^000000.";
- close;
- }
- if (countitem(7100) < 50) {
- mes "[Lilla]";
- mes "Why, I may look cute and silly but";
- mes "please don't play games with me.";
- close;
- }else{
- mes "[Lilla]";
- mes "Hey, your a sweet little thing.";
- mes "Thanks so much for helping me!";
- next;
- delitem 7100,50;
- getitem 504,10;
- getexp 262485,141835;
- mes "[Lilla]";
- mes "Oh, I almost forgot. I have";
- mes "something for you ^_^";
- mes "Thank you so much again for your";
- mes "help.";
- close;
- }
-}
-
-// Lella - 50 Huge Leaf
-//============================================================
-ayo_fild01,44,241,5 script Lella#iROExp 877,{
- if((BaseLevel < 36)) {
- mes "[Lella]";
- mes "Quickly escape before they get";
- mes "their claws into your sanity!";
- close;
- }
- else if((BaseLevel > 65)) {
- mes "[Lella]";
- mes "Not sure why you are here,";
- mes "but I can't offer you a bounty";
- mes "as there would be no effort";
- mes "in it for you!";
- close;
- }
- mes "[Lella]";
- mes "Why hello!";
- mes "You look like someone who is";
- mes "willing to help someone who is";
- mes "slowly going mad.";
- next;
- mes "[Lella]";
- mes "I really need to gather ^00CE0050 Huge^000000";
- mes "^00CE00Leaf^000000 for my sanity.";
- mes "Do you have any?";
- next;
- if(select("I have 50 Huge Leaf:What, sorry I was day dreaming") == 2) {
- mes "[Lella]";
- mes "I need ^00CE0050 Huge Leafs^000000.";
- close;
- }
- if (countitem(7198) < 50) {
- mes "[Lella]";
- mes "Meow meow meow meow meow...";
- mes "NOOOOOOOOOOOO.";
- close;
- }else{
- mes "[Lella]";
- mes "Wonderful I can tell it is just a";
- mes "little bit quieter around here!";
- next;
- delitem 7198,50;
- getitem 503,10;
- getexp 25740,31512;
- mes "[Lella]";
- mes "The more leafs I collect the";
- mes "quieter it seems around here.";
- close;
- }
-}
-
-// Vegetable Farmer - 50 Antelope Horn
-//============================================================
-ein_fild06,82,171,7 script Vegetable Farmer#iROExp 919,{
- if((BaseLevel < 70)) {
- mes "[Vegetable Farmer]";
- mes "My greens, where did they all go?";
- mes "Oh, no..no!!!";
- close;
- }
- else if((BaseLevel > 84)) {
- mes "[Vegetable Farmer]";
- mes "Oh boy, Oh boy!";
- next;
- mes "[Vegetable Farmer]";
- mes "Sorry I can't talk right now";
- mes "I am in a world of hurt here,";
- mes "these darn Goats are going to kill";
- mes "me.";
- close;
- }
- mes "[Vegetable Farmer]";
- mes "Oh great!";
- mes "You are here to help me right?";
- mes "If not, then I am in a world of hurt.";
- next;
- mes "[Vegetable Farmer]";
- mes "These Goats keep eating my";
- mes "vegetables.";
- mes "Can you do what you can to help";
- mes "me?";
- mes "I need ^FF0000Antelope Horns^000000";
- mes "to show for your hard work, and I";
- mes "will reward you.";
- next;
- if(select("I have Antelope Horns:What did you need?") == 2) {
- mes "[Vegetable Farmer]";
- mes "I need to see that you have";
- mes "gathered";
- mes "^FF000050 Antelope Horns^000000,";
- mes "and then I can reward you.";
- close;
- }
- if (countitem(7106) < 50) {
- mes "[Vegetable Farmer]";
- mes "It doesn't look";
- mes "like you have enough.";
- next;
- mes "[Vegetable Farmer]";
- mes "I need to see that you have";
- mes "gathered";
- mes "^FF000050 Antelope Horns^000000,";
- mes "and then I can reward you.";
- close;
- }else{
- delitem 7106,50;
- getitem 504,10;
- getexp 258490,155155;
- mes "[Vegetable Farmer]";
- mes "Amazing, you did that with speed. I";
- mes "am truly grateful.";
- close;
- }
-}
-
-// Local Villager - 50 Bacillus
-//============================================================
-ein_fild01,43,249,7 script Local Villager#iROExp 898,{
- if((BaseLevel < 60)) {
- mes "[Local Villager]";
- mes "Its amazing, truly it is. I just";
- mes "wish I could get through this all.";
- close;
- }
- else if((BaseLevel > 75)) {
- mes "[Local Villager]";
- mes "Um, um. I don't think..";
- next;
- mes "[Local Villager]";
- mes "Yeah, sorry I can't talk right";
- mes "now.";
- close;
- }
- mes "[Local Villager]";
- mes "Hey, you there. Yeah you!";
- mes "Do you think you can help me with";
- mes "something?";
- next;
- mes "[Local Villager]";
- mes "I am trying to make my way through";
- mes "but I can't seem to get past these";
- mes "Demon Pungus. Can you help by";
- mes "collecting ^FF0000Bacillus^000000?";
- mes "I will reward you for helping clear";
- mes "this out for me.";
- next;
- if(select("I have Bacillus:What did you need?") == 2) {
- mes "[Local Villager]";
- mes "I need to see that you have";
- mes "gathered";
- mes "^FF000050 Bacillus^000000,";
- mes "and then I can reward you.";
- close;
- }
- if (countitem(7119) < 50) {
- mes "[Local Villager]";
- mes "It doesn't look";
- mes "like you have enough.";
- next;
- mes "[Local Villager]";
- mes "I need to see that you have";
- mes "gathered";
- mes "^FF000050 Bacillus^000000,";
- mes "and then I can reward you.";
- close;
- }else{
- delitem 7119,50;
- getitem 504,10;
- getexp 250266,144452;
- mes "[Local Villager]";
- mes "I had my doubts, but you have";
- mes "proven me wrong.";
- close;
- }
-} \ No newline at end of file
diff --git a/npc/scripts_athena.conf b/npc/scripts_athena.conf
index 7a408c249..430aace3a 100644
--- a/npc/scripts_athena.conf
+++ b/npc/scripts_athena.conf
@@ -59,7 +59,8 @@ npc: npc/merchants/enchan_arm.txt
npc: npc/merchants/manuk.txt
npc: npc/merchants/splendide.txt
npc: npc/merchants/wander_pet_food.txt
-// Cash Shop
+// --------------------------------------------------------------
+// ------------------------- Cash Shop --------------------------
// See file before enabling, as you may wish to change the
// point value of items to suit your own needs.
//npc: npc/merchants/cash_trader.txt
@@ -140,11 +141,24 @@ npc: npc/quests/first_class/tu_sword.txt
npc: npc/quests/first_class/tu_thief01.txt
//Wandering Minstrel Quest
npc: npc/quests/Bard_Quest.txt
-// iRO Repeatable EXP quests;
-// Note: Before enabling remove
-// 1) 925,Bill_Of_Birds; 2) 7106,Goat's_Horn
-// From Vendor shops in npc/merchants/shops.txt
-//npc: npc/quests/iRO_Exp.txt
+// Repeatable EXP quests;
+npc: npc/quests/collection/quest_alligator.txt
+npc: npc/quests/collection/quest_caramel.txt
+//Exploitable due to vendor selling Acorns in Moscovia
+//npc: npc/quests/collection/quest_coco.txt
+npc: npc/quests/collection/quest_creamy.txt
+npc: npc/quests/collection/quest_demonpungus.txt
+npc: npc/quests/collection/quest_dokebi.txt
+npc: npc/quests/collection/quest_dryad.txt
+npc: npc/quests/collection/quest_fabre.txt
+npc: npc/quests/collection/quest_frilldora.txt
+//Exploitable due to vendor selling Antelope Horns in Niflheim
+//npc: npc/quests/collection/quest_goat.txt
+npc: npc/quests/collection/quest_golem.txt
+npc: npc/quests/collection/quest_hode.txt
+npc: npc/quests/collection/quest_leafcat.txt
+npc: npc/quests/collection/quest_pecopeco.txt
+npc: npc/quests/collection/quest_pupa.txt
//Town Relay Quests
npc: npc/quests/2007_relay.txt
//Guild Relay Quests
@@ -278,7 +292,8 @@ npc: npc/other/resetskill.txt
npc: npc/other/guildpvp.txt
npc: npc/other/sealstatus.txt
npc: npc/other/mercenary_rent.txt
-// Turbo Track Files --------------------------------------------
+// --------------------------------------------------------------
+// -------------------- Turbo Track Arena -----------------------
npc: npc/other/turbotrack/Turbo_Track.txt
// Normal Courses (Non-PVP)
npc: npc/other/turbotrack/Normal_Solo.txt
@@ -290,7 +305,7 @@ npc: npc/other/turbotrack/Expert_4.txt
npc: npc/other/turbotrack/Expert_8.txt
npc: npc/other/turbotrack/Expert_16.txt
// --------------------------------------------------------------
-// --------------------Izlude Battle Arena ----------------------
+// ------------------- Izlude Battle Arena ----------------------
npc: npc/other/arena/arena_room.txt
npc: npc/other/arena/arena_lvl50.txt
npc: npc/other/arena/arena_lvl60.txt
@@ -306,4 +321,5 @@ npc: npc/other/monster_race.txt
npc: npc/instances/SealedShrine.txt
//npc: npc/instances/EndlessTower.txt
npc: npc/instances/OrcsMemory.txt
+//npc: npc/instances/NydhoggsNext.txt
// --------------------------------------------------------------