浏览代码

* Optimized Eden Quest lv. 11-25 (re\quests\eden\)
* Fixed bugreport:6427 with new Alchemist quest (jobs\2-2\alchemist.txt)
* Other misc changes/fixes...

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

euphyy 12 年之前
父节点
当前提交
fb0a39fe3e

+ 1 - 1
npc/jobs/2-2/alchemist.txt

@@ -164,7 +164,7 @@ alde_alche,27,185,5	script	Alchemist Guildsman	744,{
 				mes "Please sign";
 				mes "the application.";
 				next;
-				menu "",-;
+				select(strcharinfo(0));
 				mes "[Parmy Gianino]";
 				mes "Good, good. Now, if you have";
 				mes "the Zeny for your application fee ready, I will tell you which items you will need to bring. Now, pay attention.";

+ 0 - 0
npc/other/Turbo_Track.txt → npc/other/turbo_track.txt


+ 1 - 1
npc/re/guides/guides_veins.txt

@@ -16,7 +16,7 @@
 veins,210,345,5	script	Veins Guide#veins01::GuideVeins	934,{
 	mes "[Veins Guide]";
 	mes "Thank you for coming through the rough sand storms. Welcome to ^8B4513Veins^000000, the Canyon Village.";
-	mes "If this is the first time for you to use the guide services, why don't you check the \"Notice\" menu first?";
+	mes "If this is the first time for you to use the guide services, why don't you check the "Notice" menu first?";
 	next;
 	while (1) {
 		switch(select("[ Temple ]:[ Inn ]:[ Pub ]:[ Weapon Shop ]:[ Tool Shop ]:[ Airport ]:[ Geological Research Institute ]:[ Cool Event Corp. Staff ]:Remove Marks from Mini-Map:Cancel")) {

+ 107 - 498
npc/re/quests/eden/11-25.txt

@@ -3,543 +3,152 @@
 //===== By: ==================================================
 //= L0ne_W0lf
 //===== Current Version: =====================================
-//= 1.1
+//= 1.2
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
-//= Repetable Quests for Players between Baselevel 10 - 26 .
+//= Repetable Quests for Players between Baselevel 11 - 25.
 //===== Additional Comments: =================================
 //= 1.0 First Version.
 //= 1.1 Some little optimization here and there. [Masao]
+//= 1.2 Optimized. [Euphy]
 //============================================================
 
 moc_para01,36,38,3	script	Mission [11 - 25]#Tuto	857,{
-	if (countitem(6219) > 0) {
-		set .@hunting1,checkquest(11114,HUNTING);
-		set .@hunting2,checkquest(11115,HUNTING);
-		set .@hunting3,checkquest(11116,HUNTING);
-		set .@hunting4,checkquest(11117,HUNTING);
-		set .@hunting5,checkquest(11118,HUNTING);
-		set .@hunting6,checkquest(11119,HUNTING);
-		set .@hunting7,checkquest(11120,HUNTING);
-		set .@hunting8,checkquest(11121,HUNTING);
-		set .@hunting9,checkquest(11122,HUNTING);
-		set .@hunting10,checkquest(11123,HUNTING);
-		set .@playtime1,checkquest(11124,PLAYTIME);
-		set .@playtime2,checkquest(11125,PLAYTIME);
-		set .@playtime3,checkquest(11126,PLAYTIME);
-		set .@playtime4,checkquest(11127,PLAYTIME);
-		set .@playtime5,checkquest(11128,PLAYTIME);
-		set .@playtime6,checkquest(11129,PLAYTIME);
-		set .@playtime7,checkquest(11130,PLAYTIME);
-		set .@playtime8,checkquest(11131,PLAYTIME);
-		set .@playtime9,checkquest(11132,PLAYTIME);
-		set .@playtime10,checkquest(11133,PLAYTIME);
-		if (.@playtime1 == 2) {
-			erasequest 11124;
-		}
-		if (.@playtime2 == 2) {
-			erasequest 11125;
-		}
-		if (.@playtime3 == 2) {
-			erasequest 11126;
-		}
-		if (.@playtime4 == 2) {
-			erasequest 11127;
-		}
-		if (.@playtime5 == 2) {
-			erasequest 11128;
-		}
-		if (.@playtime6 == 2) {
-			erasequest 11129;
-		}
-		if (.@playtime7 == 2) {
-			erasequest 11130;
-		}
-		if (.@playtime8 == 2) {
-			erasequest 11131;
-		}
-		if (.@playtime9 == 2) {
-			erasequest 11132;
-		}
-		if (.@playtime10 == 2) {
-			erasequest 11133;
-		}
-		if (.@hunting1 == 0 || .@hunting2 == 0 || .@hunting3 == 0 || .@hunting4 == 0 || .@hunting5 == 0 || .@hunting6 == 0 || .@hunting7 == 0 || .@hunting8 == 0 || .@hunting9 == 0 || .@hunting10 == 0 || .@hunting1 == 1 || .@hunting2 == 1 || .@hunting3 == 1 || .@hunting4 == 1 || .@hunting5 == 1 || .@hunting6 == 1 || .@hunting7 == 1 || .@hunting8 == 1 || .@hunting9 == 1 || .@hunting10 == 1) {
-			mes " - You can only request - ";
-			mes " - one mission at a time - ";
-			mes "";
-			mes " - Manager : Spike - ";
-			close;
-		}
-		if (.@hunting1 == 2 || .@hunting2 == 2 || .@hunting3 == 2 || .@hunting4 == 2 || .@hunting5 == 2 || .@hunting6 == 2 || .@hunting7 == 2 || .@hunting8 == 2 || .@hunting9 == 2 || .@hunting10 == 2) {
+	if (countitem(6219) < 1) {
+		mes "- You need to have an -";
+		mes "- ^4d4dff'Eden Group Mark'^000000 -";
+		mes "- to receive these missions. -";
+		close;
+	}
+	for(set .@i,11124; .@i<11134; set .@i,.@i+1)
+		if (checkquest(.@i,PLAYTIME) == 2) erasequest .@i;
+	for(set .@i,11114; .@i<11123; set .@i,.@i+1) {
+		set .@j, checkquest(.@i,HUNTING);
+		if (.@j == 2) {
 			mes " - You must collect your - ";
 			mes " - reward before starting - ";
 			mes " - a new mission. - ";
-			mes "";
+			mes " ";
 			mes " - Manager : Spike - ";
 			close;
 		}
-		if (BaseLevel < 11) {
-			mes " - There are no tasks - ";
-			mes " - open for you right now. - ";
+		else if (.@j >= 0) {
+			mes " - You can only request - ";
+			mes " - one mission at a time. - ";
+			mes " ";
+			mes " - Manager : Spike - ";
 			close;
 		}
-		if ((BaseLevel > 10) && (BaseLevel < 26)) {
-			mes " - Mission bulletin board -";
-			mes " - for beginners. -";
-			mes "";
-			mes " - Manager : Spike -";
-			next;
-			switch (select("Hornet Hunting:Condor Hunting:Grasshopper's Leg:Worm Tail Hunting:Spore Hunting:Pest Control:Muka Hunting:Familiar Hunting:Collect Feathers:Collect Poison Spores:Cancel")) {
-			case 1:
-				if (.@playtime1 == 1) {
-					mes " - Mission ^4d4dffHornet Hunting^000000 - ";
-					mes " - is already finished for today. - ";
-					mes "";
-					mes " - Manager : Spike - ";
-					close;
-				}
-				mes " - Mission 'Hornet Hunting' - ";
-				mes " - Hunt 10 ^4d4dff'Hornets'^000000 - ";
-				mes " - northwest of Prontera. - ";
-				mes "";
-				mes " - Manager : Spike - ";
-				next;
-				switch (select("I will do this mission.:Look for other missions.")) {
-				case 1:
-					mes " - Hunt 10 ^4d4dff'Hornets'^000000 - ";
-					mes " - northwest of Prontera. - ";
-					setquest 11114;
-					close;
-				case 2:
-					mes " - Let's search for other missions.- ";
-					close;
-				}
-			case 2:
-				if (.@playtime2 == 1) {
-					mes " - Mission ^4d4dffCondor Hunting^000000 - ";
-					mes " - is already finished for today. - ";
-					mes "";
-					mes " - Manager : Spike - ";
-					close;
-				}
-				mes " - Mission 'Condor Hunting' - ";
-				mes " - Hunt 20 ^4d4dff'Condors'^000000 - ";
-				mes " - south of Morroc. - ";
-				mes "";
-				mes " - Manager : Spike - ";
-				next;
-				switch (select("I will do this mission.:Look for other missions.")) {
-				case 1:
-					mes " - Hunt 20 ^4d4dff'Condors'^000000 - ";
-					mes " - south of Morroc. - ";
-					setquest 11115;
-					close;
-				case 2:
-					mes " - Let's search for other missions.- ";
-					close;
-				}
-			case 3:
-				if (.@playtime3 == 1) {
-					mes " - Mission ^4d4dffGrasshopper's Leg^000000 - ";
-					mes " - is already finished for today. - ";
-					mes "";
-					mes " - Manager : Spike - ";
-					close;
-				}
-				mes " - Mission 'Grasshopper's Leg' - ";
-				mes " - Hunt 10 ^4d4dff'Rockers'^000000 - ";
-				mes " - southwest of Prontera and - ";
-				mes " - bring 10 ^4d4dffGrasshopper's Legs^000000. - ";
-				mes " - Manager : Spike - ";
-				next;
-				switch (select("I will do this mission.:Look for other missions.")) {
-				case 1:
-					mes " - Hunt 10 ^4d4dff'Rockers'^000000 - ";
-					mes " - southwest of Prontera and - ";
-					mes " - bring 10 ^4d4dffGrasshopper's Legs^000000. - ";
-					setquest 11116;
-					close;
-				case 2:
-					mes " - Let's search for other missions.- ";
-					close;
-				}
-			case 4:
-				if (.@playtime4 == 1) {
-					mes " - Mission ^4d4dffWorm Tail Hunting^000000 - ";
-					mes " - is already finished for today. - ";
-					mes "";
-					mes " - Manager : Spike - ";
-					close;
-				}
-				mes " - Mission 'Worm Tail Hunting' - ";
-				mes " - Hunt 20 ^4d4dff'Worm Tails'^000000 - ";
-				mes " - southeast of Payon.- ";
-				mes "";
-				mes " - Manager : Spike - ";
-				next;
-				switch (select("I will do this mission.:Look for other missions.")) {
-				case 1:
-					mes " - Hunt 20 ^4d4dff'Worm Tails'^000000 - ";
-					mes " - southeast of Payon.- ";
-					setquest 11117;
-					close;
-				case 2:
-					mes " - Let's search for other missions.- ";
-					close;
-				}
-			case 5:
-				if (.@playtime5 == 1) {
-					mes " - Mission ^4d4dffSpore Hunting^000000 - ";
-					mes " - is already finished for today. - ";
-					mes "";
-					mes " - Manager : Spike - ";
-					close;
-				}
-				mes " - Mission 'Spore Hunting' - ";
-				mes " - Hunt 30 ^4d4dff'Spores'^000000 - ";
-				mes " - around Payon. - ";
-				mes "";
-				mes " - Manager : Spike - ";
-				next;
-				switch (select("I will do this mission.:Look for other missions.")) {
-				case 1:
-					mes " - Hunt 30 ^4d4dff'Spores'^000000 - ";
-					mes " - around Payon. - ";
-					setquest 11118;
-					close;
-				case 2:
-					mes " - Let's search for other missions.- ";
-					close;
-				}
-			case 6:
-				if (.@playtime6 == 1) {
-					mes " - Mission ^4d4dffPest Control^000000 - ";
-					mes " - is already finished for today. - ";
-					mes "";
-					mes " - Manager : Spike - ";
-					close;
-				}
-				mes " - Mission 'Pest Control' - ";
-				mes " - Hunt 20 ^4d4dffThief Bug Eggs^000000 - ";
-				mes " - in the Prontera Culvert - ";
-				mes " - and bring 10 ^4d4dffChrysalis^000000. - ";
-				mes " - Manager : Spike - ";
-				next;
-				switch (select("I will do this mission.:Look for other missions.")) {
-				case 1:
-					mes " - Hunt 20 ^4d4dffThief Bug Eggs^000000 - ";
-					mes " - in the Prontera Culvert - ";
-					mes " - and bring 10 ^4d4dffChrysalis^000000. - ";
-					setquest 11119;
-					close;
-				case 2:
-					mes " - Let's search for other missions.- ";
-					close;
-				}
-			case 7:
-				if (.@playtime7 == 1) {
-					mes " - Mission ^4d4dffMuka Hunting^000000 - ";
-					mes " - is already finished for today. - ";
-					mes "";
-					mes " - Manager : Spike - ";
-					close;
-				}
-				mes " - Mission 'Muka Hunting' - ";
-				mes " - Hunt 20 ^4d4dff'Muka'^000000 - ";
-				mes " - south of Prontera. - ";
-				mes "";
-				mes " - Manager : Spike - ";
-				next;
-				switch (select("I will do this mission.:Look for other missions.")) {
-				case 1:
-					mes " - Hunt 20 ^4d4dff'Muka'^000000 - ";
-					mes " - south of Prontera. - ";
-					setquest 11120;
-					close;
-				case 2:
-					mes " - Let's search for other missions.- ";
-					close;
-				}
-			case 8:
-				if (.@playtime8 == 1) {
-					mes " - Mission ^4d4dffFamiliar Hunting^000000 - ";
-					mes " - is already finished for today. - ";
-					mes "";
-					mes " - Manager : Spike - ";
-					close;
-				}
-				mes " - Mission 'Familiar Hunting' - ";
-				mes " - Hunt 20 ^4d4dffFamiliar^000000 - ";
-				mes " - in the Culvert Sewers - ";
-				mes " - west of Prontera. - ";
-				mes " - Manager : Spike - ";
-				next;
-				switch (select("I will do this mission.:Look for other missions.")) {
-				case 1:
-					mes " - Hunt 20 ^4d4dffFamiliar^000000 - ";
-					mes " - in the Culvert Sewers - ";
-					mes " - west of Prontera. - ";
-					setquest 11121;
-					close;
-				case 2:
-					mes " - Let's search for other missions.- ";
-					close;
-				}
-			case 9:
-				if (.@playtime9 == 1) {
-					mes " - Mission ^4d4dffCollect Feathers^000000 - ";
-					mes " - is already finished for today. - ";
-					mes "";
-					mes " - Manager : Spike - ";
-					close;
-				}
-				mes " - Mission 'Collect Feathers' - ";
-				mes " - Hunt 30 ^4d4dff'Peco Pecos'^000000 - ";
-				mes " - south of Prontera. - ";
-				mes "";
-				mes " - Manager : Spike - ";
-				next;
-				switch (select("I will do this mission.:Look for other missions.")) {
-				case 1:
-					mes " - Hunt 30 ^4d4dff'Peco Pecos'^000000 - ";
-					mes " - south of Prontera. - ";
-					setquest 11122;
-					close;
-				case 2:
-					mes " - Let's search for other missions.- ";
-					close;
-				}
-			case 10:
-				if (.@playtime10 == 1) {
-					mes " - Mission ^4d4dffCollect Poison Spores^000000 - ";
-					mes " - is already finished for today. - ";
-					mes "";
-					mes " - Manager : Spike - ";
-					close;
-				}
-				mes " - Mission 'Collect Poison Spores' - ";
-				mes " - Hunt 30 ^4d4dffPoison Spores^000000 - ";
-				mes " - inside the Geffen Tower and - ";
-				mes " - bring 5 ^4d4dffPoison Spores^000000. - ";
-				mes " - Manager : Spike - ";
-				next;
-				switch (select("I will do this mission.:Look for other missions.")) {
-				case 1:
-					mes " - Hunt 30 ^4d4dffPoison Spores^000000 - ";
-					mes " - inside the Geffen Tower Dungeon - ";
-					mes " - bring 5 ^4d4dffPoison Spores^000000. - ";
-					if (.@playtime10 == 2) {
-							erasequest 11133;
-						}
-					setquest 11123;
-					close;
-				case 2:
-					mes " - Let's search for other missions.- ";
-					close;
-				}
-			case 11:
-				mes " - Stop reading the bulletin board. - ";
-				close;
-			}
-		}
+	}
+	if (BaseLevel < 11) {
+		mes " - There are no tasks - ";
+		mes " - open for you right now. - ";
+		close;
+	}
+	if (BaseLevel > 25) {
 		mes " - These missions are too - ";
 		mes " - easy for your caliber - ";
 		mes " - search for a more level - ";
 		mes " - appropriate mission. - ";
 		close;
 	}
-	mes "-You need to have a-";
-	mes "-^4d4dff'Eden Group Mark'^000000-";
-	mes "-to receive these missions-";
-	close;
-}
-
-moc_para01,32,30,6	script	Spike	914,{
-
-	set .@hunting1,checkquest(11114,HUNTING);
-	set .@hunting2,checkquest(11115,HUNTING);
-	set .@hunting3,checkquest(11116,HUNTING);
-	set .@hunting4,checkquest(11117,HUNTING);
-	set .@hunting5,checkquest(11118,HUNTING);
-	set .@hunting6,checkquest(11119,HUNTING);
-	set .@hunting7,checkquest(11120,HUNTING);
-	set .@hunting8,checkquest(11121,HUNTING);
-	set .@hunting9,checkquest(11122,HUNTING);
-	set .@hunting10,checkquest(11123,HUNTING);
-	if (.@hunting1 == 0 || .@hunting2 == 0 || .@hunting3 == 0 || .@hunting4 == 0 || .@hunting5 == 0 || .@hunting6 == 0 || .@hunting7 == 0 || .@hunting8 == 0 || .@hunting9 == 0 || .@hunting10 == 0 || .@hunting1 == 1 || .@hunting2 == 1 || .@hunting3 == 1 || .@hunting4 == 1 || .@hunting5 == 1 || .@hunting6 == 1 || .@hunting7 == 1 || .@hunting8 == 1 || .@hunting9 == 1 || .@hunting10 == 1) {
-		mes "[Spike]";
-		mes "You haven't finished your mission yet.";
-		mes "Keep up the good work. You are almost done.";
-		close;
-	}
-	if (.@hunting1 == 2) {
-		mes "[Spike]";
-		mes "Hmm... let me see~";
-		mes "You have completed the 'Hornet Hunting' mission.";
-		next;
-		mes "[Spike]";
-		mes "Good work~!!";
-		mes "Our client is so happy with your work. He will appreciate what you have done.";
-		mes "Please help us again. Thanks!";
-		erasequest 11114;
-		setquest 11124;
-		getexp 900,0;
-		close;
-	}
-	if (.@hunting2 == 2) {
-		mes "[Spike]";
-		mes "Hmm... let me see~";
-		mes "You have completed the 'Condor Hunting' mission.";
-		next;
-		mes "[Spike]";
-		mes "Good work~!!";
-		mes "Our client is so happy with your work. He will appreciate what you have done.";
-		mes "Please help us again. Thanks!";
-		erasequest 11115;
-		setquest 11125;
-		getexp 1800,0;
-		close;
-	}
-	if (.@hunting3 == 2) {
-		if (countitem(940) > 9) {
-			mes "[Spike]";
-			mes "Hmm... let me see~";
-			mes "You have completed the 'Grasshopper's Leg' mission.";
-			next;
-			mes "[Spike]";
-			mes "Good work~!!";
-			mes "Our client is so happy with your work. He will appreciate what you have done.";
-			mes "Please help us again. Thanks!";
-			delitem 940,10; //Grasshopper's_Leg
-			erasequest 11116;
-			setquest 11126;
-			getexp 1400,0;
-			close;
-		}
-		mes "[Spike]";
-		mes "You don't have enough Grasshopper's Legs.";
-		mes "You need to bring 10 Grasshopper's Legs.";
-		close;
+	mes " - Mission bulletin board -";
+	mes " - for beginners. -";
+	mes " ";
+	mes " - Manager : Spike -";
+	next;
+	switch(select("Hornet Hunting:Condor Hunting:Grasshopper's Leg:Worm Tail Hunting:Spore Hunting:Pest Control:Muka Hunting:Familiar Hunting:Collect Feathers:Collect Poison Spores:Cancel")) {
+		case 1: callsub L_Quest,11114,"Hornet Hunting"," - Hunt 10 ^4d4dff'Hornets'^000000 - "," - northwest of Prontera. - ";
+		case 2: callsub L_Quest,11115,"Condor Hunting"," - Hunt 20 ^4d4dff'Condors'^000000 - "," - south of Morroc. - ";
+		case 3: callsub L_Quest,11116,"Grasshopper's Leg"," - Hunt 10 ^4d4dff'Rockers'^000000 - "," - southwest of Prontera and - "," - bring 10 ^4d4dffGrasshopper's Legs^000000. - ";
+		case 4: callsub L_Quest,11117,"Worm Tail Hunting"," - Hunt 20 ^4d4dff'Worm Tails'^000000 - "," - southeast of Payon.- ";
+		case 5: callsub L_Quest,11118,"Spore Hunting"," - Hunt 30 ^4d4dff'Spores'^000000 - "," - around Payon. - ";
+		case 6: callsub L_Quest,11119,"Pest Control"," - Hunt 20 ^4d4dffThief Bug Eggs^000000 - "," - in the Prontera Culvert - "," - and bring 10 ^4d4dffChrysalis^000000. - ";
+		case 7: callsub L_Quest,11120,"Muka Hunting"," - Hunt 20 ^4d4dff'Muka'^000000 - "," - south of Prontera. - ";
+		case 8: callsub L_Quest,11121,"Familiar Hunting"," - Hunt 20 ^4d4dffFamiliar^000000 - "," - in the Culvert Sewers - "," - west of Prontera. - ";
+		case 9: callsub L_Quest,11122,"Collect Feathers"," - Hunt 30 ^4d4dff'Peco Pecos'^000000 - "," - south of Prontera. - ";
+		case 10: callsub L_Quest,11123,"Collect Poison Spores"," - Hunt 30 ^4d4dffPoison Spores^000000 - "," - inside the Geffen Tower and - "," - bring 5 ^4d4dffPoison Spores^000000. - ";
+		case 11: mes " - Stop reading the bulletin board. - "; close;
 	}
-	if (.@hunting4 == 2) {
-		mes "[Spike]";
-		mes "Hmm... let me see~";
-		mes "You have completed the 'Worm Tail Hunting' mission.";
-		next;
-		mes "[Spike]";
-		mes "Good work~!!";
-		mes "Our client is so happy with your work. He will appreciate what you have done.";
-		mes "Please help us again. Thanks!";
-		erasequest 11117;
-		setquest 11127;
-		getexp 2600,0;
+	end;
+L_Quest:
+	if (checkquest(getarg(0),PLAYTIME) == 1) {
+		mes " - Mission ^4d4dff"+getarg(1)+"^000000 - ";
+		mes " - is already finished for today. - ";
+		mes " ";
+		mes " - Manager : Spike - ";
 		close;
 	}
-	if (.@hunting5 == 2) {
-		mes "[Spike]";
-		mes "Hmm... let me see~";
-		mes "You have completed the 'Spore Hunting' mission.";
-		next;
-		mes "[Spike]";
-		mes "Good work~!!";
-		mes "Our client is so happy with your work. He will appreciate what you have done.";
-		mes "Please help us again. Thanks!";
-		erasequest 11118;
-		setquest 11128;
-		getexp 3900,0;
+	mes " - Mission '"+getarg(1)+"' - ";
+	for(set .@i,2; .@i<getargcount(); set .@i,.@i+1)
+		mes getarg(.@i);
+	mes " ";
+	mes " - Manager : Spike - ";
+	next;
+	if(select("I will do this mission.:Look for other missions.") == 2) {
+		mes " - Let's search for -";
+		mes " - other missions. - ";
 		close;
 	}
-	if (.@hunting6 == 2) {
-		if (countitem(915) > 9) {
-			mes "[Spike]";
-			mes "Hmm... let me see~";
-			mes "You have completed the 'Extirpate Insects' mission.";
-			next;
+	for(set .@i,2; .@i<getargcount(); set .@i,.@i+1)
+		mes getarg(.@i);
+	if (getarg(0) == 11123 && checkquest(11123,PLAYTIME) == 2)
+		erasequest 11133;	// Special case for "Collect Poison Spores"
+	setquest getarg(0);
+	close;
+}
+
+moc_para01,32,30,6	script	Spike	914,{
+	for(set .@i,11114; .@i<11124; set .@i,.@i+1) {
+		set .@j, checkquest(.@i,HUNTING);
+		if (.@j == 2) switch(.@i) {
+			case 11114: callsub L_Quest,.@i,"Hornet Hunting",900;
+			case 11115: callsub L_Quest,.@i,"Condor Hunting",1800;
+			case 11116: callsub L_Quest,.@i,"Grasshopper's Leg",1400,940,10;
+			case 11117: callsub L_Quest,.@i,"Worm Tail Hunting",2600;
+			case 11118: callsub L_Quest,.@i,"Spore Hunting",3900;
+			case 11119: callsub L_Quest,.@i,"Extirpate Insects",2900,915,10;
+			case 11120: callsub L_Quest,.@i,"Muka Hunting",3200;
+			case 11121: callsub L_Quest,.@i,"Familiar Hunting",3200;
+			case 11122: callsub L_Quest,.@i,"Collect Feathers",5400;
+			case 11123: callsub L_Quest,.@i,"Collect Poison Spores",6000,7033,5;
+		}
+		else if (.@j >= 0) {
 			mes "[Spike]";
-			mes "Good work~!!";
-			mes "Our client is so happy with your work. He will appreciate what you have done.";
-			mes "Please help us again. Thanks!";
-			delitem 915,10; //Chrysalis
-			erasequest 11119;
-			setquest 11129;
-			getexp 2900,0;
+			mes "You haven't finished your mission yet.";
+			mes "Keep up the good work. You are almost done.";
 			close;
 		}
-		mes "[Spike]";
-		mes "You don't have enough Chrysalis.";
-		mes "You need to bring 10 Chrysalis.";
-		close;
 	}
-	if (.@hunting7 == 2) {
-		mes "[Spike]";
-		mes "Hmm... let me see~";
-		mes "You have completed the 'Muka Hunting' mission.";
-		next;
-		mes "[Spike]";
-		mes "Good work~!!";
-		mes "Our client is so happy with your work. He will appreciate what you have done.";
-		mes "Please help us again. Thanks!";
-		erasequest 11120;
-		setquest 11130;
-		getexp 3200,0;
-		close;
-	}
-	if (.@hunting8 == 2) {
-		mes "[Spike]";
-		mes "Hmm... let me see~";
-		mes "You have completed the 'Familiar Hunting' mission.";
-		next;
-		mes "[Spike]";
-		mes "Good work~!!";
-		mes "Our client is so happy with your work. He will appreciate what you have done.";
-		mes "Please help us again. Thanks!";
-		erasequest 11121;
-		setquest 11131;
-		getexp 3200,0;
-		close;
-	}
-	if (.@hunting9 == 2) {
+	mes "[Spike]";
+	mes "Are you looking for a job?";
+	mes "We always have lots of work to do.";
+	next;
+	mes "[Spike]";
+	mes "Why don't you look around and find some interesting tasks?";
+	close;
+L_Quest:
+	if (checkquest(getarg(0),HUNTING) == 2) {
+		if (getarg(3,0))
+			if (countitem(getarg(3)) < getarg(4)) {
+				mes "[Spike]";
+				mes "You don't have enough "+getitemname(getarg(3))+".";
+				mes "You need to bring "+getarg(4)+" "+getitemname(getarg(3))+".";
+				close;
+			}
 		mes "[Spike]";
 		mes "Hmm... let me see~";
-		mes "You have completed the 'Collect Feathers' mission.";
+		mes "You have completed the '"+getarg(1)+"' mission.";
 		next;
 		mes "[Spike]";
 		mes "Good work~!!";
 		mes "Our client is so happy with your work. He will appreciate what you have done.";
 		mes "Please help us again. Thanks!";
-		erasequest 11122;
-		setquest 11132;
-		getexp 5400,0;
-		close;
-	}
-	if (.@hunting10 == 2) {
-		if (countitem(7033) > 4) {
-			mes "[Spike]";
-			mes "Hmm... let me see~";
-			mes "You have completed the 'Collect Poison Spores' mission.";
-			next;
-			mes "[Spike]";
-			mes "Good work~!!";
-			mes "Our client is so happy with your work. He will appreciate what you have done.";
-			mes "Please help us again. Thanks!";
-			delitem 7033,5; // Poison Spore
-			erasequest 11123;
-			setquest 11133;
-			getexp 6000,0;
-			close;
-		}
-		mes "[Spike]";
-		mes "You don't have enough Poison Spores.";
-		mes "You need to bring 5 Poison Spores.";
+		if (getarg(3,0)) delitem getarg(3),getarg(4);
+		erasequest getarg(0);
+		setquest getarg(0)+10;
+		getexp getarg(2),0;
 		close;
 	}
-	mes "[Spike]";
-	mes "Are you looking for a job?";
-	mes "We always have lots of work to do.";
-	next;
-	mes "[Spike]";
-	mes "Why don't you look around and find some interesting tasks?.";
-	close;
 }

+ 2 - 2
npc/re/quests/eden/26-40.txt

@@ -7,7 +7,7 @@
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
-//= Repetable Quests for Players between Baselevel 25 - 41 .
+//= Repetable Quests for Players between Baselevel 26 - 40.
 //===== Additional Comments: =================================
 //= 1.0 First Version.
 //= 1.1 Some little optimization here and there. [Masao]
@@ -15,7 +15,7 @@
 //============================================================
 
 moc_para01,38,38,3	script	Mission [26 - 40]	857,{
-	if (countitem(6219) != 1) {
+	if (countitem(6219) < 1) {
 		mes "You are not a qualified member. You can not use the bulletin board.";
 		close;
 	}

+ 1 - 1
npc/re/quests/eden/41-55.txt

@@ -7,7 +7,7 @@
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
-//= Repetable Quests for Players between Baselevel 40 - 56 .
+//= Repetable Quests for Players between Baselevel 41 - 55.
 //===== Additional Comments: =================================
 //= 1.0 First Version.
 //= 1.1 Some little optimization here and there. [Masao]

+ 1 - 1
npc/re/quests/eden/56-70.txt

@@ -7,7 +7,7 @@
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
-//= Repetable Quests for Players between Baselevel 55 - 71 .
+//= Repetable Quests for Players between Baselevel 56 - 70.
 //===== Additional Comments: =================================
 //= 1.0 First Version.
 //= 1.1 Some little optimization here and there. [Masao]

+ 1 - 1
npc/re/quests/eden/71-85.txt

@@ -7,7 +7,7 @@
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
-//= Repetable Quests for Players between Baselevel 70 - 86 .
+//= Repetable Quests for Players between Baselevel 71 - 85.
 //===== Additional Comments: =================================
 //= 1.0 First Version.
 //= 1.1 Some little optimization here and there. [Masao]

+ 1 - 1
npc/re/quests/eden/86-90.txt

@@ -7,7 +7,7 @@
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
-//= Repetable Quests for Players between Baselevel 85 - 91 .
+//= Repetable Quests for Players between Baselevel 86 - 90.
 //===== Additional Comments: =================================
 //= 1.0 First Version. [Chilly]
 //= 1.1 Some little improvements here and there. [Masao]

+ 1 - 1
npc/re/quests/eden/91-99.txt

@@ -7,7 +7,7 @@
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
-//= Repetable Quests for Players between Baselevel 90 - 100 .
+//= Repetable Quests for Players between Baselevel 91 - 99.
 //===== Additional Comments: =================================
 //= 1.0 First Version. [Chilly]
 //= 1.1 Some little improvements here and there. [Masao]

+ 3 - 3
npc/re/quests/eden/eden_service.txt

@@ -17,7 +17,7 @@
 	mes "It is a Goods Storage Cabinet.";
 	mes "A message is written on a piece of paper.";
 	next;
-	mes "+ Cabinet  is exclusively +";
+	mes "+ Cabinet is exclusively +";
 	mes "+ for the Eden group +";
 	mes "If you want to use this";
 	mes "cabinet please check";
@@ -30,12 +30,12 @@
 	mes "3.Cabinet fee is";
 	mes "  ^4d4dff500 zeny^000000!";
 	next;
-    if (countitem(6219) > 0) {
+	if (countitem(6219) > 0) {
 		mes "You need to insert zeny to use the cabinet.";
 		mes "Cost : 500 Zeny ";
 		mes "Would you like to use it?";
 		next;
-		switch (select("Use the Cabinet.:Cancel.")) {
+		switch(select("Use the Cabinet.:Cancel.")) {
 			case 1:
 				if (Zeny > 499) {
 					if (getskilllv("NV_BASIC") < 6) {

+ 1 - 1
npc/scripts_athena.conf

@@ -167,7 +167,7 @@ npc: npc/merchants/cashheadgear_dye.txt
 
 // --------------------------- Others ---------------------------
 // - Turbo Track Arena ------------------------------------------
-npc: npc/other/Turbo_Track.txt
+npc: npc/other/turbo_track.txt
 // --------------------------------------------------------------
 npc: npc/other/auction.txt
 npc: npc/other/books.txt