Przeglądaj źródła

* Implemented repeatable EXP quests (with kill count and item gathering options) removed iRO_Exp.txt.
* Fixed missing slot on Power_of_Thor. (bugreport:4168)
* Fixed size for HELL_APOCALIPS and ZUKADAM. (bugreport:4293)
* Fixed mob modes on ANCIENT_TREE and RYNCHO. (bugreport:4294)
* Fixed HP and INT bonuses on the Kronos staff. (bugreport:4297)
* Fixed equip location and more on the Ruber sword. (bugreport:4298)
* Fixed typo in the Icecream_Hat giving the wrong skill. (bugreport:4299)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14339 54d463be-8e91-2dee-dedb-b68131a5f0ec

L0ne_W0lf 15 lat temu
rodzic
commit
db53228f1d

+ 8 - 0
db/Changelog.txt

@@ -8,6 +8,14 @@
 	1475 Equestrian's Spear:	NEED INFO.
 	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]

+ 4 - 4
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

+ 4 - 4
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

+ 2 - 0
npc/Changelog.txt

@@ -1,5 +1,7 @@
 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.

+ 242 - 0
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;
+	}
+}

+ 242 - 0
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;
+	}
+}

+ 243 - 0
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;
+	}
+}

+ 248 - 0
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;
+	}
+}

+ 244 - 0
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;
+	}
+}
+
+

+ 234 - 0
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;
+	}
+}
+
+

+ 242 - 0
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;
+	}
+}

+ 231 - 0
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;
+	}
+}
+
+

+ 240 - 0
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;
+	}
+}
+
+

+ 245 - 0
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;
+	}
+}
+

+ 232 - 0
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;
+	}
+}
+
+

+ 241 - 0
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;
+	}
+}

+ 239 - 0
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;
+	}
+}

+ 251 - 0
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;
+	}
+}

+ 233 - 0
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;
+	}
+}

+ 0 - 851
npc/quests/iRO_Exp.txt

@@ -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;
-	}
-}

+ 24 - 8
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
 // --------------------------------------------------------------