From a3389f9f6b6afec1d0b9563fd5b17ec9b0664af6 Mon Sep 17 00:00:00 2001 From: L0ne_W0lf Date: Sat, 12 Jun 2010 03:13:11 +0000 Subject: * Implemented repeatable EXP quests (with kill count and item gathering options) removed iRO_Exp.txt. * Fixed missing slot on Power_of_Thor. (bugreport:4168) * Fixed size for HELL_APOCALIPS and ZUKADAM. (bugreport:4293) * Fixed mob modes on ANCIENT_TREE and RYNCHO. (bugreport:4294) * Fixed HP and INT bonuses on the Kronos staff. (bugreport:4297) * Fixed equip location and more on the Ruber sword. (bugreport:4298) * Fixed typo in the Icecream_Hat giving the wrong skill. (bugreport:4299) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14339 54d463be-8e91-2dee-dedb-b68131a5f0ec --- db/Changelog.txt | 8 + db/item_db.txt | 8 +- db/mob_db.txt | 8 +- npc/Changelog.txt | 2 + npc/quests/collection/quest_alligator.txt | 242 ++++++++ npc/quests/collection/quest_caramel.txt | 242 ++++++++ npc/quests/collection/quest_coco.txt | 243 ++++++++ npc/quests/collection/quest_creamy.txt | 248 ++++++++ npc/quests/collection/quest_demonpungus.txt | 244 ++++++++ npc/quests/collection/quest_dokebi.txt | 234 ++++++++ npc/quests/collection/quest_dryad.txt | 242 ++++++++ npc/quests/collection/quest_fabre.txt | 231 ++++++++ npc/quests/collection/quest_frilldora.txt | 240 ++++++++ npc/quests/collection/quest_goat.txt | 245 ++++++++ npc/quests/collection/quest_golem.txt | 232 ++++++++ npc/quests/collection/quest_hode.txt | 241 ++++++++ npc/quests/collection/quest_leafcat.txt | 239 ++++++++ npc/quests/collection/quest_pecopeco.txt | 251 ++++++++ npc/quests/collection/quest_pupa.txt | 233 ++++++++ npc/quests/iRO_Exp.txt | 851 ---------------------------- npc/scripts_athena.conf | 32 +- 21 files changed, 3649 insertions(+), 867 deletions(-) create mode 100644 npc/quests/collection/quest_alligator.txt create mode 100644 npc/quests/collection/quest_caramel.txt create mode 100644 npc/quests/collection/quest_coco.txt create mode 100644 npc/quests/collection/quest_creamy.txt create mode 100644 npc/quests/collection/quest_demonpungus.txt create mode 100644 npc/quests/collection/quest_dokebi.txt create mode 100644 npc/quests/collection/quest_dryad.txt create mode 100644 npc/quests/collection/quest_fabre.txt create mode 100644 npc/quests/collection/quest_frilldora.txt create mode 100644 npc/quests/collection/quest_goat.txt create mode 100644 npc/quests/collection/quest_golem.txt create mode 100644 npc/quests/collection/quest_hode.txt create mode 100644 npc/quests/collection/quest_leafcat.txt create mode 100644 npc/quests/collection/quest_pecopeco.txt create mode 100644 npc/quests/collection/quest_pupa.txt delete mode 100644 npc/quests/iRO_Exp.txt diff --git a/db/Changelog.txt b/db/Changelog.txt index 1f7188f6d..c762c35c0 100644 --- a/db/Changelog.txt +++ b/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] diff --git a/db/item_db.txt b/db/item_db.txt index dd0603ddd..fd5ba5934 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -1054,7 +1054,7 @@ 2001,Divine_Cross,Divine Cross,4,20,,1500,120,,1,0,0x00008100,7,2,34,4,70,1,10,{ bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bDex,4; bonus2 bSubRace,RC_Demon,15; bonus2 bSubRace,RC_Undead,15; if (isequipped(2677) || isequipped(2711)) { bonus bMatkRate,10; bonus bDex,2; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; }; },{},{} 2002,Krieger_Twohand_Staff1,Glorious Destruction Staff,4,0,,0,70,,1,0,0x00018314,7,2,34,4,80,1,10,{ bonus bMatkRate,getrefine(); bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bIgnoreMdefRate,RC_DemiHuman,25; bonus bUnbreakableWeapon,0; if(getrefine() > 5) { bonus2 bMagicAddRace,RC_DemiHuman,(getrefine()-5)*2; bonus2 bIgnoreMdefRate,RC_DemiHuman,(getrefine()-5)*2; } if(getrefine() > 8) { bonus5 bAutoSpellOnSkill,"WZ_STORMGUST","MG_SAFETYWALL",10,200,1; bonus5 bAutoSpellOnSkill,"WZ_METEOR","MG_SAFETYWALL",10,200,1; bonus5 bAutoSpellOnSkill,"WZ_VERMILION","MG_SAFETYWALL",10,200,1; } },{},{} 2003,Destruction_Rod_M,Staff of Destruction,4,20,,2500,130,,1,1,0x00000200,2,2,34,4,80,1,10,{ bonus bMatkRate,25+getrefine()/2; bonus bInt,3; bonus bAgi,10; bonus bUseSPrate,(getrefine()*2); bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",5,(getrefine()*20); bonus2 bCastrate,366,-50; },{},{} -2004,Kronos,Kronos,4,0,,1000,30,,1,0,0x00010204,2,2,34,4,50,1,10,{ bonus bMatkRate,20; bonus bInt,getrefine(); bonus bMaxHP,300; bonus bMaxSP,50*getrefine()/2; autobonus "{ bonus bMatkRate,12; bonus buseSPRate,20; }",1,5000,BF_MAGIC,"{ specialeffect2 EF_ENHANCE; }"; },{},{} +2004,Kronos,Kronos,4,0,,1000,30,,1,0,0x00010204,2,2,34,4,50,1,10,{ bonus bMatkRate,20; bonus bInt,3+(getrefine()/2); bonus bMaxHP,300+(50*getrefine()/2); autobonus "{ bonus bMatkRate,12; bonus buseSPRate,20; }",1,5000,BF_MAGIC,"{ specialeffect2 EF_ENHANCE; }"; },{},{} 2005,Dea_Staff,Dea Staff,4,20,,1000,30,,1,1,0x00008110,2,2,34,3,50,1,10,{ bonus bAtkEle,Ele_Holy; bonus bMatkRate,15+getrefine()/2; bonus bInt,6; bonus bVit,2; autobonus3 "{ }",20,1000,"AL_HEAL","{ specialeffect2 EF_MAGICALATTHIT; heal 0,200; }"; },{},{} // Shields //=================================================================== @@ -2679,12 +2679,12 @@ 5492,Boy's_Cap_I,Student Cap,5,0,,0,,5,,0,0xFFFFFFFE,7,2,256,,0,1,102,{ bonus2 bAddRace,RC_DemiHuman,5; },{},{} 5493,Ulle_Cap_I,Ulle's Cap,5,0,,0,,3,,0,0xFFFFFFFE,7,2,256,,0,1,254,{ bonus bDex,2; bonus bAgi,1; if(isequipped(2353) && readparam(bDex)>=70) bonus bUseSPrate,-10; },{},{} 5494,Spinx_Helm_I,Sphinx Hat,5,0,,0,,5,,0,0x00004082,7,2,769,,0,0,137,{ bonus bStr,5; },{},{} -//5495,Power_Of_Thor,Power Of Thor,5,0,,500,,6,,0,0xFFFFFFFF,7,2,256,,75,0,493,{ bonus bFlee,5; bonus bAllStats,1; },{},{} +//5495,Power_Of_Thor,Power Of Thor,5,0,,500,,6,,1,0xFFFFFFFF,7,2,256,,75,0,493,{ bonus bFlee,5; bonus bAllStats,1; },{},{} //5496,Dice_Hat,Dice Hat,5,0,,500,,3,,0,0xFFFFFFFF,7,2,256,,50,0,494,{ bonus bLuk,4; },{},{} //5497,King_Tiger_Doll_Hat,King Tiger Doll Hat,5,0,,400,,3,,0,0xFFFFFFFF,7,2,256,,30,0,495,{ bonus bStr,2; },{},{} 5498,Wondering_Wolf_King_Hel,Wandering Wolf Hat,5,,,600,,5,,0,0xFFFFFFFE,7,2,768,,50,0,490,{ bonus bFlee,10; bonus bVit,5; },{},{} 5499,Pizza_Hat,Pizza Hat,5,20,,6000,,0,,0,0xFFFFFFFF,7,2,256,,0,1,487,{ skill "SM_PROVOKE",1; },{},{} -5500,Icecream_Hat,Icecream Hat,5,20,,300,,1,,0,0xFFFFFFFF,7,2,256,,30,1,488,{ skill "MG_DIVER",3; bonus bMdef,3; },{},{} +5500,Icecream_Hat,Icecream Hat,5,20,,300,,1,,0,0xFFFFFFFF,7,2,256,,30,1,488,{ skill "MG_FROSTDIVER",3; bonus bMdef,3; },{},{} 5501,Pirate's_Pride,Pirate's Pride,5,20,,100,,3,,0,0xFFFFFFFF,7,2,256,,10,1,496,{ bonus2 bAddRace2,6,5; bonus2 bSubRace2,6,5; },{},{} 5502,Necromencer's_Hood,Necromancer's Hood,5,,,100,,2,,1,0xFFFFFFFF,7,2,768,,10,1,491,{ bonus5 bAutoSpellWhenHit,"NPC_DARKSTRIKE",5,5,BF_WEAPON|BF_MAGIC,1; },{},{} 5503,Rabbit_Magic_Hat,Magic Rabit Hat,5,20,,800,,2,,0,0xFFFFFFFF,7,2,256,,0,1,497,{ bonus bDex,2; bonus bAgi,2; bonus bMDef,1; bonus bMaxSP,50; bonus3 bAutoSpellWhenHit,"MG_FIREBOLT",1,10; bonus3 bAutoSpellWhenHit,"MG_COLDBOLT",1,10; bonus3 bAutoSpellWhenHit,"MG_LIGHTNINGBOLT",1,10; },{},{} @@ -4860,7 +4860,7 @@ 13418,Krieger_Onehand_Sword3,Glorious Holy Avenger,4,0,,0,130,,1,0,0x000444A2,7,2,2,4,80,1,2,{ bonus bInt,getrefine()-5; bonus bMatkRate,10; bonus bUnbreakableWeapon,0; if(getrefine() > 5) bonus bUseSPrate,-10; if(getrefine() > 8) bonus4 bAutoSpellOnSkill,"PA_PRESSURE","PR_LEXDIVINA",1,1000; if(getrefine() > 9) bonus bInt,5; },{},{} //13419,Holy_Saber //13420,Honglyun's_Sword -13421,Ruber,Ruber,4,20,,1500,170,,1,1,0x000444A2,7,2,2,4,50,1,7,{ autobonus "{ bonus2 bSkillAtk,\"KN_BOWLINGBASH\",20; bonus2 bSkillAtk,\"SM_BASH\",20; }",5,15000,BF_WEAPON,"{ specialeffect2 EF_ENHANCE; }"; },{},{} +13421,Ruber,Ruber,4,20,,1500,170,,1,1,0x000444A2,2,2,2,3,50,1,2,{ autobonus "{ bonus2 bSkillAtk,\"KN_BOWLINGBASH\",20; bonus2 bSkillAtk,\"SM_BASH\",20; }",5,15000,BF_WEAPON,"{ specialeffect2 EF_ENHANCE; }"; },{},{} //13422,Flamberge_C //13426,Cutlas_C //13427,Solar_Sword_C diff --git a/db/mob_db.txt b/db/mob_db.txt index 37295d037..d93b53916 100644 --- a/db/mob_db.txt +++ b/db/mob_db.txt @@ -1022,8 +1022,8 @@ 1975,BEHOLDER_MASTER,Beholder Master,Beholder master,70,24150,0,12075,7245,6,1723,2300,17,30,1,62,25,89,85,32,10,12,2,0,44,0x3885,190,336,840,360,0,0,0,0,0,0,0,0,576,3000,605,100,996,100,985,10,2386,1,2749,1,603,2,0,0,0,0,0,0 1976,COBALT_MINERAL,Cobalt Mineral,Cobalt Mineral,72,29665,0,9866,7899,1,1446,1979,40,30,72,77,35,57,77,32,10,12,2,0,40,0x3885,200,648,480,360,0,0,0,0,0,0,0,0,7321,3000,728,500,13414,1,984,80,1011,800,715,100,969,2,0,0,0,0,0,0 1977,HEAVY_METALING,Heavy Metaling,Heavy Metaling,73,28433,0,9320,7529,1,1350,1700,40,30,73,65,28,40,77,2,10,12,1,0,20,0x3885,200,384,672,480,0,0,0,0,0,0,0,0,7325,4000,1002,1000,998,500,7126,1000,7317,200,13038,1,7312,5000,0,0,0,0,0,0 -1978,HELL_APOCALIPS,Hell Apocalips,Hell Apocalypse,86,65433,0,39260,19630,2,5733,6073,62,23,86,48,30,98,110,85,10,12,3,0,40,0x3885,250,1840,1440,384,0,0,0,0,0,0,0,0,7095,5335,7094,2400,7093,2200,985,5,2391,1,1484,1,999,25,0,0,0,0,0,0 -1979,ZUKDAM,Zukadam,Zakudam,82,43699,0,21850,13110,3,2000,3227,30,30,82,65,35,75,80,15,10,12,3,7,40,0x3885,180,580,288,360,0,0,0,0,0,0,0,0,2390,1,7317,5000,999,500,984,200,985,200,13156,5,13167,5,0,0,0,0,0,0 +1978,HELL_APOCALIPS,Hell Apocalips,Hell Apocalypse,86,65433,0,39260,19630,2,5733,6073,62,23,86,48,30,98,110,85,10,12,2,0,40,0x3885,250,1840,1440,384,0,0,0,0,0,0,0,0,7095,5335,7094,2400,7093,2200,985,5,2391,1,1484,1,999,25,0,0,0,0,0,0 +1979,ZUKDAM,Zukadam,Zakudam,82,43699,0,21850,13110,3,2000,3227,30,30,82,65,35,75,80,15,10,12,2,7,40,0x3885,180,580,288,360,0,0,0,0,0,0,0,0,2390,1,7317,5000,999,500,984,200,985,200,13156,5,13167,5,0,0,0,0,0,0 1980,KUBLIN,Kubkin,Kublin,85,576000,0,100000,100000,1,1180,1400,10,20,1,1,40,85,6,30,10,12,2,7,22,0x37B5,100,1120,620,240,100000,5000,6010,10000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 // Orc Dungeon Instance 1981,I_HIGH_ORC,Safeguard Chief,Safeguard Chief,88,96980,0,3618,1639,1,1428,1533,15,5,55,46,55,35,82,40,10,12,2,7,43,0x3695,150,1500,500,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 @@ -1066,8 +1066,8 @@ 2016,AQUA_ELEMENTAL,Aqua Elemental,Aqua Elemental,83,33220,0,5430,15300,1,400,1600,8,12,1,23,19,87,77,2,10,12,2,0,81,0x3095,250,879,672,576,0,0,0,0,0,0,0,0,6075,1000,12353,100,7326,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0 2017,RATA,Rata,Rata,107,216600,0,70012,34000,1,8000,15000,32,52,1,51,22,132,99,15,10,12,1,7,22,0x3295,150,580,288,360,0,0,0,0,0,0,0,0,12346,5000,6089,500,1026,5000,1548,100,0,0,0,0,0,0,0,0,0,0,0,0 2018,DUNEYRR,Duneyrr,Duneyrr,107,265100,0,83030,52000,1,16000,19000,39,35,1,60,45,89,105,15,10,12,2,7,62,0x3295,160,1446,1296,360,0,0,0,0,0,0,0,0,515,5000,6089,500,1188,10,6020,4000,2783,2,1384,100,0,0,0,0,0,0,0,0 -2019,ANCIENT_TREE,Ancient Tree,Ancient Tree,102,30030,0,11020,8900,1,13200,17400,39,43,1,30,73,58,45,30,10,12,2,3,62,0x84,200,1264,864,288,0,0,0,0,0,0,0,0,7197,1000,7201,5000,2450,30,7198,1000,1643,10,0,0,0,0,0,0,0,0,0,0 -2020,RHYNCHO,Rhyncho,Rhyncho,85,18900,0,2040,6000,1,350,2350,5,19,1,56,12,35,89,10,10,12,0,0,61,0x84,150,1120,620,240,0,0,0,0,0,0,0,0,7326,5000,6087,500,972,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2019,ANCIENT_TREE,Ancient Tree,Ancient Tree,102,30030,0,11020,8900,1,13200,17400,39,43,1,30,73,58,45,30,10,12,2,3,62,0x308D,200,1264,864,288,0,0,0,0,0,0,0,0,7197,1000,7201,5000,2450,30,7198,1000,1643,10,0,0,0,0,0,0,0,0,0,0 +2020,RHYNCHO,Rhyncho,Rhyncho,85,18900,0,2040,6000,1,350,2350,5,19,1,56,12,35,89,10,10,12,0,0,61,0x308D,150,1120,620,240,0,0,0,0,0,0,0,0,7326,5000,6087,500,972,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0 2021,PHYLLA,Phylla,Phylla,85,23880,0,2040,6600,1,350,2250,8,22,1,59,15,25,99,10,10,12,0,0,61,0x2085,150,1320,620,240,0,0,0,0,0,0,0,0,7326,5000,6088,500,971,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0 2022,S_NYDHOG,Nidhoggr's Shadow,Nidhoggr's Shadow,117,3450000,0,4800000,3900000,1,17000,49000,60,75,1,34,62,236,188,34,10,12,2,9,87,0x37B5,100,76,384,288,2400000,1000,0,0,0,0,0,0,7444,5000,1484,500,1417,500,2610,5000,1170,500,2554,2000,0,0,0,0,0,0,0,0 2023,DARK_SHADOW,Dark Shadow,Dark Shadow,114,42900,0,21000,14000,1,10000,15000,35,44,1,23,12,145,102,60,10,12,0,0,87,0x3195,180,1732,1332,540,0,0,0,0,0,0,0,0,7205,5000,13038,5,2783,5,2609,1000,6089,1000,1385,10,0,0,0,0,0,0,0,0 diff --git a/npc/Changelog.txt b/npc/Changelog.txt index c1e2529c2..b57473151 100644 --- a/npc/Changelog.txt +++ b/npc/Changelog.txt @@ -1,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. diff --git a/npc/quests/collection/quest_alligator.txt b/npc/quests/collection/quest_alligator.txt new file mode 100644 index 000000000..03802eab3 --- /dev/null +++ b/npc/quests/collection/quest_alligator.txt @@ -0,0 +1,242 @@ +//===== eAthena Script ======================================= +//= iRO Repeatable EXP Quests. +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Added Monster Killing quests. +//= Repeatable EXP Quest (Anolian Skins) +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +cmd_fild01,362,256,3 script Cuir#Gator_Hunt 106,{ + if (checkquest(60119) != -1) { + if (checkquest(60119,HUNTING) != 2 ) { + mes "[Cuir]"; + mes "Have you finished hunting the 50 Alligators?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Cuir]"; + mes "Hmm, I don't think you've hunted 50 yet..."; + close; + case 2: + mes "[Cuir]"; + mes "Remember, I need help hunting Alligators so go and hunt 50 of them."; + close; + case 3: + mes "[Cuir]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Cuir]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60119; + close; + case 2: + mes "[Cuir]"; + mes "Please kill 50 Alligators."; + close; + } + } + } + else { + mes "[Cuir]"; + mes "Amazing, you did that with speed."; + getexp 68950,43300; + erasequest 60119; + close; + } + } + if (checkquest(60120) != -1) { + if (checkquest(60120,HUNTING) != 2 ) { + mes "[Cuir]"; + mes "Have you finished hunting the 50 Alligators?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Cuir]"; + mes "Hmm, I don't think you've hunted 100 yet..."; + close; + case 2: + mes "[Cuir]"; + mes "Remember, I need help hunting Alligators so go and hunt 100 of them."; + close; + case 3: + mes "[Cuir]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Cuir]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60120; + close; + case 2: + mes "[Cuir]"; + mes "Please kill 100 Alligators."; + close; + } + } + } + else { + mes "[Cuir]"; + mes "Amazing, you did that with speed."; + getexp 68950,43300; + getexp 68950,43300; + erasequest 60120; + close; + } + } + if (checkquest(60121) != -1) { + if (checkquest(60121,HUNTING) != 2 ) { + mes "[Cuir]"; + mes "Have you finished hunting the 150 Alligators?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Cuir]"; + mes "Hmm, I don't think you've hunted 150 yet..."; + close; + case 2: + mes "[Cuir]"; + mes "Remember, I need help hunting Alligators so go and hunt 150 of them."; + close; + case 3: + mes "[Cuir]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Cuir]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60121; + close; + case 2: + mes "[Cuir]"; + mes "Please kill 150 Alligators."; + close; + } + } + } + else { + mes "[Cuir]"; + mes "Amazing, you did that with speed."; + getexp 68950,43300; + getexp 68950,43300; + getexp 68950,43300; + erasequest 60121; + close; + } + } + //for minimum level + if (BaseLevel > 44) { + //for maximum level + if (BaseLevel < 81) { + mes "[Cuir]"; + mes "You look like a sturdy adventurer!"; + next; + mes "[Cuir]"; + mes "I was sent here to minimize the Alligator population but the task is proving to be quite difficult for just me to complete."; + mes "How'd you like to help me out?"; + next; + switch(select("Sure:No")) { + case 1: + mes "[Cuir]"; + mes "You can help me out by either hunting Alligators or by gathering items for me."; + mes "Which would you like to do?"; + next; + switch(select("Gather Items:Hunt Alligators:Cancel")) { + case 1: + // Item turn in + mes "[Cuir]"; + mes "If you can bring me ^00CC0020 Anolian Skins^000000. I'll help you get stronger."; + next; + switch(select("I have the Anolian Skins:Gators bite!")) { + case 1: + /* + if (checkweight(503,10) == 0) { + mes "[Cuir]"; + mes "Hey, it looks like that the weight on"; + mes "your back will crush you. Come back"; + mes "after you have lost some weight."; + close; + } + */ + if (countitem(7003) > 19) { + mes "[Cuir]"; + mes "Thank you for the ^00CE0020 Anolian Skins^000000!"; + mes "I hope you can continue to help me collect these skins."; + mes "The armor creators around the world are clamoring for them."; + delitem 7003,20; //Anolian_Skin + getexp 68950,43300; + //getitem 503,10; //Yellow_Potion + close; + } + else { + mes "[Cuir]"; + mes "I know a gator skin when I see it and I don't see ^00CE0020 Anolian Skins^000000."; + close; + } + case 2: + mes "[Cuir]"; + mes "I need ^00CE0020 Anolian Skins^000000."; + close; + } + case 2: + // Kill Count Quest + mes "[Cuir]"; + mes "Ah, ok I think you can help me out by hunting some Alligators."; + mes "How many would you like to hunt?"; + next; + switch(select("50 Alligators:100 Alligators:150 Alligators")) { + case 1: + mes "[Cuir]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60119; + close; + case 2: + mes "[Cuir]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60120; + close; + case 3: + mes "[Cuir]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60121; + close; + } + case 3: + mes "[Cuir]"; + mes "If you change your mind, please come back."; + close; + } + case 2: + mes "[Cuir]"; + mes "If you change your mind, please come back."; + close; + } + } + else { + mes "[Cuir]"; + mes "You are too powerful for this task, I need the skins in fair condition, not exploded!"; + next; + close; + } + } + else { + mes "[Cuir]"; + mes "You certainly are brave, but bravery turns to foolishness if you continue going East."; + mes "Perhaps when you are stronger you and I can do business."; + close; + } +} diff --git a/npc/quests/collection/quest_caramel.txt b/npc/quests/collection/quest_caramel.txt new file mode 100644 index 000000000..109e6abfe --- /dev/null +++ b/npc/quests/collection/quest_caramel.txt @@ -0,0 +1,242 @@ +//===== eAthena Script ======================================= +//= iRO Repeatable EXP Quests. +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Added Monster Killing quests. +//= Repeatable EXP Quest (Porcupine Quills) +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +mjolnir_01,296,29,6 script Yullo#Caramel_Hunt 95,{ + if (checkquest(60116) != -1) { + if (checkquest(60116,HUNTING) != 2 ) { + mes "[Yullo]"; + mes "Have you finished hunting the 50 Caramels?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Yullo]"; + mes "Hmm, I don't think you've hunted 50 yet..."; + close; + case 2: + mes "[Yullo]"; + mes "Remember, I need help hunting Caramels so go and hunt 50 of them."; + close; + case 3: + mes "[Yullo]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Yullo]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60116; + close; + case 2: + mes "[Yullo]"; + mes "Please kill 50 Caramels."; + close; + } + } + } + else { + mes "[Yullo]"; + mes "Amazing, you did that with speed."; + getexp 10425,6272; + erasequest 60116; + close; + } + } + if (checkquest(60117) != -1) { + if (checkquest(60117,HUNTING) != 2 ) { + mes "[Yullo]"; + mes "Have you finished hunting the 50 Caramels?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Yullo]"; + mes "Hmm, I don't think you've hunted 100 yet..."; + close; + case 2: + mes "[Yullo]"; + mes "Remember, I need help hunting Caramels so go and hunt 100 of them."; + close; + case 3: + mes "[Yullo]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Yullo]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60117; + close; + case 2: + mes "[Yullo]"; + mes "Please kill 100 Caramels."; + close; + } + } + } + else { + mes "[Yullo]"; + mes "Amazing, you did that with speed."; + getexp 10425,6272; + getexp 10425,6272; + erasequest 60117; + close; + } + } + if (checkquest(60118) != -1) { + if (checkquest(60118,HUNTING) != 2 ) { + mes "[Yullo]"; + mes "Have you finished hunting the 150 Caramels?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Yullo]"; + mes "Hmm, I don't think you've hunted 150 yet..."; + close; + case 2: + mes "[Yullo]"; + mes "Remember, I need help hunting Caramels so go and hunt 150 of them."; + close; + case 3: + mes "[Yullo]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Yullo]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60118; + close; + case 2: + mes "[Yullo]"; + mes "Please kill 150 Caramels."; + close; + } + } + } + else { + mes "[Yullo]"; + mes "Amazing, you did that with speed."; + getexp 10425,6272; + getexp 10425,6272; + getexp 10425,6272; + erasequest 60118; + close; + } + } + //for minimum level + if (BaseLevel > 23) { + //for maximum level + if (BaseLevel < 61) { + mes "[Yullo]"; + mes "I can't, no more and I mean it."; + mes "Look at me I am serious I can't kill any more of these things."; + next; + switch(select("What things?:Ignore.")) { + case 1: + mes "[Yullo]"; + mes "You know what, here is an idea."; + mes "You can gather them and I can give you a reward for your efforts!"; + next; + switch(select("Gather Items:Hunt Caramels:Cancel")) { + case 1: + // Item turn in + mes "[Yullo]"; + mes "Ok, so I need 25 Porcupine"; + mes "Quill's."; + mes "Please tell me you have some or can"; + mes "help me"; + next; + switch(select("I have Porcupine Quills:Well I don't think I can help.")) { + case 1: + /* + if (checkweight(501,10) == 0) { + mes "[Yullo]"; + mes "Hey, it looks like that the weight on"; + mes "your back will crush you. Come back"; + mes "after you have lost some weight."; + close; + } + */ + if (countitem(1027) > 24) { + mes "[Yullo]"; + mes "Great, you have enough!"; + mes "Just like I promised a little reward."; + delitem 1027,25; //Porcupine_Spike + getexp 10425,6272; + //getitem 501,10; //Red_Potion + close; + } + else { + mes "[Yullo]"; + mes "Where are the Porcupine Quills?"; + mes "You think I wouldn't notice?"; + close; + } + case 2: + mes "[Yullo]"; + mes "I need ^00CE0025 Porcupine Quills^000000."; + close; + } + case 2: + // Kill Count Quest + mes "[Yullo]"; + mes "Ah, ok I think you can help me out by hunting some Caramels."; + mes "How many would you like to hunt?"; + next; + switch(select("50 Caramels:100 Caramels:150 Caramels")) { + case 1: + mes "[Yullo]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60116; + close; + case 2: + mes "[Yullo]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60117; + close; + case 3: + mes "[Yullo]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60118; + close; + } + case 3: + mes "[Yullo]"; + mes "If you change your mind, please come back."; + close; + } + case 2: + mes "[Yullo]"; + mes "If you change your mind, please come back."; + close; + } + } + else { + mes "[Yullo]"; + mes "Hello, my name is Yullo."; + mes "Now wait a minute, are you not a little too high of level for this?"; + close; + } + } + else { + mes "[Yullo]"; + mes "Hmm, this maybe a little much of a request for you."; + mes "Come back when you are taller and stronger."; + close; + } +} diff --git a/npc/quests/collection/quest_coco.txt b/npc/quests/collection/quest_coco.txt new file mode 100644 index 000000000..ae64b19cd --- /dev/null +++ b/npc/quests/collection/quest_coco.txt @@ -0,0 +1,243 @@ +//===== eAthena Script ======================================= +//= iRO Repeatable EXP Quests. +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Added Monster Killing quests. +//= Repeatable EXP Quest (Acorns) +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +mjolnir_01,293,20,3 script Nutters#Coco_Hunt 779,{ + if (checkquest(60113) != -1) { + if (checkquest(60113,HUNTING) != 2 ) { + mes "[Nutters]"; + mes "Have you finished hunting the 50 Cocos?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Nutters]"; + mes "Hmm, I don't think you've hunted 50 yet..."; + close; + case 2: + mes "[Nutters]"; + mes "Remember, I need help hunting Cocos so go and hunt 50 of them."; + close; + case 3: + mes "[Nutters]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Nutters]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60113; + close; + case 2: + mes "[Nutters]"; + mes "Please kill 50 Cocos."; + close; + } + } + } + else { + mes "[Nutters]"; + mes "Amazing, you did that with speed."; + getexp 3600,3905; + erasequest 60113; + close; + } + } + if (checkquest(60114) != -1) { + if (checkquest(60114,HUNTING) != 2 ) { + mes "[Nutters]"; + mes "Have you finished hunting the 50 Cocos?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Nutters]"; + mes "Hmm, I don't think you've hunted 100 yet..."; + close; + case 2: + mes "[Nutters]"; + mes "Remember, I need help hunting Cocos so go and hunt 100 of them."; + close; + case 3: + mes "[Nutters]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Nutters]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60114; + close; + case 2: + mes "[Nutters]"; + mes "Please kill 100 Cocos."; + close; + } + } + } + else { + mes "[Nutters]"; + mes "Amazing, you did that with speed."; + getexp 3600,3905; + getexp 3600,3905; + erasequest 60114; + close; + } + } + if (checkquest(60115) != -1) { + if (checkquest(60115,HUNTING) != 2 ) { + mes "[Nutters]"; + mes "Have you finished hunting the 150 Cocos?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Nutters]"; + mes "Hmm, I don't think you've hunted 150 yet..."; + close; + case 2: + mes "[Nutters]"; + mes "Remember, I need help hunting Cocos so go and hunt 150 of them."; + close; + case 3: + mes "[Nutters]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Nutters]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60115; + close; + case 2: + mes "[Nutters]"; + mes "Please kill 150 Cocos."; + close; + } + } + } + else { + mes "[Nutters]"; + mes "Amazing, you did that with speed."; + getexp 3600,3905; + getexp 3600,3905; + getexp 3600,3905; + erasequest 60115; + close; + } + } + //for minimum level + if (BaseLevel > 17) { + //for maximum level + if (BaseLevel < 60) { + mes "[Nutters]"; + mes "I..I just can't seem to find any."; + mes "Pesky Coco's have hidden all the Acorns."; + mes "Do you think you could help me?"; + next; + switch(select("Sure:No")) { + case 1: + mes "[Nutters]"; + mes "Oh, that's great! I knew I could count on you, just from looking at you!"; + next; + switch(select("Gather Items:Hunt Cocos:Cancel")) { + case 1: + // Item turn in + mes "[Nutters]"; + mes "Can you help me find ^00CE0025 Acorns^000000."; + mes "I will reward you with much if you can."; + next; + switch(select("I have 25 Acorns:Please come again?")) { + case 1: + /* + if (checkweight(502,5) == 0) { + mes "[Nutters]"; + mes "Hey, it looks like that the weight on"; + mes "your back will crush you. Come back"; + mes "after you have lost some weight."; + close; + } + */ + if (countitem(1026) > 24) { + mes "[Nutters]"; + mes "Oh great you found out where they were hiding them."; + mes "Gimme Gimme!!!"; + next; + mes "[Nutters]"; + mes "Oh that's right, sorry I just love roasting Acorns. Mmm."; + mes "Here is what I promised you."; + delitem 1026,25; //Acorn + getexp 3600,3905; + //getitem 502,5; //Orange_Potion + close; + } + else { + mes "[Nutters]"; + mes "Where are my ^00CE00Acorns^000000?"; + mes "Hey, I'm not playing, you better not hold out on me."; + close; + } + case 2: + mes "[Nutters]"; + mes "I need ^00CE0025 Acorns^000000."; + close; + } + case 2: + // Kill Count Quest + mes "[Nutters]"; + mes "Ah, ok I think you can help me out by hunting some Cocos."; + mes "How many would you like to hunt?"; + next; + switch(select("50 Cocos:100 Cocos:150 Cocos")) { + case 1: + mes "[Nutters]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60113; + close; + case 2: + mes "[Nutters]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60114; + close; + case 3: + mes "[Nutters]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60115; + close; + } + case 3: + mes "[Nutters]"; + mes "If you change your mind, please come back."; + close; + } + case 2: + mes "[Nutters]"; + mes "If you change your mind, please come back."; + close; + } + } + else { + mes "[Nutters]"; + mes "You are much to strong to be fighting these things!"; + close; + } + } + else { + mes "[Nutters]"; + mes "You are just too small to fight these things for me."; + mes "Can you get a little taller then return?"; + close; + } +} diff --git a/npc/quests/collection/quest_creamy.txt b/npc/quests/collection/quest_creamy.txt new file mode 100644 index 000000000..6e7eb2d0f --- /dev/null +++ b/npc/quests/collection/quest_creamy.txt @@ -0,0 +1,248 @@ +//===== eAthena Script ======================================= +//= iRO Repeatable EXP Quests. +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Added Monster Killing quests. (Dialog is semi-custom) +//= Repeatable EXP Quest (Powder of Butterfly) +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +prt_fild04,356,148,3 script Laertes#Creamy_Hunt 798,{ + if (checkquest(60122) != -1) { + if (checkquest(60122,HUNTING) != 2 ) { + mes "[Laertes]"; + mes "Have you finished hunting the 50 Creamys?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Laertes]"; + mes "Hmm, I don't think you've hunted 50 yet..."; + close; + case 2: + mes "[Laertes]"; + mes "Remember, I need help hunting Creamys so go and hunt 50 of them."; + close; + case 3: + mes "[Laertes]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Laertes]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60122; + close; + case 2: + mes "[Laertes]"; + mes "Please kill 50 Creamys."; + close; + } + } + } + else { + mes "[Laertes]"; + mes "Amazing, you did that with speed."; + getexp 2950,1125; + erasequest 60122; + close; + } + } + if (checkquest(60123) != -1) { + if (checkquest(60123,HUNTING) != 2 ) { + mes "[Laertes]"; + mes "Have you finished hunting the 50 Creamys?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Laertes]"; + mes "Hmm, I don't think you've hunted 100 yet..."; + close; + case 2: + mes "[Laertes]"; + mes "Remember, I need help hunting Creamys so go and hunt 100 of them."; + close; + case 3: + mes "[Laertes]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Laertes]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60123; + close; + case 2: + mes "[Laertes]"; + mes "Please kill 100 Creamys."; + close; + } + } + } + else { + mes "[Laertes]"; + mes "Amazing, you did that with speed."; + getexp 2950,1125; + getexp 2950,1125; + erasequest 60123; + close; + } + } + if (checkquest(60124) != -1) { + if (checkquest(60124,HUNTING) != 2 ) { + mes "[Laertes]"; + mes "Have you finished hunting the 150 Creamys?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Laertes]"; + mes "Hmm, I don't think you've hunted 150 yet..."; + close; + case 2: + mes "[Laertes]"; + mes "Remember, I need help hunting Creamys so go and hunt 150 of them."; + close; + case 3: + mes "[Laertes]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Laertes]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60124; + close; + case 2: + mes "[Laertes]"; + mes "Please kill 150 Creamys."; + close; + } + } + } + else { + mes "[Laertes]"; + mes "Amazing, you did that with speed."; + getexp 2950,1125; + getexp 2950,1125; + getexp 2950,1125; + erasequest 60124; + close; + } + } + //for minimum level + if (BaseLevel > 14) { + //for maximum level + if (BaseLevel < 45) { + mes "[Laertes]"; + mes "Good Morning!"; + mes "Perhaps you could help me?"; + next; + switch(select("Sure:No")) { + case 1: + mes "[Laertes]"; + mes "I work for an apothecary in Prontera."; + mes "I come here to collect materials for medicine."; + next; + switch(select("Gather Items:Hunt Creamys:Cancel")) { + case 1: + // Item turn in + mes "[Laertes]"; + mes "I need to have a good supply of ^FF0000Powder of Butterfly^000000"; + next; + switch(select("I have Powder of Butterfly:What did you need?")) { + case 1: + /* + if (checkweight(502,5) == 0) { + mes "[Laertes]"; + mes "Hey, it looks like that the weight on"; + mes "your back will crush you. Come back"; + mes "after you have lost some weight."; + close; + } + */ + if (countitem(924) > 24) { + mes "[Laertes]"; + mes "Hey, thank you again."; + mes "Here you go, as promised."; + delitem 924,25; //Powder_Of_Butterfly + getexp 2950,1125; + //getitem 502,5; //Orange_Potion + close; + } + else { + mes "[Laertes]"; + mes "It doesn't look like you have enough."; + next; + mes "[Laertes]"; + mes "If you bring me ^FF000025 Powder of Butterfly^000000,"; + mes "I will give you some medical supplies."; + close; + } + case 2: + mes "[Laertes]"; + mes "If you bring me ^FF000025 Powder of Butterfly^000000,"; + mes "I will give you some medical supplies."; + close; + } + case 2: + // Kill Count Quest + mes "[Laertes]"; + mes "Ah, ok I think you can help me out by hunting some Creamys."; + mes "How many would you like to hunt?"; + next; + switch(select("50 Creamys:100 Creamys:150 Creamys")) { + case 1: + mes "[Laertes]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60122; + close; + case 2: + mes "[Laertes]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60123; + close; + case 3: + mes "[Laertes]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60124; + close; + } + case 3: + mes "[Laertes]"; + mes "If you change your mind, please come back."; + close; + } + case 2: + mes "[Laertes]"; + mes "If you change your mind, please come back."; + close; + } + } + else { + mes "[Laertes]"; + mes "Good Morning!"; + next; + mes "[Laertes]"; + mes "I work for an apothecary in Prontera"; + mes "I come here to collect materials for medicine."; + close; + } + } + else { + mes "[Laertes]"; + mes "Your level is too low!"; + next; + mes "[Laertes]"; + mes "Go kill more Porings!"; + close; + } +} diff --git a/npc/quests/collection/quest_demonpungus.txt b/npc/quests/collection/quest_demonpungus.txt new file mode 100644 index 000000000..697a180bc --- /dev/null +++ b/npc/quests/collection/quest_demonpungus.txt @@ -0,0 +1,244 @@ +//===== eAthena Script ======================================= +//= iRO Repeatable EXP Quests. +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Added Monster Killing quests. +//= Repeatable EXP Quest (Bacillus) +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +ein_fild01,43,249,0 script Local Villager#hunt 898,{ + if (checkquest(60125) != -1) { + if (checkquest(60125,HUNTING) != 2 ) { + mes "[Local Villager]"; + mes "Have you finished hunting the 50 Demon Pungus?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Local Villager]"; + mes "Hmm, I don't think you've hunted 50 yet..."; + close; + case 2: + mes "[Local Villager]"; + mes "Remember, I need help hunting Demon Pungus so go and hunt 50 of them."; + close; + case 3: + mes "[Local Villager]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Local Villager]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60125; + close; + case 2: + mes "[Local Villager]"; + mes "Please kill 50 Demon Pungus."; + close; + } + } + } + else { + mes "[Local Villager]"; + mes "Amazing, you did that with speed."; + getexp 250266,144452; + erasequest 60125; + close; + } + } + if (checkquest(60126) != -1) { + if (checkquest(60126,HUNTING) != 2 ) { + mes "[Local Villager]"; + mes "Have you finished hunting the 50 Demon Pungus?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Local Villager]"; + mes "Hmm, I don't think you've hunted 100 yet..."; + close; + case 2: + mes "[Local Villager]"; + mes "Remember, I need help hunting Demon Pungus so go and hunt 100 of them."; + close; + case 3: + mes "[Local Villager]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Local Villager]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60126; + close; + case 2: + mes "[Local Villager]"; + mes "Please kill 100 Demon Pungus."; + close; + } + } + } + else { + mes "[Local Villager]"; + mes "Amazing, you did that with speed."; + getexp 250266,144452; + getexp 250266,144452; + erasequest 60126; + close; + } + } + if (checkquest(60127) != -1) { + if (checkquest(60127,HUNTING) != 2 ) { + mes "[Local Villager]"; + mes "Have you finished hunting the 150 Demon Pungus?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Local Villager]"; + mes "Hmm, I don't think you've hunted 150 yet..."; + close; + case 2: + mes "[Local Villager]"; + mes "Remember, I need help hunting Demon Pungus so go and hunt 150 of them."; + close; + case 3: + mes "[Local Villager]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Local Villager]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60127; + close; + case 2: + mes "[Local Villager]"; + mes "Please kill 150 Demon Pungus."; + close; + } + } + } + else { + mes "[Local Villager]"; + mes "Amazing, you did that with speed."; + getexp 250266,144452; + getexp 250266,144452; + getexp 250266,144452; + erasequest 60127; + close; + } + } + //for minimum level + if (BaseLevel > 59) { + //for maximum level + if (BaseLevel < 75) { + mes "[Local Villager]"; + mes "Hey, you there. Yeah you!"; + mes "Do you think you can help me with something?"; + next; + switch(select("Sure:No")) { + case 1: + mes "[Local Villager]"; + mes "I am trying to make my way through but I can't seem to get past these Demon Pungus."; + next; + switch(select("Gather Items:Hunt Demon Pungus:Cancel")) { + case 1: + // Item turn in + mes "[Local Villager]"; + mes "Can you help by collecting ^FF0000Bacillus^000000?"; + mes "I will reward you for helping clear this out for me."; + next; + switch(select("I have Bacillus:What did you need?")) { + case 1: + /* + if (checkweight(504,10) == 0) { + mes "[Local Villager]"; + mes "Hey, it looks like that the weight on"; + mes "your back will crush you. Come back"; + mes "after you have lost some weight."; + close; + } + */ + if (countitem(7119) > 49) { + mes "[Local Villager]"; + mes "I had my doubts, but you have proven me wrong."; + delitem 7119,50; //Spawns + getexp 250266,144452; + //getitem 504,10; //White_Potion + close; + } + else { + mes "[Local Villager]"; + mes "It doesn't look like you have enough."; + next; + mes "[Local Villager]"; + mes "I need to see that you have gathered ^FF000050 Bacillus^000000, and then I can reward you."; + close; + } + case 2: + mes "[Local Villager]"; + mes "I need to see that you have gathered ^FF000050 Bacillus^000000, and then I can reward you."; + close; + } + case 2: + // Kill Count Quest + mes "[Local Villager]"; + mes "Ah, ok I think you can help me out by hunting some Demon Pungus."; + mes "How many would you like to hunt?"; + next; + switch(select("50 Demon Pungus:100 Demon Pungus:150 Demon Pungus")) { + case 1: + mes "[Local Villager]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60125; + close; + case 2: + mes "[Local Villager]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60126; + close; + case 3: + mes "[Local Villager]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60127; + close; + } + case 3: + mes "[Local Villager]"; + mes "If you change your mind, please come back."; + close; + } + case 2: + mes "[Local Villager]"; + mes "If you change your mind, please come back."; + close; + } + } + else { + mes "[Local Villager]"; + mes "Um, um. I don't think.."; + next; + mes "[Local Villager]"; + mes "Yeah, sorry I can't talk right now."; + close; + } + } + else { + mes "[Local Villager]"; + mes "Its amazing, truly it is."; + mes "I just wish I could get through this all."; + close; + } +} + + diff --git a/npc/quests/collection/quest_dokebi.txt b/npc/quests/collection/quest_dokebi.txt new file mode 100644 index 000000000..c6233dc7b --- /dev/null +++ b/npc/quests/collection/quest_dokebi.txt @@ -0,0 +1,234 @@ +//===== eAthena Script ======================================= +//= iRO Repeatable EXP Quests. +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Added Monster Killing quests. +//= Repeatable EXP Quest (Dokebi Horns) +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +pay_fild10,108,357,5 script Li#Dokebi_Hunt 90,{ + if (checkquest(60128) != -1) { + if (checkquest(60128,HUNTING) != 2 ) { + mes "[Li]"; + mes "Have you finished hunting the 50 Dokebis?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Li]"; + mes "Hmm, I don't think you've hunted 50 yet..."; + close; + case 2: + mes "[Li]"; + mes "Remember, I need help hunting Dokebis so go and hunt 50 of them."; + close; + case 3: + mes "[Li]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Li]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60128; + close; + case 2: + mes "[Li]"; + mes "Please kill 50 Dokebis."; + close; + } + } + } + else { + mes "[Li]"; + mes "Amazing, you did that with speed."; + getexp 42000,36000; + erasequest 60128; + close; + } + } + if (checkquest(60129) != -1) { + if (checkquest(60129,HUNTING) != 2 ) { + mes "[Li]"; + mes "Have you finished hunting the 50 Dokebis?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Li]"; + mes "Hmm, I don't think you've hunted 100 yet..."; + close; + case 2: + mes "[Li]"; + mes "Remember, I need help hunting Dokebis so go and hunt 100 of them."; + close; + case 3: + mes "[Li]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Li]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60129; + close; + case 2: + mes "[Li]"; + mes "Please kill 100 Dokebis."; + close; + } + } + } + else { + mes "[Li]"; + mes "Amazing, you did that with speed."; + getexp 42000,36000; + getexp 42000,36000; + erasequest 60129; + close; + } + } + if (checkquest(60130) != -1) { + if (checkquest(60130,HUNTING) != 2 ) { + mes "[Li]"; + mes "Have you finished hunting the 150 Dokebis?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Li]"; + mes "Hmm, I don't think you've hunted 150 yet..."; + close; + case 2: + mes "[Li]"; + mes "Remember, I need help hunting Dokebis so go and hunt 150 of them."; + close; + case 3: + mes "[Li]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Li]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60130; + close; + case 2: + mes "[Li]"; + mes "Please kill 150 Dokebis."; + close; + } + } + } + else { + mes "[Li]"; + mes "Amazing, you did that with speed."; + getexp 42000,36000; + getexp 42000,36000; + getexp 42000,36000; + erasequest 60130; + close; + } + } + //for minimum level + if (BaseLevel > 34) { + //for maximum level + if (BaseLevel < 71) { + mes "[Li]"; + mes "Hello. DO you think you could help me?"; + next; + switch(select("Sure:No")) { + case 1: + mes "[Li]"; + mes "There are so many Dokebis here...I just don't feel safe."; + next; + switch(select("Gather Items:Hunt Dokebis:Cancel")) { + case 1: + // Item turn in + mes "[Li]"; + mes "My fortune teller business needs a good supply of ^FF0000Dokebi Horns^000000 to give my customers good luck."; + next; + switch(select("I have some Dokebi Horns:What did you need?")) { + case 1: + if (countitem(1021) > 49) { + mes "[Li]"; + mes "Oh, great!"; + mes "Thank you for the horns."; + delitem 1021,50; //Dokkaebi_Horn + getexp 42000,36000; + close; + } + else { + mes "[Li]"; + mes "It doesn't look like you have enough."; + next; + mes "[Li]"; + mes "I need ^FF000050 Dokebi Horns^000000 for my fortune telling."; + close; + } + case 2: + mes "[Li]"; + mes "If you bring me"; + mes "^FF000050 Dokebi Horns^000000, I can give you some good luck."; + close; + } + case 2: + // Kill Count Quest + mes "[Li]"; + mes "Ah, ok I think you can help me out by hunting some Dokebis."; + mes "How many would you like to hunt?"; + next; + switch(select("50 Dokebis:100 Dokebis:150 Dokebis")) { + case 1: + mes "[Li]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60128; + close; + case 2: + mes "[Li]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60129; + close; + case 3: + mes "[Li]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60130; + close; + } + case 3: + mes "[Li]"; + mes "If you change your mind, please come back."; + close; + } + case 2: + mes "[Li]"; + mes "If you change your mind, please come back."; + close; + } + } + else { + mes "[Li]"; + mes "Hello"; + mes "I read fortunes in Payon."; + close; + } + } + else { + mes "[Li]"; + mes "This place is dangerous!"; + next; + mes "[Li]"; + mes "You should leave quickly!"; + close; + } +} + + diff --git a/npc/quests/collection/quest_dryad.txt b/npc/quests/collection/quest_dryad.txt new file mode 100644 index 000000000..7fff46451 --- /dev/null +++ b/npc/quests/collection/quest_dryad.txt @@ -0,0 +1,242 @@ +//===== eAthena Script ======================================= +//= iRO Repeatable EXP Quests. +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Added Monster Killing quests. +//= Repeatable EXP Quest (Sharp Leaves) +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +um_fild01,34,281,5 script Lilla#Dryad_Hunt 724,{ + if (checkquest(60131) != -1) { + if (checkquest(60131,HUNTING) != 2 ) { + mes "[Lilla]"; + mes "Have you finished hunting the 50 Dryads?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Lilla]"; + mes "Hmm, I don't think you've hunted 50 yet..."; + close; + case 2: + mes "[Lilla]"; + mes "Remember, I need help hunting Dryads so go and hunt 50 of them."; + close; + case 3: + mes "[Lilla]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Lilla]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60131; + close; + case 2: + mes "[Lilla]"; + mes "Please kill 50 Dryads."; + close; + } + } + } + else { + mes "[Lilla]"; + mes "Amazing, you did that with speed."; + getexp 262485,141835; + erasequest 60131; + close; + } + } + if (checkquest(60132) != -1) { + if (checkquest(60132,HUNTING) != 2 ) { + mes "[Lilla]"; + mes "Have you finished hunting the 50 Dryads?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Lilla]"; + mes "Hmm, I don't think you've hunted 100 yet..."; + close; + case 2: + mes "[Lilla]"; + mes "Remember, I need help hunting Dryads so go and hunt 100 of them."; + close; + case 3: + mes "[Lilla]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Lilla]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60132; + close; + case 2: + mes "[Lilla]"; + mes "Please kill 100 Dryads."; + close; + } + } + } + else { + mes "[Lilla]"; + mes "Amazing, you did that with speed."; + getexp 262485,141835; + getexp 262485,141835; + erasequest 60132; + close; + } + } + if (checkquest(60133) != -1) { + if (checkquest(60133,HUNTING) != 2 ) { + mes "[Lilla]"; + mes "Have you finished hunting the 150 Dryads?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Lilla]"; + mes "Hmm, I don't think you've hunted 150 yet..."; + close; + case 2: + mes "[Lilla]"; + mes "Remember, I need help hunting Dryads so go and hunt 150 of them."; + close; + case 3: + mes "[Lilla]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Lilla]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60133; + close; + case 2: + mes "[Lilla]"; + mes "Please kill 150 Dryads."; + close; + } + } + } + else { + mes "[Lilla]"; + mes "Amazing, you did that with speed."; + getexp 262485,141835; + getexp 262485,141835; + getexp 262485,141835; + erasequest 60133; + close; + } + } + //for minimum level + if (BaseLevel > 59) { + //for maximum level + if (BaseLevel < 86) { + mes "[Lilla]"; + mes "Why hello!"; + mes "You look like someone who is willing to help a lil thing like myself out."; + next; + switch(select("Sure:No")) { + case 1: + mes "[Lilla]"; + mes "Really?!"; + mes "That's great!"; + next; + switch(select("Gather Items:Hunt Dryads:Cancel")) { + case 1: + // Item turn in + mes "[Lilla]"; + mes "I really need to gather ^00CE0050 Sharp Leafs^000000 for my garden tea party."; + mes "Do you have any?"; + next; + switch(select("I have some Sharp Leafs:What did you need?")) { + case 1: + /* + if (checkweight(504,10) == 0) { + mes "[Lilla]"; + mes "Hey, it looks like that the weight on"; + mes "your back will crush you. Come back"; + mes "after you have lost some weight."; + close; + } + */ + if (countitem(7100) > 49) { + mes "[Lilla]"; + mes "Hey, your a sweet little thing."; + mes "Thanks so much for helping me!"; + next; + mes "[Lilla]"; + mes "Oh, I almost forgot. I have something for you ^_^"; + mes "Thank you so much again for your help."; + delitem 7100,50; //Sharp_Leaf + getexp 262485,141835; + //getitem 504,10; //White_Potion + close; + } + else { + mes "[Lilla]"; + mes "Why, I may look cute and silly but please don't play games with me."; + close; + } + case 2: + mes "[Lilla]"; + mes "I need ^00CE0050 Sharp Leafs^000000."; + close; + } + case 2: + // Kill Count Quest + mes "[Lilla]"; + mes "Ah, ok I think you can help me out by hunting some Dryads."; + mes "How many would you like to hunt?"; + next; + switch(select("50 Dryads:100 Dryads:150 Dryads")) { + case 1: + mes "[Lilla]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60131; + close; + case 2: + mes "[Lilla]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60132; + close; + case 3: + mes "[Lilla]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60133; + close; + } + case 3: + mes "[Lilla]"; + mes "If you change your mind, please come back."; + close; + } + case 2: + mes "[Lilla]"; + mes "If you change your mind, please come back."; + close; + } + } + else { + mes "[Lilla]"; + mes "Sorry but you are a little too old and scary to talk to!"; + close; + } + } + else { + mes "[Lilla]"; + mes "You are way too tiny to be helping me."; + mes "Thank you for your offer though."; + close; + } +} diff --git a/npc/quests/collection/quest_fabre.txt b/npc/quests/collection/quest_fabre.txt new file mode 100644 index 000000000..48e575514 --- /dev/null +++ b/npc/quests/collection/quest_fabre.txt @@ -0,0 +1,231 @@ +//===== eAthena Script ======================================= +//= iRO Repeatable EXP Quests. +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Added Monster Killing quests. +//= Repeatable EXP Quest (Fluffs) +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +gef_fild07,321,193,4 script Langry#Fabre_Hunt 754,{ + if (checkquest(60107) != -1) { + if (checkquest(60107,HUNTING) != 2 ) { + mes "[Langry]"; + mes "Have you finished hunting the 50 Fabres?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Langry]"; + mes "Hmm, I don't think you've hunted 50 yet..."; + close; + case 2: + mes "[Langry]"; + mes "Remember, I need help hunting Fabres so go and hunt 50 of them."; + close; + case 3: + mes "[Langry]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Langry]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60107; + close; + case 2: + mes "[Langry]"; + mes "Please kill 50 Fabres."; + close; + } + } + } + else { + mes "[Langry]"; + mes "Amazing, you did that with speed."; + getexp 385,30; + erasequest 60107; + close; + } + } + if (checkquest(60108) != -1) { + if (checkquest(60108,HUNTING) != 2 ) { + mes "[Langry]"; + mes "Have you finished hunting the 50 Fabres?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Langry]"; + mes "Hmm, I don't think you've hunted 100 yet..."; + close; + case 2: + mes "[Langry]"; + mes "Remember, I need help hunting Fabres so go and hunt 100 of them."; + close; + case 3: + mes "[Langry]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Langry]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60108; + close; + case 2: + mes "[Langry]"; + mes "Please kill 100 Fabres."; + close; + } + } + } + else { + mes "[Langry]"; + mes "Amazing, you did that with speed."; + getexp 385,30; + getexp 385,30; + erasequest 60108; + close; + } + } + if (checkquest(60109) != -1) { + if (checkquest(60109,HUNTING) != 2 ) { + mes "[Langry]"; + mes "Have you finished hunting the 150 Fabres?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Langry]"; + mes "Hmm, I don't think you've hunted 150 yet..."; + close; + case 2: + mes "[Langry]"; + mes "Remember, I need help hunting Fabres so go and hunt 150 of them."; + close; + case 3: + mes "[Langry]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Langry]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60109; + close; + case 2: + mes "[Langry]"; + mes "Please kill 150 Fabres."; + close; + } + } + } + else { + mes "[Langry]"; + mes "Amazing, you did that with speed."; + getexp 385,30; + getexp 385,30; + getexp 385,30; + erasequest 60109; + close; + } + } + //for minimum level + if (BaseLevel > 1) { + //for maximum level + if (BaseLevel < 21) { + mes "[Langry]"; + mes "Do you think you can help me?"; + mes "Please?"; + next; + switch(select("Sure:No")) { + case 1: + mes "[Langry]"; + mes "Really?!"; + mes "That's great!"; + next; + switch(select("Gather Items:Hunt Fabres:Cancel")) { + case 1: + // Item turn in + mes "[Langry]"; + mes "I need to collect ^0000CE25 Fluff^000000 to"; + mes "complete this community service project."; + mes "You know what? I can even reward you a little for helping me."; + next; + switch(select("I have some Fluff:What was that again?")) { + case 1: + if (countitem(914) > 24) { + mes "[Langry]"; + mes "Thank you for the Fluff. This helps me out greatly."; + mes "Oh and here you go, this should help you get stronger, faster!"; + delitem 914,25; //Fluff + getexp 385,30; + close; + } + else { + mes "[Langry]"; + mes "I see no Fluff, wait yea I do it's the lies coming from your mouth."; + close; + } + case 2: + mes "[Langry]"; + mes "I need ^00CE0025 Fluff^000000."; + close; + } + case 2: + // Kill Count Quest + mes "[Langry]"; + mes "Ah, ok I think you can help me out by hunting some Fabres."; + mes "How many would you like to hunt?"; + next; + switch(select("50 Fabres:100 Fabres:150 Fabres")) { + case 1: + mes "[Langry]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60107; + close; + case 2: + mes "[Langry]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60108; + close; + case 3: + mes "[Langry]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60109; + close; + } + case 3: + mes "[Langry]"; + mes "If you change your mind, please come back."; + close; + } + case 2: + mes "[Langry]"; + mes "If you change your mind, please come back."; + close; + } + } + else { + mes "[Langry]"; + mes "Hello, my name is Langry."; + mes "I have to complete this community service, but I am just too lazy."; + close; + } + } + else { + mes "[Langry]"; + mes "You may just be the most unlikely person ever, recycle a few Fabres and come back."; + close; + } +} + + diff --git a/npc/quests/collection/quest_frilldora.txt b/npc/quests/collection/quest_frilldora.txt new file mode 100644 index 000000000..1d9b0700c --- /dev/null +++ b/npc/quests/collection/quest_frilldora.txt @@ -0,0 +1,240 @@ +//===== eAthena Script ======================================= +//= iRO Repeatable EXP Quests. +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Added Monster Killing quests. +//= Repeatable EXP Quest (Frills) +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +moc_fild17,66,273,5 script Lemly#Frilldora_Hunt 725,{ + if (checkquest(60134) != -1) { + if (checkquest(60134,HUNTING) != 2 ) { + mes "[Lemly]"; + mes "Have you finished hunting the 50 Frilldora?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Lemly]"; + mes "Hmm, I don't think you've hunted 50 yet..."; + close; + case 2: + mes "[Lemly]"; + mes "Remember, I need help hunting Frilldora so go and hunt 50 of them."; + close; + case 3: + mes "[Lemly]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Lemly]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60134; + close; + case 2: + mes "[Lemly]"; + mes "Please kill 50 Frilldora."; + close; + } + } + } + else { + mes "[Lemly]"; + mes "Amazing, you did that with speed."; + getexp 30000,23000; + erasequest 60134; + close; + } + } + if (checkquest(60135) != -1) { + if (checkquest(60135,HUNTING) != 2 ) { + mes "[Lemly]"; + mes "Have you finished hunting the 50 Frilldora?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Lemly]"; + mes "Hmm, I don't think you've hunted 100 yet..."; + close; + case 2: + mes "[Lemly]"; + mes "Remember, I need help hunting Frilldora so go and hunt 100 of them."; + close; + case 3: + mes "[Lemly]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Lemly]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60135; + close; + case 2: + mes "[Lemly]"; + mes "Please kill 100 Frilldora."; + close; + } + } + } + else { + mes "[Lemly]"; + mes "Amazing, you did that with speed."; + getexp 30000,23000; + getexp 30000,23000; + erasequest 60135; + close; + } + } + if (checkquest(60136) != -1) { + if (checkquest(60136,HUNTING) != 2 ) { + mes "[Lemly]"; + mes "Have you finished hunting the 150 Frilldora?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Lemly]"; + mes "Hmm, I don't think you've hunted 150 yet..."; + close; + case 2: + mes "[Lemly]"; + mes "Remember, I need help hunting Frilldora so go and hunt 150 of them."; + close; + case 3: + mes "[Lemly]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Lemly]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60136; + close; + case 2: + mes "[Lemly]"; + mes "Please kill 150 Frilldora."; + close; + } + } + } + else { + mes "[Lemly]"; + mes "Amazing, you did that with speed."; + getexp 30000,23000; + getexp 30000,23000; + getexp 30000,23000; + erasequest 60136; + close; + } + } + //for minimum level + if (BaseLevel > 29) { + //for maximum level + if (BaseLevel < 66) { + mes "[Lemly]"; + mes "Hey there cutie!"; + next; + mes "[Lemly]"; + mes "Think you could take some time to give me a hand?"; + next; + switch(select("Sure:No")) { + case 1: + mes "[Lemly]"; + mes "I am looking for lizard ^FF0000Frills^000000."; + next; + mes "[Lemly]"; + mes "The lizards around here have a natural stealth, a property that the Assassin's Guild wants to study."; + next; + switch(select("Gather Items:Hunt Frilldora:Cancel")) { + case 1: + // Item turn in + switch(select("I have some Frills:What did you need?")) { + case 1: + if (countitem(1012) > 24) { + mes "[Lemly]"; + mes "Hey, thank you."; + mes "These are pretty icky though."; + delitem 1012,25; //Lizard_Scruff + getexp 30000,23000; + close; + } + else { + mes "[Lemly]"; + mes "Sigh,"; + mes "Please, don't waste my time."; + next; + mes "[Lemly]"; + mes "I need ^FF000025 Frills^000000 for the Assassin's Guild."; + close; + } + case 2: + mes "[Lemly]"; + mes "I need ^FF000025 Frills^000000 for the Assassin's Guild."; + close; + } + case 2: + // Kill Count Quest + mes "[Lemly]"; + mes "Ah, ok I think you can help me out by hunting some Frilldora."; + mes "How many would you like to hunt?"; + next; + switch(select("50 Frilldora:100 Frilldora:150 Frilldora")) { + case 1: + mes "[Lemly]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60134; + close; + case 2: + mes "[Lemly]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60135; + close; + case 3: + mes "[Lemly]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60136; + close; + } + case 3: + mes "[Lemly]"; + mes "If you change your mind, please come back."; + close; + } + case 2: + mes "[Lemly]"; + mes "If you change your mind, please come back."; + close; + } + } + else { + mes "[Lemly]"; + mes "Hey there."; + next; + mes "[Lemly]"; + mes "These lizards are gross."; + next; + mes "[Lemly]"; + mes "I can't believe I am stuck doing this."; + close; + } + } + else { + mes "[Lemly]"; + mes "What are you doing here?"; + mes "The desert will kill you here!"; + close; + } +} + + diff --git a/npc/quests/collection/quest_goat.txt b/npc/quests/collection/quest_goat.txt new file mode 100644 index 000000000..487462c80 --- /dev/null +++ b/npc/quests/collection/quest_goat.txt @@ -0,0 +1,245 @@ +//===== eAthena Script ======================================= +//= iRO Repeatable EXP Quests. +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Added Monster Killing quests. +//= Repeatable EXP Quest (Antelope Horns) +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +ein_fild06,82,171,0 script Vegetable Farmer#Goat 919,{ + if (checkquest(60137) != -1) { + if (checkquest(60137,HUNTING) != 2 ) { + mes "[Vegetable Farmer]"; + mes "Have you finished hunting the 50 Goats?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Vegetable Farmer]"; + mes "Hmm, I don't think you've hunted 50 yet."; + close; + case 2: + mes "[Vegetable Farmer]"; + mes "Remember, I need help hunting Goats so go and hunt 50 of them."; + close; + case 3: + mes "[Vegetable Farmer]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Vegetable Farmer]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60137; + close; + case 2: + mes "[Vegetable Farmer]"; + mes "Please kill 50 Goats so I can farm my vegetables without any worries."; + close; + } + } + } + else { + mes "[Vegetable Farmer]"; + mes "Amazing, you did that with speed."; + getexp 258489,155155; + erasequest 60137; + close; + } + } + if (checkquest(60138) != -1) { + if (checkquest(60138,HUNTING) != 2) { + mes "[Vegetable Farmer]"; + mes "Have you finished hunting the 100 Goats?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Vegetable Farmer]"; + mes "Hmm, I don't think you've hunted 100 yet."; + close; + case 2: + mes "[Vegetable Farmer]"; + mes "Remember, I need help hunting Goats so go and hunt 100 of them."; + close; + case 3: + mes "[Vegetable Farmer]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Vegetable Farmer]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60138; + close; + case 2: + mes "[Vegetable Farmer]"; + mes "Please kill 100 Goats so I can farm my vegetables without any worries."; + close; + } + } + } + else { + mes "[Vegetable Farmer]"; + mes "Amazing, you did that with speed."; + getexp 258489,155155; + getexp 258489,155155; + erasequest 60138; + close; + } + } + if (checkquest(60139) != -1) { + if (checkquest(60139,HUNTING) != 2) { + mes "[Vegetable Farmer]"; + mes "Have you finished hunting the 150 Goats?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Vegetable Farmer]"; + mes "Hmm, I don't think you've hunted 150 yet."; + close; + case 2: + mes "[Vegetable Farmer]"; + mes "Remember, I need help hunting Goats so go and hunt 150 of them."; + close; + case 3: + mes "[Vegetable Farmer]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Vegetable Farmer]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60139; + close; + case 2: + mes "[Vegetable Farmer]"; + mes "Please kill 150 Goats so I can farm my vegetables without any worries."; + close; + } + } + } + else { + mes "[Vegetable Farmer]"; + mes "Amazing, you did that with speed."; + getexp 258489,155155; + getexp 258489,155155; + getexp 258489,155155; + erasequest 60139; + close; + } + } + //for minimum level + if (BaseLevel > 69) { + //for maximum level + if (BaseLevel < 85) { + mes "[Vegetable Farmer]"; + mes "Oh great!"; + mes "You are here to help me right?"; + mes "If not, then I am in a world of hurt."; + next; + switch(select("Sure:No")) { + case 1: + mes "[Vegetable Farmer]"; + mes "These Goats keep eating my vegetables."; + mes "Can you do what you can to help me?"; + next; + switch(select("Gather Items:Hunt Goats:Cancel")) { + case 1: + // Item turn in + mes "[Vegetable Farmer]"; + mes "I need ^FF0000Antelope Horns^000000 to show for your hard work, and I will reward you."; + next; + switch(select("I have Antelope Horns:What did you need?")) { + case 1: + /* + if (checkweight(504,10) == 0) { + mes "[Vegetable Farmer]"; + mes "Hey, it looks like that the weight on"; + mes "your back will crush you. Come back"; + mes "after you have lost some weight."; + close; + } + */ + if (countitem(7106) > 49) { + mes "[Vegetable Farmer]"; + mes "Amazing, you did that with speed."; + mes "I am truly grateful."; + delitem 7106,50; //Goat's_Horn + getexp 258489,155155; + //getitem 504,10; //White_Potion + close; + } + else { + mes "[Vegetable Farmer]"; + mes "It doesn't look like you have enough."; + next; + mes "[Vegetable Farmer]"; + mes "I need to see that you have gathered ^FF000050 Antelope Horns^000000, and then I can reward you."; + close; + } + case 2: + mes "[Vegetable Farmer]"; + mes "I need to see that you have gathered ^FF000050 Antelope Horns^000000, and then I can reward you."; + close; + } + case 2: + // Kill Count Quest + mes "[Vegetable Farmer]"; + mes "Thank you."; + mes "How many Goats would you like to hunt?"; + next; + switch(select("50 Goats:100 Goats:150 Goats")) { + case 1: + mes "[Vegetable Farmer]"; + mes "Kill 50 of those Goats and let me know when you're done. I will reward you for your efforts."; + setquest 60137; + close; + case 2: + mes "[Vegetable Farmer]"; + mes "Kill 100 of those Goats and let me know when you're done. I will reward you for your efforts."; + setquest 60138; + close; + case 3: + mes "[Vegetable Farmer]"; + mes "Kill 150 of those Goats and let me know when you're done. I will reward you for your efforts."; + setquest 60139; + close; + } + case 3: + mes "[Vegetable Farmer]"; + mes "If you change your mind, please come back."; + close; + } + case 2: + mes "[Vegetable Farmer]"; + mes "If you change your mind, please come back."; + close; + } + } + else { + mes "[Vegetable Farmer]"; + mes "Oh boy, Oh boy!"; + next; + mes "[Vegetable Farmer]"; + mes "Sorry I can't talk right now I am in a world of hurt here, these darn Goats are going to kill me."; + close; + } + } + else { + mes "[Vegetable Farmer]"; + mes "My vegetables, where did they all go?"; + mes "Oh, no..no!!!"; + close; + } +} + diff --git a/npc/quests/collection/quest_golem.txt b/npc/quests/collection/quest_golem.txt new file mode 100644 index 000000000..da8aaec02 --- /dev/null +++ b/npc/quests/collection/quest_golem.txt @@ -0,0 +1,232 @@ +//===== eAthena Script ======================================= +//= iRO Repeatable EXP Quests. +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Added Monster Killing quests. +//= Repeatable EXP Quest (Stone Hearts) +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +moc_fild11,57,138,0 script Private Jeremy#hunt 707,{ + if (checkquest(60140) != -1) { + if (checkquest(60140,HUNTING) != 2 ) { + mes "[Private Jeremy]"; + mes "Have you finished hunting the 50 Golems?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Private Jeremy]"; + mes "Hmm, I don't think you've hunted 50 yet..."; + close; + case 2: + mes "[Private Jeremy]"; + mes "Remember, I need help hunting Golems so go and hunt 50 of them."; + close; + case 3: + mes "[Private Jeremy]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Private Jeremy]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60140; + close; + case 2: + mes "[Private Jeremy]"; + mes "Please kill 50 Golems."; + close; + } + } + } + else { + mes "[Private Jeremy]"; + mes "Amazing, you did that with speed."; + getexp 14000,9000; + erasequest 60140; + close; + } + } + if (checkquest(60141) != -1) { + if (checkquest(60141,HUNTING) != 2 ) { + mes "[Private Jeremy]"; + mes "Have you finished hunting the 50 Golems?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Private Jeremy]"; + mes "Hmm, I don't think you've hunted 100 yet..."; + close; + case 2: + mes "[Private Jeremy]"; + mes "Remember, I need help hunting Golems so go and hunt 100 of them."; + close; + case 3: + mes "[Private Jeremy]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Private Jeremy]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60141; + close; + case 2: + mes "[Private Jeremy]"; + mes "Please kill 100 Golems."; + close; + } + } + } + else { + mes "[Private Jeremy]"; + mes "Amazing, you did that with speed."; + getexp 14000,9000; + getexp 14000,9000; + erasequest 60141; + close; + } + } + if (checkquest(60142) != -1) { + if (checkquest(60142,HUNTING) != 2 ) { + mes "[Private Jeremy]"; + mes "Have you finished hunting the 150 Golems?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Private Jeremy]"; + mes "Hmm, I don't think you've hunted 150 yet..."; + close; + case 2: + mes "[Private Jeremy]"; + mes "Remember, I need help hunting Golems so go and hunt 150 of them."; + close; + case 3: + mes "[Private Jeremy]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Private Jeremy]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60142; + close; + case 2: + mes "[Private Jeremy]"; + mes "Please kill 150 Golems."; + close; + } + } + } + else { + mes "[Private Jeremy]"; + mes "Amazing, you did that with speed."; + getexp 14000,9000; + getexp 14000,9000; + getexp 14000,9000; + erasequest 60142; + close; + } + } + //for minimum level + if (BaseLevel > 24) { + //for maximum level + if (BaseLevel < 61) { + mes "[Private Jeremy]"; + mes "Greetings citizen!"; + mes "Say, how would you like to help me?"; + next; + switch(select("Sure:No")) { + case 1: + mes "[Private Jeremy]"; + mes "Thanks! I really appreciate it."; + next; + switch(select("Gather Items:Hunt Golems:Cancel")) { + case 1: + // Item turn in + mes "[Private Jeremy]"; + mes "The Morroc Guard needs ^FF0000Stone Hearts^000000 for our training regimen."; + next; + switch(select("I have Stone Hearts:What did you need?")) { + case 1: + if (countitem(953) > 24) { + mes "[Private Jeremy]"; + mes "The Morroc Guard thanks you, citizen."; + delitem 953,25; //Stone_Heart + getexp 14000,9000; + close; + } + else { + mes "[Private Jeremy]"; + mes "It doesn't look like you have enough."; + next; + mes "[Private Jeremy]"; + mes "The Morroc Guard needs ^FF000025 Stone Hearts^000000, for our training regimen."; + close; + } + case 2: + mes "[Private Jeremy]"; + mes "The Morroc Guard needs ^FF000025 Stone Hearts^000000, for our training regimen."; + close; + } + case 2: + // Kill Count Quest + mes "[Private Jeremy]"; + mes "Ah, ok I think you can help me out by hunting some Golems."; + mes "How many would you like to hunt?"; + next; + switch(select("50 Golems:100 Golems:150 Golems")) { + case 1: + mes "[Private Jeremy]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60140; + close; + case 2: + mes "[Private Jeremy]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60141; + close; + case 3: + mes "[Private Jeremy]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60142; + close; + } + case 3: + mes "[Private Jeremy]"; + mes "If you change your mind, please come back."; + close; + } + case 2: + mes "[Private Jeremy]"; + mes "If you change your mind, please come back."; + close; + } + } + else { + mes "[Private Jeremy]"; + mes "Greetings citizen!"; + next; + mes "[Private Jeremy]"; + mes "Please do not interrupt my mission for the Morroc Guard."; + close; + } + } + else { + mes "[Private Jeremy]"; + mes "It is dangerous here citizen."; + close; + } +} + + diff --git a/npc/quests/collection/quest_hode.txt b/npc/quests/collection/quest_hode.txt new file mode 100644 index 000000000..bfa69d973 --- /dev/null +++ b/npc/quests/collection/quest_hode.txt @@ -0,0 +1,241 @@ +//===== eAthena Script ======================================= +//= iRO Repeatable EXP Quests. +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Added Monster Killing quests. +//= Repeatable EXP Quest (Earthworm Peelings) +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +moc_fild17,208,346,5 script Shone#Hode_Hunt 707,{ + if (checkquest(60104) != -1) { + if (checkquest(60104,HUNTING) != 2 ) { + mes "[Shone]"; + mes "Have you finished hunting the 50 Hodes?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Shone]"; + mes "Hmm, I don't think you've hunted 50 yet..."; + close; + case 2: + mes "[Shone]"; + mes "Remember, I need help hunting Hodes so go and hunt 50 of them."; + close; + case 3: + mes "[Shone]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Shone]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60104; + close; + case 2: + mes "[Shone]"; + mes "Please kill 50 Hodes."; + close; + } + } + } + else { + mes "[Shone]"; + mes "Amazing, you did that with speed."; + getexp 15775,1125; + erasequest 60104; + close; + } + } + if (checkquest(60105) != -1) { + if (checkquest(60105,HUNTING) != 2 ) { + mes "[Shone]"; + mes "Have you finished hunting the 50 Hodes?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Shone]"; + mes "Hmm, I don't think you've hunted 100 yet..."; + close; + case 2: + mes "[Shone]"; + mes "Remember, I need help hunting Hodes so go and hunt 100 of them."; + close; + case 3: + mes "[Shone]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Shone]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60105; + close; + case 2: + mes "[Shone]"; + mes "Please kill 100 Hodes."; + close; + } + } + } + else { + mes "[Shone]"; + mes "Amazing, you did that with speed."; + getexp 15775,1125; + getexp 15775,1125; + erasequest 60105; + close; + } + } + if (checkquest(60106) != -1) { + if (checkquest(60106,HUNTING) != 2 ) { + mes "[Shone]"; + mes "Have you finished hunting the 150 Hodes?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Shone]"; + mes "Hmm, I don't think you've hunted 150 yet..."; + close; + case 2: + mes "[Shone]"; + mes "Remember, I need help hunting Hodes so go and hunt 150 of them."; + close; + case 3: + mes "[Shone]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Shone]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60106; + close; + case 2: + mes "[Shone]"; + mes "Please kill 150 Hodes."; + close; + } + } + } + else { + mes "[Shone]"; + mes "Amazing, you did that with speed."; + getexp 15775,1125; + getexp 15775,1125; + getexp 15775,1125; + erasequest 60106; + close; + } + } + //for minimum level + if (BaseLevel > 24) { + //for maximum level + if (BaseLevel < 61) { + mes "[Shone]"; + mes "Wait! You can see me?"; + mes "Oh well, I haven't yet mastered my skills."; + next; + mes "[Shone]"; + mes "Hey do you think you can help me?"; + next; + switch(select("Sure:No")) { + case 1: + mes "[Shone]"; + mes "Thanks a lot, pal!"; + next; + switch(select("Gather Items:Hunt Hodes:Cancel")) { + case 1: + // Item turn in + mes "[Shone]"; + mes "I am trying to collect ^00CE0025 Earthworm Peelings^000000."; + mes "I will reward you if you help."; + next; + switch(select("I have 25 Earthworm Peelings:What was it again?")) { + case 1: + /* + if (checkweight(502,10) == 0) { + mes "[Shone]"; + mes "Hey, it looks like that the weight on"; + mes "your back will crush you. Come back"; + mes "after you have lost some weight."; + close; + } + */ + if (countitem(1055) > 24) { + mes "Thank you for the 25 Earthworm"; + mes "Peelings!"; + mes "Here is that reward I promised you, I hope take this wisdom I have passed on to you and share it with others."; + delitem 1055,25; //Earthworm_Peeling + getexp 15775,1125; + //getitem 502,10; //Orange_Potion + close; + } + else { + mes "[Shone]"; + mes "I don't see any ^00CE00Earthworm Peerlings^000000."; + mes "Are you trying to scam me?"; + close; + } + case 2: + mes "[Shone]"; + mes "I need ^00CE0025 Earthworm Peelings^000000."; + close; + } + case 2: + // Kill Count Quest + mes "[Shone]"; + mes "Ah, ok I think you can help me out by hunting some Hodes."; + mes "How many would you like to hunt?"; + next; + switch(select("50 Hodes:100 Hodes:150 Hodes")) { + case 1: + mes "[Shone]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60104; + close; + case 2: + mes "[Shone]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60105; + close; + case 3: + mes "[Shone]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60106; + close; + } + case 3: + mes "[Shone]"; + mes "If you change your mind, please come back."; + close; + } + case 2: + mes "[Shone]"; + mes "If you change your mind, please come back."; + close; + } + } + else { + mes "[Shone]"; + mes "You are much too strong to be fighting these things!"; + close; + } + } + else { + mes "[Shone]"; + mes "You need some help, but I can't provide that for you."; + mes "Come back when you are stronger and have earned much more wisdom."; + close; + } +} diff --git a/npc/quests/collection/quest_leafcat.txt b/npc/quests/collection/quest_leafcat.txt new file mode 100644 index 000000000..a4844b7c9 --- /dev/null +++ b/npc/quests/collection/quest_leafcat.txt @@ -0,0 +1,239 @@ +//===== eAthena Script ======================================= +//= iRO Repeatable EXP Quests. +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Added Monster Killing quests. +//= Repeatable EXP Quest (Huge Leaves) +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +ayo_fild01,44,241,5 script Lella#LeafCat_Hunt 877,{ + if (checkquest(60143) != -1) { + if (checkquest(60143,HUNTING) != 2 ) { + mes "[Lella]"; + mes "Have you finished hunting the 50 Leaf Cats?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Lella]"; + mes "Hmm, I don't think you've hunted 50 yet..."; + close; + case 2: + mes "[Lella]"; + mes "Remember, I need help hunting Leaf Cats so go and hunt 50 of them."; + close; + case 3: + mes "[Lella]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Lella]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60143; + close; + case 2: + mes "[Lella]"; + mes "Please kill 50 Leaf Cats."; + close; + } + } + } + else { + mes "[Lella]"; + mes "Amazing, you did that with speed."; + getexp 25740,31512; + erasequest 60143; + close; + } + } + if (checkquest(60144) != -1) { + if (checkquest(60144,HUNTING) != 2 ) { + mes "[Lella]"; + mes "Have you finished hunting the 50 Leaf Cats?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Lella]"; + mes "Hmm, I don't think you've hunted 100 yet..."; + close; + case 2: + mes "[Lella]"; + mes "Remember, I need help hunting Leaf Cats so go and hunt 100 of them."; + close; + case 3: + mes "[Lella]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Lella]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60144; + close; + case 2: + mes "[Lella]"; + mes "Please kill 100 Leaf Cats."; + close; + } + } + } + else { + mes "[Lella]"; + mes "Amazing, you did that with speed."; + getexp 25740,31512; + getexp 25740,31512; + erasequest 60144; + close; + } + } + if (checkquest(60145) != -1) { + if (checkquest(60145,HUNTING) != 2 ) { + mes "[Lella]"; + mes "Have you finished hunting the 150 Leaf Cats?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Lella]"; + mes "Hmm, I don't think you've hunted 150 yet..."; + close; + case 2: + mes "[Lella]"; + mes "Remember, I need help hunting Leaf Cats so go and hunt 150 of them."; + close; + case 3: + mes "[Lella]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Lella]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60145; + close; + case 2: + mes "[Lella]"; + mes "Please kill 150 Leaf Cats."; + close; + } + } + } + else { + mes "[Lella]"; + mes "Amazing, you did that with speed."; + getexp 25740,31512; + getexp 25740,31512; + getexp 25740,31512; + erasequest 60145; + close; + } + } + //for minimum level + if (BaseLevel > 35) { + //for maximum level + if (BaseLevel < 66) { + mes "[Lella]"; + mes "Why hello!"; + mes "You look like someone who is willing to help someone who is slowly going mad."; + next; + mes "[Lella]"; + switch(select("Sure:No")) { + case 1: + mes "[Lella]"; + mes "Thanks! You're a life saver!"; + next; + switch(select("Gather Items:Hunt Leaf Cats:Cancel")) { + case 1: + // Item turn in + mes "I really need to gather ^00CE0050 Huge Leafs^000000 for my sanity."; + mes "Do you have any?"; + next; + switch(select("I have 50 Huge Leafs:What, sorry I was day dreaming")) { + case 1: + /* + if (checkweight(503,10) == 0) { + mes "[Lella]"; + mes "Hey, it looks like that the weight on"; + mes "your back will crush you. Come back"; + mes "after you have lost some weight."; + close; + } + */ + if (countitem(7198) > 49) { + mes "[Lella]"; + mes "Wonderful I can tell it is just a little bit quieter around here!"; + next; + mes "[Lella]"; + mes "The more leafs I collect the quieter it seems around here."; + delitem 7198,50; //Great_Leaf + getexp 25740,31512; + //getitem 503,10; //Yellow_Potion + close; + } + else { + mes "[Lella]"; + mes "Meow meow meow meow meow..."; + mes "NOOOOOOOOOOOO."; + close; + } + case 2: + mes "[Lella]"; + mes "I need ^00CE0050 Huge Leafs^000000."; + close; + } + case 2: + // Kill Count Quest + mes "[Lella]"; + mes "Ah, ok I think you can help me out by hunting some Leaf Cats."; + mes "How many would you like to hunt?"; + next; + switch(select("50 Leaf Cats:100 Leaf Cats:150 Leaf Cats")) { + case 1: + mes "[Lella]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60143; + close; + case 2: + mes "[Lella]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60144; + close; + case 3: + mes "[Lella]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60145; + close; + } + case 3: + mes "[Lella]"; + mes "If you change your mind, please come back."; + close; + } + case 2: + mes "[Lella]"; + mes "If you change your mind, please come back."; + close; + } + } + else { + mes "[Lella]"; + mes "Not sure why you are here, but I can't offer you a bounty as there would be no effort in it for you!"; + close; + } + } + else { + mes "[Lella]"; + mes "Quickly escape before they get their claws into your sanity!"; + close; + } +} diff --git a/npc/quests/collection/quest_pecopeco.txt b/npc/quests/collection/quest_pecopeco.txt new file mode 100644 index 000000000..020d3fa1d --- /dev/null +++ b/npc/quests/collection/quest_pecopeco.txt @@ -0,0 +1,251 @@ +//===== eAthena Script ======================================= +//= iRO Repeatable EXP Quests. +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Added Monster Killing quests. +//= Repeatable EXP Quest (Bill of Birds) +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +moc_fild02,74,329,3 script Gregor#PecoPeco_Hunt 97,{ + if (checkquest(60101) != -1) { + if (checkquest(60101,HUNTING) != 2 ) { + mes "[Gregor]"; + mes "Have you finished hunting the 50 Peco Pecos?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Gregor]"; + mes "Hmm, I don't think you've hunted 50 yet..."; + close; + case 2: + mes "[Gregor]"; + mes "Please hurry and kill 50 of those tasty err pesky Peco Pecos."; + close; + case 3: + mes "[Gregor]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Gregor]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60101; + close; + case 2: + mes "[Gregor]"; + mes "Please hurry and kill 50 of those tasty err pesky Peco Pecos."; + close; + } + } + } + else { + mes "[Gregor]"; + mes "Oh thank you so much!"; + mes "I think that I can rest easily now."; + getexp 4000,2000; + erasequest 60101; + close; + } + } + if (checkquest(60102) != -1) { + if (checkquest(60102,HUNTING) != 2 ) { + mes "[Gregor]"; + mes "Have you finished hunting the 50 Peco Pecos?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Gregor]"; + mes "Hmm, I don't think you've hunted 100 yet..."; + close; + case 2: + mes "[Gregor]"; + mes "Please hurry and kill 100 of those tasty err pesky Peco Pecos."; + close; + case 3: + mes "[Gregor]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Gregor]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60102; + close; + case 2: + mes "[Gregor]"; + mes "Please hurry and kill 100 of those tasty err pesky Peco Pecos."; + close; + } + } + } + else { + mes "[Gregor]"; + mes "Oh thank you so much!"; + mes "I think that I can rest easily now."; + getexp 4000,2000; + getexp 4000,2000; + erasequest 60102; + close; + } + } + if (checkquest(60103) != -1) { + if (checkquest(60103,HUNTING) != 2 ) { + mes "[Gregor]"; + mes "Have you finished hunting the 150 Peco Pecos?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Gregor]"; + mes "Hmm, I don't think you've hunted 150 yet..."; + close; + case 2: + mes "[Gregor]"; + mes "Please hurry and kill 150 of those tasty err pesky Peco Pecos."; + close; + case 3: + mes "[Gregor]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Gregor]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60103; + close; + case 2: + mes "[Gregor]"; + mes "Please hurry and kill 150 of those tasty err pesky Peco Pecos."; + close; + } + } + } + else { + mes "[Gregor]"; + mes "Oh thank you so much!"; + mes "I think that I can rest easily now."; + getexp 4000,2000; + getexp 4000,2000; + getexp 4000,2000; + erasequest 60103; + close; + } + } + //for minimum level + if (BaseLevel > 9) { + //for maximum level + if (BaseLevel < 31) { + mes "[Gregor]"; + mes "Peco Pecos are fascinating."; + mes "I am still doing my, uh, research..."; + mes "But now it is of a different nature."; + next; + mes "[Gregor]"; + mes "You see I've been uh, ''researching''"; + mes "these animals by collecting their"; + mes "Bill of Birds but lately they seem"; + mes "to have become hostile towards me."; + next; + mes "[Gregor]"; + mes "Can you do me a favor please?"; + next; + switch(select("What kind of favor?:No")) { + case 1: + mes "[Gregor]"; + mes "I am so afraid that these Peco Pecos will hurt me for my, uh, researching activities."; + next; + mes "[Gregor]"; + mes "Can you help protect me by killing them?"; + mes "I think I'll feel safer..."; + mes "Please..."; + next; + switch(select("Gather Items:Hunt Peco Pecos:Cancel")) { + case 1: + // Item turn in + mes "[Gregor]"; + mes "I need some ^FF0000Bill of Birds^000000 for my, uh, research..."; + next; + switch(select("I have some Bill of Birds:What did you need?")) { + case 1: + if (countitem(925) > 24) { + mes "[Gregor]"; + mes "Thank you so much."; + delitem 925,25; //Bill_Of_Birds + getexp 4000,2000; + next; + mes "[Gregor]"; + mes "This is gonna be delicious!"; + close; + } + else { + mes "[Gregor]"; + mes "It doesn't look like you have enough."; + next; + mes "[Gregor]"; + mes "Can you help me out and bring me ^FF000025 Bill of Birds^000000?"; + close; + } + case 2: + mes "[Gregor]"; + mes "Can you help me out and bring me ^FF000025 Bill of Birds^000000?"; + close; + } + case 2: + // Kill Count Quest + mes "[Gregor]"; + mes "Ah, ok I think you can help me out by hunting some Peco Pecos."; + mes "How many would you like to hunt?"; + next; + switch(select("50 Peco Pecos:100 Peco Pecos:150 Peco Pecos")) { + case 1: + mes "[Gregor]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60101; + close; + case 2: + mes "[Gregor]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60102; + close; + case 3: + mes "[Gregor]"; + mes "Come back when you've finished your task and I will give you a small reward."; + setquest 60103; + close; + } + case 3: + mes "[Gregor]"; + mes "If you change your mind, please come back."; + close; + } + case 2: + mes "[Gregor]"; + mes "If you change your mind, please come back."; + close; + } + } + else { + mes "[Gregor]"; + mes "Hmmm... you seem to be too strong to be fighting over here."; + close; + } + } + else { + mes "[Gregor]"; + mes "Hi there."; + next; + mes "[Gregor]"; + mes "Those picky's over there seem to be about your speed."; + close; + } +} diff --git a/npc/quests/collection/quest_pupa.txt b/npc/quests/collection/quest_pupa.txt new file mode 100644 index 000000000..e8821a8fe --- /dev/null +++ b/npc/quests/collection/quest_pupa.txt @@ -0,0 +1,233 @@ +//===== eAthena Script ======================================= +//= iRO Repeatable EXP Quests. +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Added Monster Killing quests. +//= Repeatable EXP Quest (Chrysalis) +//===== Additional Comments: ================================= +//= 1.0 First version. +//============================================================ + +gef_fild04,191,54,3 script Halgus#Pupa_Hunt 123,{ + if (checkquest(60110) != -1) { + if (checkquest(60110,HUNTING) != 2 ) { + mes "[Halgus]"; + mes "Have you gotten rid of the Pupa?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Halgus]"; + mes "Hmm, I don't think you've gotten rid of 50 Pupa yet..."; + close; + case 2: + mes "[Halgus]"; + mes "Remember, get rid of 50 of those Pupa from the field."; + close; + case 3: + mes "[Halgus]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Halgus]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60110; + close; + case 2: + mes "[Halgus]"; + mes "Remember, get rid of 50 of those Pupa from the field."; + close; + } + } + } + else { + mes "[Halgus]"; + mes "Oh thank you so much."; + mes "I know that I could've probably done this myself but it's not easy to be standing here all of the time."; + getexp 385,30; + erasequest 60110; + close; + } + } + if (checkquest(60111) != -1) { + if (checkquest(60111,HUNTING) != 2 ) { + mes "[Halgus]"; + mes "Have you gotten rid of the Pupa?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Halgus]"; + mes "Hmm, I don't think you've gotten rid of 100 Pupa yet..."; + close; + case 2: + mes "[Halgus]"; + mes "Remember, get rid of 100 of those Pupa from the field."; + close; + case 3: + mes "[Halgus]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Halgus]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60111; + close; + case 2: + mes "[Halgus]"; + mes "Remember, get rid of 100 of those Pupa from the field."; + close; + } + } + } + else { + mes "[Halgus]"; + mes "Oh thank you so much."; + mes "I know that I could've probably done this myself but it's not easy to be standing here all of the time."; + getexp 385,30; + getexp 385,30; + erasequest 60111; + close; + } + } + if (checkquest(60112) != -1) { + if (checkquest(60112,HUNTING) != 2 ) { + mes "[Halgus]"; + mes "Have you gotten rid of the Pupa?"; + next; + switch(select("Yes:No:I want to quit")) { + case 1: + mes "[Halgus]"; + mes "Hmm, I don't think you've gotten rid of 150 Pupa yet..."; + close; + case 2: + mes "[Halgus]"; + mes "Remember, get rid of 150 of those Pupa from the field."; + close; + case 3: + mes "[Halgus]"; + mes "Are you sure that you want to stop hunting?"; + mes "Any progress that you've made will be erased"; + next; + switch(select("Yes:No")) { + case 1: + mes "[Halgus]"; + mes "Ok then, well come back here if you change your mind."; + erasequest 60112; + close; + case 2: + mes "[Halgus]"; + mes "Remember, get rid of 150 of those Pupa from the field."; + close; + } + } + } + else { + mes "[Halgus]"; + mes "Oh thank you so much."; + mes "I know that I could've probably done this myself but it's not easy to be standing here all of the time."; + getexp 385,30; + getexp 385,30; + getexp 385,30; + erasequest 60112; + close; + } + } + //for minimum level + if (BaseLevel > 1) { + //for maximum level + if (BaseLevel < 21) { + mes "[Halgus]"; + mes "New here are you?"; + mes "Well look, I like helping new faces around here."; + mes "And lets be honest, you are not the prettiest looking face I've seen."; + next; + mes "[Halgus]"; + mes "None-the-less my daughter thought it would be fun to gather pupa around this field and it's becoming unsightly."; + mes "Do you mind helping me get rid of some Pupa to clear out this field?"; + next; + switch(select("Sure, I don't mind:No")) { + case 1: + mes "[Halgus]"; + mes "Really? What would you like to do to help?"; + next; + switch(select("Gather Items:Get rid of Pupa:Cancel")) { + case 1: + // Item turn in + mes "[Halgus]"; + mes "Can you collect ^00CE0025 Chrysalis^000000 and return them to me, I promise to reward you well."; + next; + switch(select("I have Chrysalis:What did you need?")) { + case 1: + if (countitem(915) > 24) { + mes "[Halgus]"; + mes "Amazing you found so many that fast."; + mes "Like I promised, give me the Chrysalis and I will reward you with my wisdom."; + delitem 915,25; //Chrysalis + getexp 385,30; + close; + } + else { + mes "[Halgus]"; + mes "I need ^00CE0025 Chrysalis^000000 and no less please."; + close; + } + case 2: + mes "[Halgus]"; + mes "I need ^00CE0025 Chrysalis^000000."; + close; + } + case 2: + // Kill Count Quest + mes "[Halgus]"; + mes "Thank you so much!"; + mes "How many would you like to get rid of?"; + next; + switch(select("50 Pupa:100 Pupa:150 Pupa")) { + case 1: + mes "[Halgus]"; + mes "If you can get rid of 50 of those Pupa from the field I will be grateful."; + setquest 60110; + close; + case 2: + mes "[Halgus]"; + mes "If you can get rid of 100 of those Pupa from the field I will be grateful."; + setquest 60111; + close; + case 3: + mes "[Halgus]"; + mes "If you can get rid of 150 of those Pupa from the field I will be grateful."; + setquest 60112; + close; + } + case 3: + mes "[Halgus]"; + mes "If you change your mind, please come back."; + close; + } + case 2: + mes "[Halgus]"; + mes "If you change your mind, please come back."; + close; + } + } + else { + mes "[Halgus]"; + mes "You could probably easily help me out, but I want to give charity to those who are not as strong as you."; + close; + } + } + else { + mes "[Halgus]"; + mes "Please return to me when you are a little stronger."; + close; + } +} diff --git a/npc/quests/iRO_Exp.txt b/npc/quests/iRO_Exp.txt deleted file mode 100644 index 54a3aee74..000000000 --- a/npc/quests/iRO_Exp.txt +++ /dev/null @@ -1,851 +0,0 @@ -//===== eAthena Script ======================================= -//= iRO Repeatable EXP Quests. -//===== By: ================================================== -//= Kisuka -//===== Current Version: ===================================== -//= 1.2 -//===== Compatible With: ===================================== -//= eAthena SVN -//===== Description: ========================================= -//= Each of these quests are repeatable. -//= Therefore, you are able to get a character from -//= levels 2 - 85 using only these quests instead of -//= normal monster killing. -//= -//= Note: Before enabling remove -//= 1) 925,Bill_Of_Birds; 2) 7106,Goat's_Horn -//= From Vendor shops in npc/merchants/shops.txt -//===== Additional Comments: ================================= -//= 1.0 First version. [Kisuka] -//= 1.1 Moved Jeremy and Gregor to different maps. [L0ne_W0lf] -//= 1.2 Fixed the engrish and typos. -//============================================================ - -// Yullo - 25 Porcupine Quill -//============================================================ -mjolnir_01,296,29,5 script Yullo#iROExp 95,{ - if((BaseLevel < 24)) { - mes "[Yullo]"; - mes "Hmm, this maybe a little much of a"; - mes "request for you. Come back when you"; - mes "are taller and stronger."; - close; - } - else if((BaseLevel > 60)) { - mes "[Yullo]"; - mes "Hello, my name is Yullo."; - mes "Now wait a minute, are you not a"; - mes "little too high of level for this?"; - next; - close; - } - mes "[Yullo]"; - mes "I can't, no more and I mean it."; - mes "Look at me I am serious I can't"; - mes "gather any more of these things."; - next; - mes "[Yullo]"; - mes "You know what, here is an idea."; - mes "You can gather them and I can give"; - mes "you a reward for your efforts!"; - next; - mes "[Yullo]"; - mes "Ok, so I need 25 Porcupine"; - mes "Quill's."; - mes "Please tell me you have some or can"; - mes "help me"; - next; - if (select("I have Porcupine Quills:Well I don't think I can help.") == 2) { - mes "[Yullo]"; - mes "I need ^00CE0025 Porcupine Quills^000000."; - close; - } - if (countitem(1027) < 25) { - mes "[Yullo]"; - mes "Where are the Porcupine Quills? You"; - mes "think I wouldn't notice?"; - close; - }else{ - delitem 1027,25; - getitem 501,10; - getexp 10425,6272; - mes "[Yullo]"; - mes "Great, you have enough!"; - mes "Just like I promised a little"; - mes "reward."; - close; - } -} - -// Shone - 25 Earthworm Peeling -//============================================================ -moc_fild17,208,346,5 script Shone#iROExp 707,{ - if((BaseLevel < 25)) { - mes "[Shone]"; - mes "You need some help, but I can't"; - mes "provide that for you. Come back"; - mes "when you are stronger and have"; - mes "earned much more wisdom."; - close; - } - else if((BaseLevel > 60)) { - mes "[Shone]"; - mes "You are much to strong to be"; - mes "fighting these things!"; - next; - close; - } - mes "[Shone]"; - mes "Wait! You can see me?"; - mes "Oh well, I haven't yet mastered my"; - mes "skills."; - next; - mes "[Shone]"; - mes "Hey do you think you can help me? I"; - mes "am trying to collect ^00CE0025 Earthworm^000000"; - mes "^00CE00Peelings^000000. I will reward you if you"; - mes "help."; - next; - if (select("I have 25 Earthworm Peelings:What was it again?") == 2) { - mes "[Shone]"; - mes "I need ^00CE0025 Earthworm Peelings^000000."; - close; - } - if (countitem(1055) < 25) { - mes "[Shone]"; - mes "I don't see any ^00CE00Earthworm Peelings^000000."; - mes "Are you trying to scam me?"; - close; - }else{ - delitem 1055,25; - getitem 502,10; - getexp 15775,1125; - mes "[Shone]"; - mes "Thank you for the 25 Earthworm"; - mes "Peelings!"; - mes "Here is that reward I promised you,"; - mes "I hope you will take this wisdom I"; - mes "have passed on to you and share it"; - mes "with others."; - close; - } -} - -// Langry - 25 Fluff -//============================================================ -gef_fild07,321,193,3 script Langry#iROExp 754,{ - if((BaseLevel < 2)) { - mes "[Langry]"; - mes "You may just be the most unlikely"; - mes "person ever,"; - mes "recycle a few Fabres and come"; - mes "back."; - close; - } - if((BaseLevel > 20)) { mes "[Langry]"; } - mes "Hello, my name is Langry."; - mes "I have to complete this community"; - mes "service, but I am just too lazy."; - next; - if((BaseLevel > 20)) { close; } - mes "[Langry]"; - mes "Do you think you can help me?"; - mes "Please?"; - next; - mes "[Langry]"; - mes "I need to collect ^0000CE25 Fluff^000000 to"; - mes "complete this community service"; - mes "project."; - mes "You know what I can even reward you"; - mes "a little for helping me."; - next; - if (select("I have some Fluff:What was that again?") == 2) { - mes "[Langry]"; - mes "I need ^00CE0025 Fluff^000000."; - close; - } - if (countitem(914) < 25) { - mes "[Langry]"; - mes "I see no fluff, wait yea I do it's"; - mes "the lies coming from your mouth."; - close; - }else{ - delitem 914,25; - getexp 385,30; - mes "[Langry]"; - mes "Thank you for the Fluff. This helps"; - mes "me out greatly."; - mes "Oh and here you go, this should"; - mes "help you get stronger, faster!"; - close; - } -} - -// Halgus - 25 Chrysalis -//============================================================ -gef_fild04,191,54,4 script Halgus#iROExp 123,{ - if((BaseLevel < 2)) { - mes "[Halgus]"; - mes "Please return to me when you are a"; - mes "little stronger."; - close; - } - else if((BaseLevel > 20)) { - mes "[Halgus]"; - mes "You are way to strong to be"; - mes "hunting these little things."; - next; - close; - } - mes "[Halgus]"; - mes "New here are you? Well look, I like"; - mes "helping new faces around here."; - mes "And lets be honest you are not the"; - mes "prettiest looking face I have seen."; - next; - mes "[Halgus]"; - mes "None-the-less my daughter would"; - mes "like a new necklace."; - mes "I am not rich by any means so I am"; - mes "looking to collect Chrysalis from"; - mes "the Pupa's in this area."; - next; - mes "[Halgus]"; - mes "Can you collect ^00CE0025 Chrysalis^000000 and"; - mes "return them to me, I promise to"; - mes "reward you well."; - next; - if (select("I have Chrysalis:What did you need?") == 2) { - mes "[Halgus]"; - mes "I need ^00CE0025 Chrysalis^000000."; - close; - } - if (countitem(915) < 25) { - mes "[Halgus]"; - mes "I need ^00CE0025 Chrysalis^000000 and no less"; - mes "please."; - close; - }else{ - delitem 915,25; - getexp 385,30; - mes "[Halgus]"; - mes "Amazing you found so many that"; - mes "fast."; - mes "Like I promised, give me the"; - mes "Chrysalis and I will reward you"; - mes "with my wisdom."; - close; - - } -} - -// Laertes - 25 Powder of Butterfly -//============================================================ -prt_fild04,356,148,3 script Laertes#iROExp 798,{ - if((BaseLevel < 15 )) { - mes "Your level is too low!"; - next; - mes "Go kill more Porings!"; - close; - } - mes "[Laertes]"; - mes "Good Morning!"; - next; - if((BaseLevel < 45)) { mes "[Laertes]"; } - mes "I work for an apothecary in"; - mes "Prontera"; - if((BaseLevel > 45)) { - mes "I come here to collect materials"; - mes "for medicine"; - close; - } - mes "I need to have a good supply"; - mes "of ^FF0000Powder of Butterfly^000000"; - next; - if (select("I have Powder of Butterfly:What did you need?") == 2) { - mes "[Laertes]"; - mes "If you bring me"; - mes "^FF000025 Powder of Butterfly^000000,"; - mes "I will give you some medical"; - mes "supplies."; - close; - } - if (countitem(924) < 25) { - mes "[Laertes]"; - mes "It doesn't look"; - mes "like you have enough."; - next; - mes "[Laertes]"; - mes "If you bring me"; - mes "^FF000025 Powder of Butterfly^000000,"; - mes "I will give you some medical"; - mes "supplies."; - close; - }else{ - delitem 924,25; - getitem 502,5; - getexp 2950,1125; - mes "[Laertes]"; - mes "Hey, thank you again."; - mes "Here you go, as promised."; - close; - } -} - -// Nutters - 25 Acorn -//=========================================================== -//mjolnir_01,293,20,3 script Nutters#iROExp 779,{ -// if((BaseLevel < 18)) { -// mes "[Nutters]"; -// mes "You are just too small to fight"; -// mes "these things for me. Can you get a"; -// mes "little taller then return?"; -// -// } -// else if((BaseLevel > 60)) { -// mes "[Nutters]"; -// mes "You are much to strong to be"; -// mes "fighting these things!"; -// next; -// close; -// } -// mes "[Nutters]"; -// mes "I..I just can't seem to find any."; -// mes "Pesky Coco's have hidden all the"; -// mes "Acorns."; -// next; -// mes "[Nutters]"; -// mes "Can you help me find ^00CE0025 Acorns^000000."; -// mes "I will reward you with much if you can."; -// next; -// if (select("I have 25 Acorns:Please come again?") == 2) { -// mes "[Nutters]"; -// mes "I need ^00CE0025 Acorns^000000."; -// close; -// } -// if (countitem(1026) < 25) { -// mes "[Nutters]"; -// mes "Where are my ^00CE00Acorns^000000? Hey, I'm not"; -// mes "playing, you better not hold out on me."; -// close; -// }else{ -// mes "[Nutters]"; -// mes "Oh great you found out where they"; -// mes "were hiding them. Gimme Gimme!!!"; -// next; -// delitem 1026,25; -// getitem 502,5; -// getexp 3600,3905; -// mes "[Nutters]"; -// mes "Oh thats right, sorry I just love"; -// mes "roasting Acorns. Mmm."; -// mes "Here is what I promised you."; -// close; -// } -//} - -// Cuir - 25 Anolian Skin -//=========================================================== -cmd_fild01,362,256,3 script Cuir#iROExp 106,{ - if((BaseLevel < 45)) { - mes "[Cuir]"; - mes "You certainly are brave, but"; - mes "bravery turns to foolishness if you"; - mes "continue going East."; - mes "Perhaps when you are stronger you"; - mes "and I can do business."; - close; - } - else if((BaseLevel > 80)) { - mes "[Cuir]"; - mes "You are too powerful for this task,"; - mes "I need the skins in fair condition,"; - mes "not exploded!"; - next; - close; - } - mes "[Cuir]"; - mes "You look like a sturdy adventurer!"; - mes "How'd you like to help me make a"; - mes "buck selling gator skin?"; - next; - mes "[Cuir]"; - mes "If you can bring me ^00CE0020 Anolian^000000"; - mes "^00CE00Skin^000000. I can help you get stronger."; - next; - if (select("I've the Anolian Skins:Gators bite!") == 2) { - mes "[Cuir]"; - mes "I need ^00CE0020 Anolian Skin^000000."; - close; - } - if (countitem(7003) < 20) { - mes "[Cuir]"; - mes "I know a gator skin when I see it"; - mes "and I don't see ^00CE0020 Anolian Skins^000000."; - close; - }else{ - delitem 7003,20; - getitem 503,10; - getexp 68950,43300; - mes "[Cuir]"; - mes "Thank you for the ^00CE0020 Anolian^000000"; - mes "^00CE00Skins^000000!"; - mes "I hope you can continue to help me"; - mes "collect these skins."; - mes "The armor creators around the world"; - mes "are clamoring for them."; - close; - } -} - -// Li - 50 Dokebi Horns -//=========================================================== -pay_fild10,108,357,5 script Li#iROExp 90,{ - if((BaseLevel < 35)) { - mes "This place is dangerous!"; - next; - mes "You should leave quickly!"; - close; - } - else if((BaseLevel > 70)) { - mes "[Li]"; - mes "Hello"; - mes "I read fortunes"; - mes "in payon."; - close; - } - mes "[Li]"; - mes "Hello"; - next; - mes "[Li]"; - mes "My fortune teller business"; - mes "needs a good supply"; - mes "of ^FF0000Dokebi Horn^000000"; - mes "to give my customers good luck."; - next; - if(select("I have some Dokebi Horns:What did you need?") == 2) { - mes "[Li]"; - mes "If you bring me"; - mes "^FF000050 Dokebi Horn^000000,"; - mes "I can give you some good luck."; - close; - } - if (countitem(1021) < 50) { - mes "[Li]"; - mes "It doesn't look"; - mes "like you have enough."; - next; - mes "[Li]"; - mes "I need ^FF000050 Dokebi Horn^000000."; - mes "for my fortune telling."; - close; - }else{ - delitem 1021,50; - getexp 42000,36000; - mes "[Li]"; - mes "Oh, great!"; - mes "Thank you for the horns."; - close; - } -} - -// Lemly - 25 Frill -//=========================================================== -moc_fild17,66,273,5 script Lemly#iROExp 725,{ - if((BaseLevel < 30)) { - mes "What are you doing here?"; - next; - mes "The desert will kill you here!"; - close; - } - else if((BaseLevel > 65)) { - mes "[Lemly]"; - mes "Hey there."; - next; - mes "[Lemly]"; - mes "These lizards are gross."; - next; - mes "[Lemly]"; - mes "I can't believe I am stuck"; - mes "doing this."; - close; - } - mes "[Lemly]"; - mes "Hey there cutie!"; - next; - mes "[Lemly]"; - mes "I am looking for lizard"; - mes "^FF0000Frills^000000."; - next; - mes "The lizards around here"; - mes "have a natural stealth"; - mes "property that the assassin"; - mes "guild wants to study."; - next; - if(select("I have some Frills:What did you need?") == 2) { - mes "[Lemly]"; - mes "I need"; - mes "^FF000025 Frill^000000"; - mes "for the assassin guild."; - close; - } - if (countitem(1012) < 25) { - mes "[Lemly]"; - mes "Sigh,"; - mes "Please don't waste my time."; - next; - mes "[Lemly]"; - mes "I need"; - mes "^FF000025 Frill^000000"; - mes "for the assassin guild."; - close; - }else{ - delitem 1012,25; - getexp 30000,23000; - mes "[Lemly]"; - mes "Hey, thank you."; - mes "These are pretty icky though."; - close; - } -} - -// Private Jeremy - 25 Stone Heart -//=========================================================== -moc_fild11,57,138,7 script Private Jeremy#iROExp 707,{ - if((BaseLevel < 25)) { - mes "[Private Jeremy]"; - mes "It is dangerous here"; - mes "citizen."; - close; - } - mes "[Private Jeremy]"; - mes "Greetings citizen!"; - next; - if((BaseLevel > 60)) { - mes "[Private Jeremy]"; - mes "Please do not interrupt"; - mes "my mission for the"; - mes "Morroc Guard."; - close; - } - mes "[Private Jeremy]"; - mes "The Morroc guard"; - mes "need ^FF0000Stone Hearts^000000"; - mes "for our training regimen"; - next; - if(select("I have Stone Hearts:What did you need?") == 2) { - mes "[Private Jeremy]"; - mes "The Morroc Guard needs"; - mes "^FF000025 Stone Heart^000000,"; - mes "for our training regimen."; - close; - } - if (countitem(953) < 25) { - mes "[Private Jeremy]"; - mes "It doesn't look"; - mes "like you have enough."; - next; - mes "[Private Jeremy]"; - mes "The Morroc Guard needs"; - mes "^FF000025 Stone Heart^000000,"; - mes "for our training regimen."; - close; - }else{ - delitem 953,25; - getexp 14000,9000; - mes "[Private Jeremy]"; - mes "The Morroc Guard thanks you,"; - mes "citizen."; - close; - } -} - -// Gregor - 25 Bill of Birds -//=========================================================== -moc_fild02,74,329,3 script Gregor#iROExp 97,{ - if((BaseLevel < 10)) { - mes "[Gregor]"; - mes "He there."; - next; - mes "[Gregor]"; - mes "Those pickys over there"; - mes "seem to be about your"; - mes "speed."; - close; - } - else if((BaseLevel > 30)) { - mes "[Gregor]"; - mes "Here peco peco peco"; - next; - mes "[Gregor]"; - mes "Come here peco."; - close; - } - mes "[Gregor]"; - mes "Peco Pecos are fascinating."; - mes "I need some"; - mes "^FF0000Bill of Birds^000000"; - mes "for my, uh, research..."; - next; - if(select("I have some Bill of Birds:What did you need?") == 2) { - mes "[Gregor]"; - mes "Can you help me"; - mes "out and bring me"; - mes "^FF000025 Bill of Birds^000000?"; - close; - } - if (countitem(925) < 25) { - mes "[Gregor]"; - mes "It doesn't look"; - mes "like you have enough."; - next; - mes "[Gregor]"; - mes "Can you help me"; - mes "out and bring me"; - mes "^FF000025 Bill of Birds^000000?"; - close; - }else{ - delitem 925,25; - getexp 4000,2000; - mes "[Gregor]"; - mes "Thank you so much."; - next; - mes "[Gregor]"; - mes "This is gonna be"; - mes "delicious!"; - close; - } -} - -// Lilla - 50 Sharp Leaf -//=========================================================== -um_fild01,35,281,5 script Lilla#iROExp 724,{ - if((BaseLevel < 60)) { - mes "[Lilla]"; - mes "You are way too tiny to be helping"; - mes "me. Thank you for your offer"; - mes "though."; - close; - } - else if((BaseLevel > 85)) { - mes "[Lilla]"; - mes "Sorry but you are a little to old"; - mes "and scary to talk to!"; - next; - close; - } - mes "[Lilla]"; - mes "Why hello!"; - mes "You look like someone who is"; - mes "willing to help a lil thing like"; - mes "myself out."; - next; - mes "[Lilla]"; - mes "I really need to gather ^00CE0050 Sharp^000000"; - mes "^00CE00Leaf^000000 for my garden tea party."; - mes "Do you have any?"; - next; - if(select("I have 50 Sharp Leaf:What, sorry I was day dreaming") == 2) { - mes "[Lilla]"; - mes "I need ^00CE0050 Sharp Leafs^000000."; - close; - } - if (countitem(7100) < 50) { - mes "[Lilla]"; - mes "Why, I may look cute and silly but"; - mes "please don't play games with me."; - close; - }else{ - mes "[Lilla]"; - mes "Hey, your a sweet little thing."; - mes "Thanks so much for helping me!"; - next; - delitem 7100,50; - getitem 504,10; - getexp 262485,141835; - mes "[Lilla]"; - mes "Oh, I almost forgot. I have"; - mes "something for you ^_^"; - mes "Thank you so much again for your"; - mes "help."; - close; - } -} - -// Lella - 50 Huge Leaf -//============================================================ -ayo_fild01,44,241,5 script Lella#iROExp 877,{ - if((BaseLevel < 36)) { - mes "[Lella]"; - mes "Quickly escape before they get"; - mes "their claws into your sanity!"; - close; - } - else if((BaseLevel > 65)) { - mes "[Lella]"; - mes "Not sure why you are here,"; - mes "but I can't offer you a bounty"; - mes "as there would be no effort"; - mes "in it for you!"; - close; - } - mes "[Lella]"; - mes "Why hello!"; - mes "You look like someone who is"; - mes "willing to help someone who is"; - mes "slowly going mad."; - next; - mes "[Lella]"; - mes "I really need to gather ^00CE0050 Huge^000000"; - mes "^00CE00Leaf^000000 for my sanity."; - mes "Do you have any?"; - next; - if(select("I have 50 Huge Leaf:What, sorry I was day dreaming") == 2) { - mes "[Lella]"; - mes "I need ^00CE0050 Huge Leafs^000000."; - close; - } - if (countitem(7198) < 50) { - mes "[Lella]"; - mes "Meow meow meow meow meow..."; - mes "NOOOOOOOOOOOO."; - close; - }else{ - mes "[Lella]"; - mes "Wonderful I can tell it is just a"; - mes "little bit quieter around here!"; - next; - delitem 7198,50; - getitem 503,10; - getexp 25740,31512; - mes "[Lella]"; - mes "The more leafs I collect the"; - mes "quieter it seems around here."; - close; - } -} - -// Vegetable Farmer - 50 Antelope Horn -//============================================================ -ein_fild06,82,171,7 script Vegetable Farmer#iROExp 919,{ - if((BaseLevel < 70)) { - mes "[Vegetable Farmer]"; - mes "My greens, where did they all go?"; - mes "Oh, no..no!!!"; - close; - } - else if((BaseLevel > 84)) { - mes "[Vegetable Farmer]"; - mes "Oh boy, Oh boy!"; - next; - mes "[Vegetable Farmer]"; - mes "Sorry I can't talk right now"; - mes "I am in a world of hurt here,"; - mes "these darn Goats are going to kill"; - mes "me."; - close; - } - mes "[Vegetable Farmer]"; - mes "Oh great!"; - mes "You are here to help me right?"; - mes "If not, then I am in a world of hurt."; - next; - mes "[Vegetable Farmer]"; - mes "These Goats keep eating my"; - mes "vegetables."; - mes "Can you do what you can to help"; - mes "me?"; - mes "I need ^FF0000Antelope Horns^000000"; - mes "to show for your hard work, and I"; - mes "will reward you."; - next; - if(select("I have Antelope Horns:What did you need?") == 2) { - mes "[Vegetable Farmer]"; - mes "I need to see that you have"; - mes "gathered"; - mes "^FF000050 Antelope Horns^000000,"; - mes "and then I can reward you."; - close; - } - if (countitem(7106) < 50) { - mes "[Vegetable Farmer]"; - mes "It doesn't look"; - mes "like you have enough."; - next; - mes "[Vegetable Farmer]"; - mes "I need to see that you have"; - mes "gathered"; - mes "^FF000050 Antelope Horns^000000,"; - mes "and then I can reward you."; - close; - }else{ - delitem 7106,50; - getitem 504,10; - getexp 258490,155155; - mes "[Vegetable Farmer]"; - mes "Amazing, you did that with speed. I"; - mes "am truly grateful."; - close; - } -} - -// Local Villager - 50 Bacillus -//============================================================ -ein_fild01,43,249,7 script Local Villager#iROExp 898,{ - if((BaseLevel < 60)) { - mes "[Local Villager]"; - mes "Its amazing, truly it is. I just"; - mes "wish I could get through this all."; - close; - } - else if((BaseLevel > 75)) { - mes "[Local Villager]"; - mes "Um, um. I don't think.."; - next; - mes "[Local Villager]"; - mes "Yeah, sorry I can't talk right"; - mes "now."; - close; - } - mes "[Local Villager]"; - mes "Hey, you there. Yeah you!"; - mes "Do you think you can help me with"; - mes "something?"; - next; - mes "[Local Villager]"; - mes "I am trying to make my way through"; - mes "but I can't seem to get past these"; - mes "Demon Pungus. Can you help by"; - mes "collecting ^FF0000Bacillus^000000?"; - mes "I will reward you for helping clear"; - mes "this out for me."; - next; - if(select("I have Bacillus:What did you need?") == 2) { - mes "[Local Villager]"; - mes "I need to see that you have"; - mes "gathered"; - mes "^FF000050 Bacillus^000000,"; - mes "and then I can reward you."; - close; - } - if (countitem(7119) < 50) { - mes "[Local Villager]"; - mes "It doesn't look"; - mes "like you have enough."; - next; - mes "[Local Villager]"; - mes "I need to see that you have"; - mes "gathered"; - mes "^FF000050 Bacillus^000000,"; - mes "and then I can reward you."; - close; - }else{ - delitem 7119,50; - getitem 504,10; - getexp 250266,144452; - mes "[Local Villager]"; - mes "I had my doubts, but you have"; - mes "proven me wrong."; - close; - } -} \ No newline at end of file diff --git a/npc/scripts_athena.conf b/npc/scripts_athena.conf index 7a408c249..430aace3a 100644 --- a/npc/scripts_athena.conf +++ b/npc/scripts_athena.conf @@ -59,7 +59,8 @@ npc: npc/merchants/enchan_arm.txt npc: npc/merchants/manuk.txt npc: npc/merchants/splendide.txt npc: npc/merchants/wander_pet_food.txt -// Cash Shop +// -------------------------------------------------------------- +// ------------------------- Cash Shop -------------------------- // See file before enabling, as you may wish to change the // point value of items to suit your own needs. //npc: npc/merchants/cash_trader.txt @@ -140,11 +141,24 @@ npc: npc/quests/first_class/tu_sword.txt npc: npc/quests/first_class/tu_thief01.txt //Wandering Minstrel Quest npc: npc/quests/Bard_Quest.txt -// iRO Repeatable EXP quests; -// Note: Before enabling remove -// 1) 925,Bill_Of_Birds; 2) 7106,Goat's_Horn -// From Vendor shops in npc/merchants/shops.txt -//npc: npc/quests/iRO_Exp.txt +// Repeatable EXP quests; +npc: npc/quests/collection/quest_alligator.txt +npc: npc/quests/collection/quest_caramel.txt +//Exploitable due to vendor selling Acorns in Moscovia +//npc: npc/quests/collection/quest_coco.txt +npc: npc/quests/collection/quest_creamy.txt +npc: npc/quests/collection/quest_demonpungus.txt +npc: npc/quests/collection/quest_dokebi.txt +npc: npc/quests/collection/quest_dryad.txt +npc: npc/quests/collection/quest_fabre.txt +npc: npc/quests/collection/quest_frilldora.txt +//Exploitable due to vendor selling Antelope Horns in Niflheim +//npc: npc/quests/collection/quest_goat.txt +npc: npc/quests/collection/quest_golem.txt +npc: npc/quests/collection/quest_hode.txt +npc: npc/quests/collection/quest_leafcat.txt +npc: npc/quests/collection/quest_pecopeco.txt +npc: npc/quests/collection/quest_pupa.txt //Town Relay Quests npc: npc/quests/2007_relay.txt //Guild Relay Quests @@ -278,7 +292,8 @@ npc: npc/other/resetskill.txt npc: npc/other/guildpvp.txt npc: npc/other/sealstatus.txt npc: npc/other/mercenary_rent.txt -// Turbo Track Files -------------------------------------------- +// -------------------------------------------------------------- +// -------------------- Turbo Track Arena ----------------------- npc: npc/other/turbotrack/Turbo_Track.txt // Normal Courses (Non-PVP) npc: npc/other/turbotrack/Normal_Solo.txt @@ -290,7 +305,7 @@ npc: npc/other/turbotrack/Expert_4.txt npc: npc/other/turbotrack/Expert_8.txt npc: npc/other/turbotrack/Expert_16.txt // -------------------------------------------------------------- -// --------------------Izlude Battle Arena ---------------------- +// ------------------- Izlude Battle Arena ---------------------- npc: npc/other/arena/arena_room.txt npc: npc/other/arena/arena_lvl50.txt npc: npc/other/arena/arena_lvl60.txt @@ -306,4 +321,5 @@ npc: npc/other/monster_race.txt npc: npc/instances/SealedShrine.txt //npc: npc/instances/EndlessTower.txt npc: npc/instances/OrcsMemory.txt +//npc: npc/instances/NydhoggsNext.txt // -------------------------------------------------------------- -- cgit v1.2.3-70-g09d2