summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/Changelog.txt8
-rw-r--r--db/item_db.txt8
-rw-r--r--db/mob_db.txt8
-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
21 files changed, 3649 insertions, 867 deletions
diff --git a/db/Changelog.txt b/db/Changelog.txt
index 1f7188f6d..c762c35c0 100644
--- a/db/Changelog.txt
+++ b/db/Changelog.txt
@@ -9,6 +9,14 @@
13005 Angelic Wing Dagger: NEED INFO.
=======================
2010/06/10
+ * Rev. 14339 Teehee, bugfixes! Some I made, some I missed.
+ * 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)
+2010/06/10
* Rev. 14338 Adjusted the cooldowns on the "Rough Mineral" and "Helping Grenouille" quests. [L0ne_W0lf]
* Rev. 14337 Touched up the WoESE Guild Dungeon monster stats and added drops. [L0ne_W0lf]
* Rev. 14336 Corrected number of slots on several newer items. [L0ne_W0lf]
diff --git a/db/item_db.txt b/db/item_db.txt
index dd0603ddd..fd5ba5934 100644
--- a/db/item_db.txt
+++ b/db/item_db.txt
@@ -1054,7 +1054,7 @@
2001,Divine_Cross,Divine Cross,4,20,,1500,120,,1,0,0x00008100,7,2,34,4,70,1,10,{ bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bDex,4; bonus2 bSubRace,RC_Demon,15; bonus2 bSubRace,RC_Undead,15; if (isequipped(2677) || isequipped(2711)) { bonus bMatkRate,10; bonus bDex,2; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; }; },{},{}
2002,Krieger_Twohand_Staff1,Glorious Destruction Staff,4,0,,0,70,,1,0,0x00018314,7,2,34,4,80,1,10,{ bonus bMatkRate,getrefine(); bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bIgnoreMdefRate,RC_DemiHuman,25; bonus bUnbreakableWeapon,0; if(getrefine() > 5) { bonus2 bMagicAddRace,RC_DemiHuman,(getrefine()-5)*2; bonus2 bIgnoreMdefRate,RC_DemiHuman,(getrefine()-5)*2; } if(getrefine() > 8) { bonus5 bAutoSpellOnSkill,"WZ_STORMGUST","MG_SAFETYWALL",10,200,1; bonus5 bAutoSpellOnSkill,"WZ_METEOR","MG_SAFETYWALL",10,200,1; bonus5 bAutoSpellOnSkill,"WZ_VERMILION","MG_SAFETYWALL",10,200,1; } },{},{}
2003,Destruction_Rod_M,Staff of Destruction,4,20,,2500,130,,1,1,0x00000200,2,2,34,4,80,1,10,{ bonus bMatkRate,25+getrefine()/2; bonus bInt,3; bonus bAgi,10; bonus bUseSPrate,(getrefine()*2); bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",5,(getrefine()*20); bonus2 bCastrate,366,-50; },{},{}
-2004,Kronos,Kronos,4,0,,1000,30,,1,0,0x00010204,2,2,34,4,50,1,10,{ bonus bMatkRate,20; bonus bInt,getrefine(); bonus bMaxHP,300; bonus bMaxSP,50*getrefine()/2; autobonus "{ bonus bMatkRate,12; bonus buseSPRate,20; }",1,5000,BF_MAGIC,"{ specialeffect2 EF_ENHANCE; }"; },{},{}
+2004,Kronos,Kronos,4,0,,1000,30,,1,0,0x00010204,2,2,34,4,50,1,10,{ bonus bMatkRate,20; bonus bInt,3+(getrefine()/2); bonus bMaxHP,300+(50*getrefine()/2); autobonus "{ bonus bMatkRate,12; bonus buseSPRate,20; }",1,5000,BF_MAGIC,"{ specialeffect2 EF_ENHANCE; }"; },{},{}
2005,Dea_Staff,Dea Staff,4,20,,1000,30,,1,1,0x00008110,2,2,34,3,50,1,10,{ bonus bAtkEle,Ele_Holy; bonus bMatkRate,15+getrefine()/2; bonus bInt,6; bonus bVit,2; autobonus3 "{ }",20,1000,"AL_HEAL","{ specialeffect2 EF_MAGICALATTHIT; heal 0,200; }"; },{},{}
// Shields
//===================================================================
@@ -2679,12 +2679,12 @@
5492,Boy's_Cap_I,Student Cap,5,0,,0,,5,,0,0xFFFFFFFE,7,2,256,,0,1,102,{ bonus2 bAddRace,RC_DemiHuman,5; },{},{}
5493,Ulle_Cap_I,Ulle's Cap,5,0,,0,,3,,0,0xFFFFFFFE,7,2,256,,0,1,254,{ bonus bDex,2; bonus bAgi,1; if(isequipped(2353) && readparam(bDex)>=70) bonus bUseSPrate,-10; },{},{}
5494,Spinx_Helm_I,Sphinx Hat,5,0,,0,,5,,0,0x00004082,7,2,769,,0,0,137,{ bonus bStr,5; },{},{}
-//5495,Power_Of_Thor,Power Of Thor,5,0,,500,,6,,0,0xFFFFFFFF,7,2,256,,75,0,493,{ bonus bFlee,5; bonus bAllStats,1; },{},{}
+//5495,Power_Of_Thor,Power Of Thor,5,0,,500,,6,,1,0xFFFFFFFF,7,2,256,,75,0,493,{ bonus bFlee,5; bonus bAllStats,1; },{},{}
//5496,Dice_Hat,Dice Hat,5,0,,500,,3,,0,0xFFFFFFFF,7,2,256,,50,0,494,{ bonus bLuk,4; },{},{}
//5497,King_Tiger_Doll_Hat,King Tiger Doll Hat,5,0,,400,,3,,0,0xFFFFFFFF,7,2,256,,30,0,495,{ bonus bStr,2; },{},{}
5498,Wondering_Wolf_King_Hel,Wandering Wolf Hat,5,,,600,,5,,0,0xFFFFFFFE,7,2,768,,50,0,490,{ bonus bFlee,10; bonus bVit,5; },{},{}
5499,Pizza_Hat,Pizza Hat,5,20,,6000,,0,,0,0xFFFFFFFF,7,2,256,,0,1,487,{ skill "SM_PROVOKE",1; },{},{}
-5500,Icecream_Hat,Icecream Hat,5,20,,300,,1,,0,0xFFFFFFFF,7,2,256,,30,1,488,{ skill "MG_DIVER",3; bonus bMdef,3; },{},{}
+5500,Icecream_Hat,Icecream Hat,5,20,,300,,1,,0,0xFFFFFFFF,7,2,256,,30,1,488,{ skill "MG_FROSTDIVER",3; bonus bMdef,3; },{},{}
5501,Pirate's_Pride,Pirate's Pride,5,20,,100,,3,,0,0xFFFFFFFF,7,2,256,,10,1,496,{ bonus2 bAddRace2,6,5; bonus2 bSubRace2,6,5; },{},{}
5502,Necromencer's_Hood,Necromancer's Hood,5,,,100,,2,,1,0xFFFFFFFF,7,2,768,,10,1,491,{ bonus5 bAutoSpellWhenHit,"NPC_DARKSTRIKE",5,5,BF_WEAPON|BF_MAGIC,1; },{},{}
5503,Rabbit_Magic_Hat,Magic Rabit Hat,5,20,,800,,2,,0,0xFFFFFFFF,7,2,256,,0,1,497,{ bonus bDex,2; bonus bAgi,2; bonus bMDef,1; bonus bMaxSP,50; bonus3 bAutoSpellWhenHit,"MG_FIREBOLT",1,10; bonus3 bAutoSpellWhenHit,"MG_COLDBOLT",1,10; bonus3 bAutoSpellWhenHit,"MG_LIGHTNINGBOLT",1,10; },{},{}
@@ -4860,7 +4860,7 @@
13418,Krieger_Onehand_Sword3,Glorious Holy Avenger,4,0,,0,130,,1,0,0x000444A2,7,2,2,4,80,1,2,{ bonus bInt,getrefine()-5; bonus bMatkRate,10; bonus bUnbreakableWeapon,0; if(getrefine() > 5) bonus bUseSPrate,-10; if(getrefine() > 8) bonus4 bAutoSpellOnSkill,"PA_PRESSURE","PR_LEXDIVINA",1,1000; if(getrefine() > 9) bonus bInt,5; },{},{}
//13419,Holy_Saber
//13420,Honglyun's_Sword
-13421,Ruber,Ruber,4,20,,1500,170,,1,1,0x000444A2,7,2,2,4,50,1,7,{ autobonus "{ bonus2 bSkillAtk,\"KN_BOWLINGBASH\",20; bonus2 bSkillAtk,\"SM_BASH\",20; }",5,15000,BF_WEAPON,"{ specialeffect2 EF_ENHANCE; }"; },{},{}
+13421,Ruber,Ruber,4,20,,1500,170,,1,1,0x000444A2,2,2,2,3,50,1,2,{ autobonus "{ bonus2 bSkillAtk,\"KN_BOWLINGBASH\",20; bonus2 bSkillAtk,\"SM_BASH\",20; }",5,15000,BF_WEAPON,"{ specialeffect2 EF_ENHANCE; }"; },{},{}
//13422,Flamberge_C
//13426,Cutlas_C
//13427,Solar_Sword_C
diff --git a/db/mob_db.txt b/db/mob_db.txt
index 37295d037..d93b53916 100644
--- a/db/mob_db.txt
+++ b/db/mob_db.txt
@@ -1022,8 +1022,8 @@
1975,BEHOLDER_MASTER,Beholder Master,Beholder master,70,24150,0,12075,7245,6,1723,2300,17,30,1,62,25,89,85,32,10,12,2,0,44,0x3885,190,336,840,360,0,0,0,0,0,0,0,0,576,3000,605,100,996,100,985,10,2386,1,2749,1,603,2,0,0,0,0,0,0
1976,COBALT_MINERAL,Cobalt Mineral,Cobalt Mineral,72,29665,0,9866,7899,1,1446,1979,40,30,72,77,35,57,77,32,10,12,2,0,40,0x3885,200,648,480,360,0,0,0,0,0,0,0,0,7321,3000,728,500,13414,1,984,80,1011,800,715,100,969,2,0,0,0,0,0,0
1977,HEAVY_METALING,Heavy Metaling,Heavy Metaling,73,28433,0,9320,7529,1,1350,1700,40,30,73,65,28,40,77,2,10,12,1,0,20,0x3885,200,384,672,480,0,0,0,0,0,0,0,0,7325,4000,1002,1000,998,500,7126,1000,7317,200,13038,1,7312,5000,0,0,0,0,0,0
-1978,HELL_APOCALIPS,Hell Apocalips,Hell Apocalypse,86,65433,0,39260,19630,2,5733,6073,62,23,86,48,30,98,110,85,10,12,3,0,40,0x3885,250,1840,1440,384,0,0,0,0,0,0,0,0,7095,5335,7094,2400,7093,2200,985,5,2391,1,1484,1,999,25,0,0,0,0,0,0
-1979,ZUKDAM,Zukadam,Zakudam,82,43699,0,21850,13110,3,2000,3227,30,30,82,65,35,75,80,15,10,12,3,7,40,0x3885,180,580,288,360,0,0,0,0,0,0,0,0,2390,1,7317,5000,999,500,984,200,985,200,13156,5,13167,5,0,0,0,0,0,0
+1978,HELL_APOCALIPS,Hell Apocalips,Hell Apocalypse,86,65433,0,39260,19630,2,5733,6073,62,23,86,48,30,98,110,85,10,12,2,0,40,0x3885,250,1840,1440,384,0,0,0,0,0,0,0,0,7095,5335,7094,2400,7093,2200,985,5,2391,1,1484,1,999,25,0,0,0,0,0,0
+1979,ZUKDAM,Zukadam,Zakudam,82,43699,0,21850,13110,3,2000,3227,30,30,82,65,35,75,80,15,10,12,2,7,40,0x3885,180,580,288,360,0,0,0,0,0,0,0,0,2390,1,7317,5000,999,500,984,200,985,200,13156,5,13167,5,0,0,0,0,0,0
1980,KUBLIN,Kubkin,Kublin,85,576000,0,100000,100000,1,1180,1400,10,20,1,1,40,85,6,30,10,12,2,7,22,0x37B5,100,1120,620,240,100000,5000,6010,10000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
// Orc Dungeon Instance
1981,I_HIGH_ORC,Safeguard Chief,Safeguard Chief,88,96980,0,3618,1639,1,1428,1533,15,5,55,46,55,35,82,40,10,12,2,7,43,0x3695,150,1500,500,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@@ -1066,8 +1066,8 @@
2016,AQUA_ELEMENTAL,Aqua Elemental,Aqua Elemental,83,33220,0,5430,15300,1,400,1600,8,12,1,23,19,87,77,2,10,12,2,0,81,0x3095,250,879,672,576,0,0,0,0,0,0,0,0,6075,1000,12353,100,7326,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2017,RATA,Rata,Rata,107,216600,0,70012,34000,1,8000,15000,32,52,1,51,22,132,99,15,10,12,1,7,22,0x3295,150,580,288,360,0,0,0,0,0,0,0,0,12346,5000,6089,500,1026,5000,1548,100,0,0,0,0,0,0,0,0,0,0,0,0
2018,DUNEYRR,Duneyrr,Duneyrr,107,265100,0,83030,52000,1,16000,19000,39,35,1,60,45,89,105,15,10,12,2,7,62,0x3295,160,1446,1296,360,0,0,0,0,0,0,0,0,515,5000,6089,500,1188,10,6020,4000,2783,2,1384,100,0,0,0,0,0,0,0,0
-2019,ANCIENT_TREE,Ancient Tree,Ancient Tree,102,30030,0,11020,8900,1,13200,17400,39,43,1,30,73,58,45,30,10,12,2,3,62,0x84,200,1264,864,288,0,0,0,0,0,0,0,0,7197,1000,7201,5000,2450,30,7198,1000,1643,10,0,0,0,0,0,0,0,0,0,0
-2020,RHYNCHO,Rhyncho,Rhyncho,85,18900,0,2040,6000,1,350,2350,5,19,1,56,12,35,89,10,10,12,0,0,61,0x84,150,1120,620,240,0,0,0,0,0,0,0,0,7326,5000,6087,500,972,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+2019,ANCIENT_TREE,Ancient Tree,Ancient Tree,102,30030,0,11020,8900,1,13200,17400,39,43,1,30,73,58,45,30,10,12,2,3,62,0x308D,200,1264,864,288,0,0,0,0,0,0,0,0,7197,1000,7201,5000,2450,30,7198,1000,1643,10,0,0,0,0,0,0,0,0,0,0
+2020,RHYNCHO,Rhyncho,Rhyncho,85,18900,0,2040,6000,1,350,2350,5,19,1,56,12,35,89,10,10,12,0,0,61,0x308D,150,1120,620,240,0,0,0,0,0,0,0,0,7326,5000,6087,500,972,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2021,PHYLLA,Phylla,Phylla,85,23880,0,2040,6600,1,350,2250,8,22,1,59,15,25,99,10,10,12,0,0,61,0x2085,150,1320,620,240,0,0,0,0,0,0,0,0,7326,5000,6088,500,971,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2022,S_NYDHOG,Nidhoggr's Shadow,Nidhoggr's Shadow,117,3450000,0,4800000,3900000,1,17000,49000,60,75,1,34,62,236,188,34,10,12,2,9,87,0x37B5,100,76,384,288,2400000,1000,0,0,0,0,0,0,7444,5000,1484,500,1417,500,2610,5000,1170,500,2554,2000,0,0,0,0,0,0,0,0
2023,DARK_SHADOW,Dark Shadow,Dark Shadow,114,42900,0,21000,14000,1,10000,15000,35,44,1,23,12,145,102,60,10,12,0,0,87,0x3195,180,1732,1332,540,0,0,0,0,0,0,0,0,7205,5000,13038,5,2783,5,2609,1000,6089,1000,1385,10,0,0,0,0,0,0,0,0
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
// --------------------------------------------------------------