瀏覽代碼

- Added Instructor Ur to Eden Quest Quests. bugreport:5742
- Added Mission Boards 86-90 and 91-99 to Eden Group. bugreport:5742
- Updated quest_db.txt to match the new Quests in the new Eden Group Quests.
* Special thanks to Chilly for providing the base of the scripts! <3
- Updated Rune Knight Job change Quest for the last time to finally work as official as possible.

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

masao87 13 年之前
父節點
當前提交
7cee7996e8
共有 6 個文件被更改,包括 3133 次插入116 次删除
  1. 64 0
      db/quest_db.txt
  2. 111 109
      npc/jobs/3-1/rune_knight.txt
  3. 371 0
      npc/quests/eden/86-90.txt
  4. 420 0
      npc/quests/eden/91-99.txt
  5. 2165 7
      npc/quests/eden/eden_quests.txt
  6. 2 0
      npc/scripts_athena.conf

+ 64 - 0
db/quest_db.txt

@@ -411,6 +411,40 @@
 4134,0,0,0,0,0,0,0,"Iara"
 4135,86400,0,0,0,0,0,0,"Iara"
 
+// Paradise 86 - 90 [Chilly]
+4167,0,1321,30,0,0,0,0,"Paradise: Dragon Tail Handling"
+4168,0,1322,30,0,0,0,0,"Paradise: Spring Rabbit Handling"
+4169,0,1256,30,0,0,0,0,"Paradise: Pest Handling"
+4170,0,1102,30,0,0,0,0,"Paradise: Bathory Handling"
+4171,0,1193,30,0,0,0,0,"Paradise: Alarm Handling"
+4172,0,1882,30,0,0,0,0,"Paradise: Babayaga Handling"
+4173,0,1512,30,0,0,0,0,"Paradise: Hyegun Handling"
+4174,0,1403,30,0,0,0,0,"Paradise: Antique Firelock Handling"
+4175,0,1417,30,0,0,0,0,"Paradise: Zipper Bear Handling"
+4176,0,1155,30,0,0,0,0,"Paradise: Earth Petite Handling"
+4177,0,1162,30,0,0,0,0,"Paradise: Rafflesia Handling"
+4178,0,1621,30,0,0,0,0,"Paradise: Venomous Handling"
+4179,0,1616,30,0,0,0,0,"Paradise: Pitman Handling"
+4180,0,1718,30,0,0,0,0,"Paradise: Yellow Novus Handling"
+
+// Paradise 91 - 99 [Chilly]
+4181,0,1316,30,0,0,0,0,"Paradise: Solider Handling"
+4182,0,1319,30,0,0,0,0,"Paradise: Freezer Handling"
+4183,0,1318,30,0,0,0,0,"Paradise: Heater Handling"
+4184,0,1257,30,0,0,0,0,"Paradise: Injustice Handling"
+4185,0,1201,30,0,0,0,0,"Paradise: Rybio Handling"
+4186,0,1198,30,0,0,0,0,"Paradise: Dark Priest Handling"
+4187,0,1784,30,0,0,0,0,"Paradise: Stapo Handling"
+4188,0,1782,30,0,0,0,0,"Paradise: Roween Handling"
+4189,0,1776,30,0,0,0,0,"Paradise: Siroma Handling"
+4190,0,1401,30,0,0,0,0,"Paradise: Shinobi Handling"
+4191,0,1416,30,0,0,0,0,"Paradise: Evil Nymph Handling"
+4192,0,1109,30,0,0,0,0,"Paradise: Deviruchi Handling"
+4193,0,1614,30,0,0,0,0,"Paradise: Mineral Handling"
+4194,0,1072,30,0,0,0,0,"Paradise: Kaho Handling"
+4195,0,1255,30,0,0,0,0,"Paradise: Neraid Handling"
+4196,0,1506,30,0,0,0,0,"Paradise: Disguise Handling"
+
 5000,0,0,0,0,0,0,0,"The Crow of the Fate - 7"
 
 6000,0,0,0,0,0,0,0,"Job Change to Taekwon"
@@ -614,6 +648,36 @@
 
 7181,0,0,0,0,0,0,0,"Karakas's ring"
 
+// Paradise Gear Advanced Quests [Chilly]
+7214,0,0,0,0,0,0,0,"Paradise Advanced: Romeo Training"
+7215,0,1278,3,0,0,0,0,"Paradise Advanced: Romeo Hunt 1"
+7216,0,1278,10,0,0,0,0,"Paradise Advanced: Romeo Hunt 2"
+7217,0,0,0,0,0,0,0,"Paradise Advanced: Romeo Hunt 3"
+7218,0,0,0,0,0,0,0,"Paradise Advanced: Romeo Complete"
+7219,0,0,0,0,0,0,0,"Paradise Advanced: Johan Training"
+7220,0,1192,20,0,0,0,0,"Paradise Advanced: Johan Hunt 1"
+7221,0,1117,10,0,0,0,0,"Paradise Advanced: Johan Hunt 2"
+7222,0,0,0,0,0,0,0,"Paradise Advanced: Johan Complete"
+7223,0,0,0,0,0,0,0,"Paradise Advanced: Kiren Training"
+7224,0,1619,30,0,0,0,0,"Paradise Advanced: Kiren Hunt 1"
+7225,0,1620,30,0,0,0,0,"Paradise Advanced: Removed"
+7226,0,1621,30,0,0,0,0,"Paradise Advanced: Kiren Hunt 2 (Part A)"
+7227,0,1622,5,0,0,0,0,"Paradise Advanced: Kiren Hunt 2 (Part B)"
+7228,0,0,0,0,0,0,0,"Paradise Advanced: Kiren Complete"
+7229,0,0,0,0,0,0,0,"Paradise Advanced: Naomi Training"
+7230,0,1776,30,0,0,0,0,"Paradise Advanced: Naomi Hunt 1"
+7231,0,1776,30,0,0,0,0,"Paradise Advanced: Naomi Hunt 2"
+7232,0,0,0,0,0,0,0,"Paradise Advanced: Naomi Complete"
+7233,0,0,0,0,0,0,0,"Paradise Advanced: Margaret Training"
+7234,0,0,0,0,0,0,0,"Paradise Advanced: Margaret's Favor"
+7235,0,1988,1,0,0,0,0,"Paradise Advanced: Margaret Hunt 1"
+7236,0,1995,5,0,0,0,0,"Paradise Advanced: Margaret Hunt 2"
+7237,0,0,0,0,0,0,0,"Paradise Advanced: Margaret Complete"
+7238,0,0,0,0,0,0,0,"Toren's Errands (Easy)"
+7239,0,0,0,0,0,0,0,"Toren's Errands (Normal)"
+7240,0,0,0,0,0,0,0,"Strengthening Equipment"
+7241,86400,0,0,0,0,0,0,"Toren's Errands - Tomorrow"
+
 8000,0,0,0,0,0,0,0,"Quitting Job Change"
 8001,0,0,0,0,0,0,0,"Job Change to Assassin"
 8002,0,0,0,0,0,0,0,"Job Change to Assassin"

+ 111 - 109
npc/jobs/3-1/rune_knight.txt

@@ -721,11 +721,11 @@ job3_rune01,90,50,3	script	Rune Knight Lunarea	469,{
 			next;
 			switch (select("Move to the test field now.:Give me time to get ready.")) {
 			case 1:
-				if ($@08_job_rune_test1 == 0) {
+				if ($@job_rune_test1 == 0) {
 					mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal.";
 					set job_rune_edq, 4;
 					changequest 3202,3203;
-					set $@08_job_rune_test1,1;
+					set $@job_rune_test1,1;
 					close2;
 					warp "job3_rune02",38,40;
 					end;
@@ -764,9 +764,9 @@ job3_rune01,90,50,3	script	Rune Knight Lunarea	469,{
 			switch (select("Move to the test field now.:Please give me time to prepare.")) {
 			case 1:
 				if (checkquest(3220,PLAYTIME) == -1 || checkquest(3220,PLAYTIME) == 0) {
-					if ($@08_job_rune_test1 == 0) {
+					if ($@job_rune_test1 == 0) {
 						mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal.";
-						set $@08_job_rune_test1,1;
+						set $@job_rune_test1,1;
 						erasequest 3220;
 						setquest 3220;
 						close2;
@@ -798,9 +798,9 @@ job3_rune01,90,50,3	script	Rune Knight Lunarea	469,{
 				}
 				if (checkquest(3220,PLAYTIME) == 2) {
 					erasequest 3220;
-					if ($@08_job_rune_test1 == 0) {
+					if ($@job_rune_test1 == 0) {
 						mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal.";
-						set $@08_job_rune_test1,1;
+						set $@job_rune_test1,1;
 						erasequest 3220;
 						setquest 3220;
 						close2;
@@ -2746,9 +2746,9 @@ job3_rune01,114,50,3	script	Rune Knight Velpino	468,{
 				case 1:
 					if ((.@strRetPart1 == 0) && (.@strRetPart2 == 0) && (.@strRetPart5 == 0) && (.@strRetPart6 == 0) && (.@strRetPart7 == 0) && (.@strRetPart8 == 0) && (.@strRetPart10 == 0) && (.@strRetPart11 == 0)) {
 						if (checkquest(3220,PLAYTIME) == -1 || checkquest(3220,PLAYTIME) == 0) {
-							if ($@08_job_rune_test1 == 0) {
+							if ($@job_rune_test1 == 0) {
 								if (Weight < 4001) {
-									set $@08_job_rune_test1,1;
+									set $@job_rune_test1,1;
 									//ConsumeSpecialItem Rune_Kn_Test_Int
 									getitem 12389,30; //Runstone_Storm
 									getitem 12390,30; //Runstone_Millennium
@@ -2778,9 +2778,9 @@ job3_rune01,114,50,3	script	Rune Knight Velpino	468,{
 							close;
 						}
 						if (checkquest(3220,PLAYTIME) == 2) {
-							if ($@08_job_rune_test1 == 0) {
+							if ($@job_rune_test1 == 0) {
 								if (Weight < 4001) {
-									set $@08_job_rune_test1,1;
+									set $@job_rune_test1,1;
 									//ConsumeSpecialItem Rune_Kn_Test_Int
 									getitem 12389,30; //Runstone_Storm
 									getitem 12390,30; //Runstone_Millennium
@@ -2934,8 +2934,8 @@ OnTouch:
 	donpcevent "job_rune_edq#1st_tcnc::OnDisable";
 	donpcevent "job_rune_edq#3rd_tb::OnDisable";
 	donpcevent "job_rune_edq#3rd_tc::OnDisable";
-	set $@08_job_rune_test1,0;
-	set $@08_job_rune_test2,0;
+	set $@job_rune_test1,0;
+	set $@job_rune_test2,0;
 	donpcevent "#RK Test Hidden Portal 1::OnEnable";
 	mapwarp "job3_rune02","job3_rune01",80,65;
 	end;
@@ -3010,8 +3010,8 @@ OnTimer305000:
 	donpcevent "job_rune_edq#3rd_tc::OnDisable";
 	donpcevent "#RK Test Hidden Portal 1::OnEnable";
 	mapwarp "job3_rune02","job3_rune01",80,65;
-	set $@08_job_rune_test1,0;
-	set $@08_job_rune_test2,0;
+	set $@job_rune_test1,0;
+	set $@job_rune_test2,0;
 	stopnpctimer;
 	end;
 }
@@ -3039,36 +3039,36 @@ OnReset:
 	end;
 
 OnTimer5000:
-	monster "job3_rune02",0,0,"Raydric",1467,1;
-	monster "job3_rune02",0,0,"Raydric Archer",1453,1;
-	monster "job3_rune02",0,0,"Raydric Archer",1453,1;
+	monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+	monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+	monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 	end;
 
 OnTimer50000:
 	set .@job_rune_p,rand(1,6);
 	if (.@job_rune_p == 1) {
-		monster "job3_rune02",0,0,"Raydric",1467,1;
-		monster "job3_rune02",0,0,"Raydric Archer",1453,1;
-		monster "job3_rune02",0,0,"Raydric Archer",1453,1;
+		monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	else if (.@job_rune_p == 2 || .@job_rune_p == 4) {
-		monster "job3_rune02",0,0,"Rideword",1478,1;
-		monster "job3_rune02",0,0,"Rideword",1478,1;
-		monster "job3_rune02",0,0,"Rideword",1478,1;
-		monster "job3_rune02",0,0,"Rideword",1478,1;
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	else if (.@job_rune_p == 3 || .@job_rune_p == 5) {
-		monster "job3_rune02",0,0,"Phendark",1484,1;
-		monster "job3_rune02",0,0,"Rybio",1483,1;
+		monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	else if (.@job_rune_p == 6) {
-		monster "job3_rune02",0,0,"Wraith",1475,1;
-		monster "job3_rune02",0,0,"Wraith",1475,1;
-		monster "job3_rune02",0,0,"Wraith",1475,1;
-		monster "job3_rune02",0,0,"Wraith",1475,1;
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	end;
@@ -3076,28 +3076,28 @@ OnTimer50000:
 OnTimer100000:
 	set .@job_rune_p,rand(1,6);
 	if (.@job_rune_p == 1) {
-		monster "job3_rune02",0,0,"Raydric",1467,1;
-		monster "job3_rune02",0,0,"Raydric Archer",1453,1;
-		monster "job3_rune02",0,0,"Raydric Archer",1453,1;
+		monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	else if (.@job_rune_p == 2 || .@job_rune_p == 4) {
-		monster "job3_rune02",0,0,"Rideword",1478,1;
-		monster "job3_rune02",0,0,"Rideword",1478,1;
-		monster "job3_rune02",0,0,"Rideword",1478,1;
-		monster "job3_rune02",0,0,"Rideword",1478,1;
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	else if (.@job_rune_p == 3 || .@job_rune_p == 5) {
-		monster "job3_rune02",0,0,"Phendark",1484,1;
-		monster "job3_rune02",0,0,"Rybio",1483,1;
+		monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	else if (.@job_rune_p == 6) {
-		monster "job3_rune02",0,0,"Wraith",1475,1;
-		monster "job3_rune02",0,0,"Wraith",1475,1;
-		monster "job3_rune02",0,0,"Wraith",1475,1;
-		monster "job3_rune02",0,0,"Wraith",1475,1;
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	end;
@@ -3105,28 +3105,28 @@ OnTimer100000:
 OnTimer150000:
 	set .@job_rune_p,rand(1,6);
 	if (.@job_rune_p == 1) {
-		monster "job3_rune02",0,0,"Raydric",1467,1;
-		monster "job3_rune02",0,0,"Raydric Archer",1453,1;
-		monster "job3_rune02",0,0,"Raydric Archer",1453,1;
+		monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	else if (.@job_rune_p == 2 || .@job_rune_p == 4) {
-		monster "job3_rune02",0,0,"Rideword",1478,1;
-		monster "job3_rune02",0,0,"Rideword",1478,1;
-		monster "job3_rune02",0,0,"Rideword",1478,1;
-		monster "job3_rune02",0,0,"Rideword",1478,1;
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	else if (.@job_rune_p == 3 || .@job_rune_p == 5) {
-		monster "job3_rune02",0,0,"Phendark",1484,1;
-		monster "job3_rune02",0,0,"Rybio",1483,1;
+		monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	else if (.@job_rune_p == 6) {
-		monster "job3_rune02",0,0,"Wraith",1475,1;
-		monster "job3_rune02",0,0,"Wraith",1475,1;
-		monster "job3_rune02",0,0,"Wraith",1475,1;
-		monster "job3_rune02",0,0,"Wraith",1475,1;
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	end;
@@ -3134,28 +3134,28 @@ OnTimer150000:
 OnTimer200000:
 	set .@job_rune_p,rand(1,6);
 	if (.@job_rune_p == 1) {
-		monster "job3_rune02",0,0,"Raydric",1467,1;
-		monster "job3_rune02",0,0,"Raydric Archer",1453,1;
-		monster "job3_rune02",0,0,"Raydric Archer",1453,1;
+		monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	else if (.@job_rune_p == 2 || .@job_rune_p == 4) {
-		monster "job3_rune02",0,0,"Rideword",1478,1;
-		monster "job3_rune02",0,0,"Rideword",1478,1;
-		monster "job3_rune02",0,0,"Rideword",1478,1;
-		monster "job3_rune02",0,0,"Rideword",1478,1;
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	else if (.@job_rune_p == 3 || .@job_rune_p == 5) {
-		monster "job3_rune02",0,0,"Phendark",1484,1;
-		monster "job3_rune02",0,0,"Rybio",1483,1;
+		monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	else if (.@job_rune_p == 6) {
-		monster "job3_rune02",0,0,"Wraith",1475,1;
-		monster "job3_rune02",0,0,"Wraith",1475,1;
-		monster "job3_rune02",0,0,"Wraith",1475,1;
-		monster "job3_rune02",0,0,"Wraith",1475,1;
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+		monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
 		end;
 	}
 	end;
@@ -3165,6 +3165,9 @@ OnTimer250000:
 	donpcevent "job_rune_edq#1st_tcmc2::OnEnable";
 	donpcevent "job_rune_edq#1st_tcmc::OnDisable";
 	end;
+
+OnMyMobDead:
+	end;
 }
 
 job3_rune02,3,11,0	script	job_rune_edq#1st_tcmc2	139,{
@@ -3224,8 +3227,8 @@ OnMyMobDead:
 		donpcevent "job_rune_edq#1st_tcmc::OnDisable";
 		donpcevent "job_rune_edq#1st_tcmc2::OnDisable";
 		donpcevent "#RK Test Hidden Portal 1::OnEnable";
-		set $@08_job_rune_test1,0;
-		set $@08_job_rune_test2,0;
+		set $@job_rune_test1,0;
+		set $@job_rune_test2,0;
 		end;
 	}
 	end;
@@ -3245,7 +3248,7 @@ OnEnable:
 
 OnDisable:
 	hideonnpc "job_rune_edq#1st_tcnc";
-	set $@08_job_rune_test2,0;
+	set $@job_rune_test2,0;
 	donpcevent "Captain Tigris#jrt1::OnDisable";
 	donpcevent "Rune Knight Lunarea#jrt1::OnDisable";
 	donpcevent "Rune Knight Renoa#jrt1::OnDisable";
@@ -3256,7 +3259,7 @@ OnDisable:
 OnUse:
 	mapannounce "job3_rune02","Captain Tigris : Gentleman, Let's watch the test for a while.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 	stopnpctimer;
-	set $@08_job_rune_test2,0;
+	set $@job_rune_test2,0;
 	donpcevent "Captain Tigris#jrt1::OnDisable";
 	donpcevent "Rune Knight Lunarea#jrt1::OnDisable";
 	donpcevent "Rune Knight Renoa#jrt1::OnDisable";
@@ -3286,10 +3289,10 @@ OnTimer60000:
 job3_rune02,34,46,5	script	Captain Tigris#jrt1	470,{
 
 	set .@tigris,rand(1,6);
-	set .@rune_test2,$@08_job_rune_test2;
+	set .@rune_test2,$@job_rune_test2;
 	if ((job_rune_edq == 4) && (.@rune_test2 == 0)) {
 		if (.@tigris == 1) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			// custom translation
 			mapannounce "job3_rune02","Captain Tigris : May Beljeve bless you!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			sc_start SC_BLESSING,24000,10;
@@ -3297,7 +3300,7 @@ job3_rune02,34,46,5	script	Captain Tigris#jrt1	470,{
 			end;
 		}
 		else if ((.@tigris == 2) || (.@tigris == 4)) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			mapannounce "job3_rune02","Captain Tigris : The Spark of life... may flame again.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			percentheal 100,100;
 			skilleffect "AL_HEAL",1500;
@@ -3305,7 +3308,7 @@ job3_rune02,34,46,5	script	Captain Tigris#jrt1	470,{
 			end;
 		}
 		else if (.@tigris == 3) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			// custom translation
 			mapannounce "job3_rune02","Captain Tigris : Evil spirits! Return to your graves!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			specialeffect2 EF_METEORSTORM;
@@ -3314,7 +3317,7 @@ job3_rune02,34,46,5	script	Captain Tigris#jrt1	470,{
 			end;
 		}
 		else if (.@tigris == 5) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			// custom translation
 			mapannounce "job3_rune02","Captain Tigris : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			sc_start SC_STUN,10000,0;
@@ -3322,7 +3325,7 @@ job3_rune02,34,46,5	script	Captain Tigris#jrt1	470,{
 			end;
 		}
 		else if (.@tigris == 6) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			// custom translation
 			mapannounce "job3_rune02","Captain Tigris : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			sc_start SC_BLEEDING,10000,0;
@@ -3347,17 +3350,17 @@ OnDisable:
 
 OnTimer5000:
 	donpcevent "job_rune_edq#1st_tcnc::OnUse";
-	set $@08_job_rune_test2,0;
+	set $@job_rune_test2,0;
 	stopnpctimer;
 	end;
 }
 
 job3_rune02,43,46,3	script	Rune Knight Lunarea#jrt1	469,2,2,{
 	set .@tigris,rand(1,6);
-	set .@rune_test2,$@08_job_rune_test2;
+	set .@rune_test2,$@job_rune_test2;
 	if ((job_rune_edq == 4) && (.@rune_test2 == 0)) {
 		if (.@tigris == 1) {
-			set $@08_job_rune_test2, 1;
+			set $@job_rune_test2, 1;
 			// custom translation
 			mapannounce "job3_rune02","Rune Knight Lunarea : Quickly...find and strike at the enemy's vital points!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			sc_start SC_INCREASEAGI,24000,10;
@@ -3365,7 +3368,7 @@ job3_rune02,43,46,3	script	Rune Knight Lunarea#jrt1	469,2,2,{
 			end;
 		}
 		else if (.@tigris == 2 || .@tigris == 4) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			mapannounce "job3_rune02","Rune Knight Lunarea : It's not over... you need more power...",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			percentheal 100,100;
 			skilleffect "AL_HEAL",1500;
@@ -3373,7 +3376,7 @@ job3_rune02,43,46,3	script	Rune Knight Lunarea#jrt1	469,2,2,{
 			end;
 		}
 		else if (.@tigris == 3) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			// custom translation
 			mapannounce "job3_rune02","Rune Knight Lunarea : Everything shall return from whence it came!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			//UseSkillToPC 35 0 0 0
@@ -3382,14 +3385,14 @@ job3_rune02,43,46,3	script	Rune Knight Lunarea#jrt1	469,2,2,{
 			end;
 		}
 		else if (.@tigris == 5) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			mapannounce "job3_rune02","Rune Knight Lunarea : There can't be growth without a trial.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			sc_start SC_POISON,30000,0;
 			initnpctimer;
 			end;
 		}
 		else if (.@tigris == 6) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			mapannounce "job3_rune02","Rune Knight Lunarea : There can't be growth without a trial.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			sc_start SC_CURSE,30000,0;
 			initnpctimer;
@@ -3413,17 +3416,17 @@ OnDisable:
 
 OnTimer5000:
 	donpcevent "job_rune_edq#1st_tcnc::OnUse";
-	set $@08_job_rune_test2,0;
+	set $@job_rune_test2,0;
 	stopnpctimer;
 	end;
 }
 
 job3_rune02,43,34,1	script	Rune Knight Renoa#jrt1	469,2,2,{
 	set .@tigris, rand(1,6);
-	set .@rune_test2, $@08_job_rune_test2;
+	set .@rune_test2, $@job_rune_test2;
 	if ((job_rune_edq == 4) && (.@rune_test2 == 0)) {
 		if (.@tigris == 1) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			// custom translation
 			mapannounce "job3_rune02","Rune Knight Renoa : The rune of Blast! May it give you strength!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			sc_start SC_INCREASEAGI,24000,10;
@@ -3431,7 +3434,7 @@ job3_rune02,43,34,1	script	Rune Knight Renoa#jrt1	469,2,2,{
 			end;
 		}
 		else if (.@tigris == 2 || .@tigris == 4) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			mapannounce "job3_rune02","Rune Knight Renoa : The rune of birth! May give you the power of life!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			percentheal 100,100;
 			skilleffect "AL_HEAL",1500;
@@ -3439,7 +3442,7 @@ job3_rune02,43,34,1	script	Rune Knight Renoa#jrt1	469,2,2,{
 			end;
 		}
 		else if (.@tigris == 3) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			// custom translation
 			mapannounce "job3_rune02","Rune Knight Renoa : I am faster than others! Stronger than others!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			specialeffect2 EF_PIERCESELF;
@@ -3448,14 +3451,14 @@ job3_rune02,43,34,1	script	Rune Knight Renoa#jrt1	469,2,2,{
 			end;
 		}
 		else if (.@tigris == 5) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			mapannounce "job3_rune02","Rune Knight Renoa : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			sc_start SC_POISON,30000,0;
 			initnpctimer;
 			end;
 		}
 		else if (.@tigris == 6) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			mapannounce "job3_rune02","Rune Knight Renoa : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			sc_start SC_CURSE,30000,0;
 			initnpctimer;
@@ -3478,7 +3481,7 @@ OnDisable:
 	end;
 
 OnTimer5000:
-	set $@08_job_rune_test2,0;
+	set $@job_rune_test2,0;
 	donpcevent "job_rune_edq#1st_tcnc::OnUse";
 	stopnpctimer;
 	end;
@@ -3487,10 +3490,10 @@ OnTimer5000:
 job3_rune02,34,34,7	script	Rune Knight Velpino#jrt1	468,{
 
 	set .@tigris,rand(1,6);
-	set .@rune_test2,$@08_job_rune_test2;
+	set .@rune_test2,$@job_rune_test2;
 	if ((job_rune_edq == 4) && (.@rune_test2 == 0)) {
 		if (.@tigris == 1) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			mapannounce "job3_rune02","Rune Knight Velpino : You are not one who gets to fall down in this kind of place.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			percentheal 100,100;
 			skilleffect "AL_HEAL",1500;
@@ -3498,7 +3501,7 @@ job3_rune02,34,34,7	script	Rune Knight Velpino#jrt1	468,{
 			end;
 		}
 		else if (.@tigris == 2 || .@tigris == 4) {
-			set $@08_job_rune_test2, 1;
+			set $@job_rune_test2, 1;
 			// custom translation
 			mapannounce "job3_rune02","Rune Knight Velpino : Charge! Knock them all down!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			sc_start SC_INCREASEAGI,24000,10;
@@ -3506,7 +3509,7 @@ job3_rune02,34,34,7	script	Rune Knight Velpino#jrt1	468,{
 			end;
 		}
 		else if (.@tigris == 3) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			// custom translation
 			mapannounce "job3_rune02","Rune Knight Velpino : You are not alone. We are by your side.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			sc_start SC_BLESSING,24000,10;
@@ -3514,7 +3517,7 @@ job3_rune02,34,34,7	script	Rune Knight Velpino#jrt1	468,{
 			end;
 		}
 		else if (.@tigris == 5) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			// custom translation
 			mapannounce "job3_rune02","Rune Knight Velpino : Fight and win! Do not hesitate in the face of this test!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			sc_start SC_FREEZE,10000,0;
@@ -3522,7 +3525,7 @@ job3_rune02,34,34,7	script	Rune Knight Velpino#jrt1	468,{
 			end;
 		}
 		else if (.@tigris == 6) {
-			set $@08_job_rune_test2,1;
+			set $@job_rune_test2,1;
 			mapannounce "job3_rune02","Rune Knight Velpino : It's not a big trial for a true Rune Knight!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 			sc_start SC_SLEEP,10000,0;
 			initnpctimer;
@@ -3545,7 +3548,7 @@ OnDisable:
 	end;
 
 OnTimer5000:
-	set $@08_job_rune_test2, 0;
+	set $@job_rune_test2,0;
 	donpcevent "job_rune_edq#1st_tcnc::OnUse";
 	stopnpctimer;
 	end;
@@ -3607,7 +3610,6 @@ OnDisable:
 	end;
 
 OnTimer480000:
-	killmonster "job3_rune02","job_rune_edq#3rd_tc::OnMyMobDead";
 	mapannounce "job3_rune02","You reached the limit time so I'll consider the test as a failure.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
 	end;
 
@@ -3621,8 +3623,8 @@ OnTimer482000:
 	donpcevent "job_rune_edq#3rd_tb::OnDisable";
 	donpcevent "job_rune_edq#3rd_tc::OnDisable";
 	donpcevent "#RK Test Hidden Portal 1::OnEnable";
-	set $@08_job_rune_test1,0;
-	set $@08_job_rune_test2,0;
+	set $@job_rune_test1,0;
+	set $@job_rune_test2,0;
 	stopnpctimer;
 	end;
 }
@@ -3716,8 +3718,8 @@ OnMyMobDead:
 		donpcevent "job_rune_edq#3rd_tb::OnDisable";
 		donpcevent "job_rune_edq#3rd_tc::OnDisable";
 		donpcevent "#RK Test Hidden Portal 1::OnEnable";
-		set $@08_job_rune_test1,0;
-		set $@08_job_rune_test2,0;
+		set $@job_rune_test1,0;
+		set $@job_rune_test2,0;
 		end;
 	}
 	end;
@@ -3966,13 +3968,13 @@ sec_in02,34,167,3	script	
 		next;
 		switch (select("检查全局变量:修改全局变量")) {
 		case 1:
-			set .@rune_global, $@08_job_rune_test1;
+			set .@rune_global, $@job_rune_test1;
 			mes "当前符文骑士转职变量是 "+.@rune_global+" 。";
 			mes "当前符文骑士考场中的人数为 "+getmapusers("job3_rune02")+ "人。";
 			close;
 		case 2:
-			set .@rune_global, $@08_job_rune_test1;
-			set $@08_job_rune_test1, 0;
+			set .@rune_global, $@job_rune_test1;
+			set $@job_rune_test1, 0;
 			mes "将符文骑士转职全局变量修改为0。考场可以使用。";
 			close;
 		}

+ 371 - 0
npc/quests/eden/86-90.txt

@@ -0,0 +1,371 @@
+//===== rAthena Script =======================================
+// Eden Group Quests - Mission [86 - 90]
+//===== By: ==================================================
+//= Chilly
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= Repetable Quests for Players between Baselevel 85 - 91 .
+//===== Additional Comments: =================================
+//= 1.0 First Version. [Chilly]
+//= 1.1 Some little improvements here and there. [Masao]
+//============================================================
+
+moc_para01,48,175,3	script	Mission [86 - 90]	857,{
+	if (countitem(6219) < 1) {
+		mes "- Only members of the -";
+		mes "- Eden Group can read -";
+		mes "- this bulletin board. -";
+		close;
+	}
+	if (BaseLevel < 86 || BaseLevel > 90) {
+		mes "- This missions can only be -";
+		mes "- read by those who are -";
+		mes "- of the correct level. -";
+		mes "- There might be another -";
+		mes "- board somewhere for -";
+		mes "- my level. -";
+		close;
+	}
+	mes "- Many hunting missions -";
+	mes "- are on the bulletin board. -";
+	next;
+	switch(select("Turtle Dungeon Area:Clock Tower Area:Local Area:Other Area")) {
+	case 1:
+		switch(select("Dragon Tail:Spring Rabbit:Pest")) {
+		case 1:
+			if (checkquest(4167,HUNTING) == 2) {
+				mes "You hunted all 30 Dragon Tail.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4167;
+				getexp 76000,0;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4167) == -1) {
+				setquest 4167;
+				mes "Please hunt 30 Dragon Tail and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Dragon Tail yet...";
+			mes "Will you check again?";
+			close;
+		case 2:
+			if (checkquest(4168,HUNTING) == 2) {
+				mes "You hunted all 30 Spring Rabbit.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4168;
+				getexp 76000,0;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4168) == -1) {
+				setquest 4168;
+				mes "Please hunt 30 Spring Rabbit and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Spring Rabbit yet...";
+			mes "Will you check again?";
+			close;
+		case 3:
+			if (checkquest(4169,HUNTING) == 2) {
+				mes "You hunted all 30 Pest.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4169;
+				getexp 76000,0;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4169) == -1) {
+				setquest 4169;
+				mes "Please hunt 30 Pest and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Pest yet...";
+			mes "Will you check again?";
+			close;
+		}
+	case 2:
+		switch(select("Bathory:Alarm")) {
+		case 1:
+			if (checkquest(4170,HUNTING) == 2) {
+				mes "You hunted all 30 Bathory.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4170;
+				getexp 76000,0;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4170) == -1) {
+				setquest 4170;
+				mes "Please hunt 30 Bathory and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Bathory yet...";
+			mes "Will you check again?";
+			close;
+		case 2:
+			if (checkquest(4171,HUNTING) == 2) {
+				mes "You hunted all 30 Alarm.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4171;
+				getexp 76000,0;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4171) == -1) {
+				setquest 4171;
+				mes "Please hunt 30 Alarm and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Alarm yet...";
+			mes "Will you check again?";
+			close;
+		}
+	case 3:
+		switch(select("Babayaga:Hyegun:Antique Firelock:Zipper Bear")) {
+		case 1:
+			if (checkquest(4172,HUNTING) == 2) {
+				mes "You hunted all 30 Babayaga.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4172;
+				getexp 76000,0;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4172) == -1) {
+				setquest 4172;
+				mes "Please hunt 30 Babayaga and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Babayaga yet...";
+			mes "Will you check again?";
+			close;
+		case 2:
+			if (checkquest(4173,HUNTING) == 2) {
+				mes "You hunted all 30 Hyegun.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4173;
+				getexp 76000,0;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4173) == -1) {
+				setquest 4173;
+				mes "Please hunt 30 Hyegun and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Hyegun yet...";
+			mes "Will you check again?";
+			close;
+		case 3:
+			if (checkquest(4174,HUNTING) == 2) {
+				mes "You hunted all 30 Antique Firelock.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4174;
+				getexp 76000,0;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4174) == -1) {
+				setquest 4174;
+				mes "Please hunt 30 Antique Firelock and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Antique Firelock yet...";
+			mes "Will you check again?";
+			close;
+		case 4:
+			if (checkquest(4175,HUNTING) == 2) {
+				mes "You hunted all 30 Zipper Bear.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4175;
+				getexp 76000,0;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4175) == -1) {
+				setquest 4175;
+				mes "Please hunt 30 Zipper Bear and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Zipper Bear yet...";
+			mes "Will you check again?";
+			close;
+		}
+	case 4:
+		switch(select("Earth Petite:Rafflesia:Venomous:Pitman:Yellow Novus")) {
+		case 1:
+			if (checkquest(4176,HUNTING) == 2) {
+				mes "You hunted all 30 Earth Petite.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4176;
+				getexp 76000,0;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4176) == -1) {
+				setquest 4176;
+				mes "Please hunt 30 Earth Petite and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Earth Petite yet...";
+			mes "Will you check again?";
+			close;
+		case 2:
+			if (checkquest(4177,HUNTING) == 2) {
+				mes "You hunted all 30 Rafflesia.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4177;
+				getexp 76000,0;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4177) == -1) {
+				setquest 4177;
+				mes "Please hunt 30 Rafflesia and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Rafflesia yet...";
+			mes "Will you check again?";
+			close;
+		case 3:
+			if (checkquest(4178,HUNTING) == 2) {
+				mes "You hunted all 30 Venomous.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4178;
+				getexp 76000,0;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4178) == -1) {
+				setquest 4178;
+				mes "Please hunt 30 Venomous and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Venomous yet...";
+			mes "Will you check again?";
+			close;
+		case 4:
+			if (checkquest(4179,HUNTING) == 2) {
+				mes "You hunted all 30 Pitman.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4179;
+				getexp 76000,0;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4179) == -1) {
+				setquest 4179;
+				mes "Please hunt 30 Pitman and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Pitman yet...";
+			mes "Will you check again?";
+			close;
+		case 5:
+			if (checkquest(4180,HUNTING) == 2) {
+				mes "You hunted all 30 Yellow Novus.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4180;
+				getexp 76000,0;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4180) == -1) {
+				setquest 4180;
+				mes "Please hunt 30 Yellow Novus and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Yellow Novus yet...";
+			mes "Will you check again?";
+			close;
+		}
+	}
+}

+ 420 - 0
npc/quests/eden/91-99.txt

@@ -0,0 +1,420 @@
+//===== rAthena Script =======================================
+// Eden Group Quests - Mission [91 - 99]
+//===== By: ==================================================
+//= Chilly
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= Repetable Quests for Players between Baselevel 90 - 100 .
+//===== Additional Comments: =================================
+//= 1.0 First Version. [Chilly]
+//= 1.1 Some little improvements here and there. [Masao]
+//============================================================
+
+moc_para01,48,177,3	script	Mission [91 - 99]	857,{
+	if (countitem(6219) < 1) {
+		mes "- Only members of the -";
+		mes "- Eden Group can read -";
+		mes "- this bulletin board. -";
+		close;
+	}
+	if (BaseLevel < 91 || BaseLevel > 99) {
+		mes "- This missions can only be -";
+		mes "- read by those who are -";
+		mes "- of the correct level. -";
+		mes "- There might be another -";
+		mes "- board somewhere for -";
+		mes "- my level. -";
+		close;
+	}
+	mes "- Many hunting missions -";
+	mes "- are on the bulletin board. -";
+	next;
+	switch(select("Turtle Dungeon Area:Glast Heim Area:Rachel Area:Local Area:Other Area")) {
+	case 1:
+		switch(select("Solider:Freezer:Heater")) {
+		case 1:
+			if (checkquest(4181,HUNTING) == 2) {
+				mes "You hunted all 30 Solider.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4181;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4181) == -1) {
+				setquest 4181;
+				mes "Please hunt 30 Solider and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Solider yet...";
+			mes "Will you check again?";
+			close;
+		case 2:
+			if (checkquest(4182,HUNTING) == 2) {
+				mes "You hunted all 30 Freezer.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4182;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4182) == -1) {
+				setquest 4182;
+				mes "Please hunt 30 Freezer and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Freezer yet...";
+			mes "Will you check again?";
+			close;
+		case 3:
+			if (checkquest(4183,HUNTING) == 2) {
+				mes "You hunted all 30 Heater.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4183;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4183) == -1) {
+				setquest 4183;
+				mes "Please hunt 30 Heater and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Heater yet...";
+			mes "Will you check again?";
+			close;
+		}
+	case 2:
+		switch(select("Injustice:Rybio:Dark Priest")) {
+		case 1:
+			if (checkquest(4184,HUNTING) == 2) {
+				mes "You hunted all 30 Injustice.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4184;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4184) == -1) {
+				setquest 4184;
+				mes "Please hunt 30 Injustice and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Injustice yet...";
+			mes "Will you check again?";
+			close;
+		case 2:
+			if (checkquest(4185,HUNTING) == 2) {
+				mes "You hunted all 30 Rybio.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4185;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4185) == -1) {
+				setquest 4185;
+				mes "Please hunt 30 Rybio and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Rybio yet...";
+			mes "Will you check again?";
+			close;
+		case 3:
+			if (checkquest(4186,HUNTING) == 2) {
+				mes "You hunted all 30 Dark Priest.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4186;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4186) == -1) {
+				setquest 4186;
+				mes "Please hunt 30 Dark Priest and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Dark Priest yet...";
+			mes "Will you check again?";
+			close;
+		}
+	case 3:
+		switch(select("Stapo:Roween:Siroma")) {
+		case 1:
+			if (checkquest(4187,HUNTING) == 2) {
+				mes "You hunted all 30 Stapo.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4187;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4187) == -1) {
+				setquest 4187;
+				mes "Please hunt 30 Stapo and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Stapo yet...";
+			mes "Will you check again?";
+			close;
+		case 2:
+			if (checkquest(4188,HUNTING) == 2) {
+				mes "You hunted all 30 Roween.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4188;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4188) == -1) {
+				setquest 4188;
+				mes "Please hunt 30 Roween and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Roween yet...";
+			mes "Will you check again?";
+			close;
+		case 3:
+			if (checkquest(4189,HUNTING) == 2) {
+				mes "You hunted all 30 Siroma.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4189;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4189) == -1) {
+				setquest 4189;
+				mes "Please hunt 30 Siroma and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Siroma yet...";
+			mes "Will you check again?";
+			close;
+		}
+	case 4:
+		switch(select("Shinobi:Evil Nymph")) {
+		case 1:
+			if (checkquest(4190,HUNTING) == 2) {
+				mes "You hunted all 30 Shinobi.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4190;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4190) == -1) {
+				setquest 4190;
+				mes "Please hunt 30 Shinobi and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Shinobi yet...";
+			mes "Will you check again?";
+			close;
+		case 2:
+			if (checkquest(4191,HUNTING) == 2) {
+				mes "You hunted all 30 Evil Nymph.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4191;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4191) == -1) {
+				setquest 4191;
+				mes "Please hunt 30 Evil Nymph and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Evil Nymph yet...";
+			mes "Will you check again?";
+			close;
+		}
+	case 5:
+		switch(select("Deviruchi:Mineral:Kaho:Neraid:Disguise")) {
+		case 1:
+			if (checkquest(4192,HUNTING) == 2) {
+				mes "You hunted all 30 Deviruchi.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4192;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4192) == -1) {
+				setquest 4192;
+				mes "Please hunt 30 Deviruchi and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Deviruchi yet...";
+			mes "Will you check again?";
+			close;
+		case 2:
+			if (checkquest(4193,HUNTING) == 2) {
+				mes "You hunted all 30 Mineral.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4193;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4193) == -1) {
+				setquest 4193;
+				mes "Please hunt 30 Mineral and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Mineral yet...";
+			mes "Will you check again?";
+			close;
+		case 3:
+			if (checkquest(4194,HUNTING) == 2) {
+				mes "You hunted all 30 Kaho.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4194;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4194) == -1) {
+				setquest 4194;
+				mes "Please hunt 30 Kaho and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Kaho yet...";
+			mes "Will you check again?";
+			close;
+		case 4:
+			if (checkquest(4195,HUNTING) == 2) {
+				mes "You hunted all 30 Neraid.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4195;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4195) == -1) {
+				setquest 4195;
+				mes "Please hunt 30 Neraid and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Neraid yet...";
+			mes "Will you check again?";
+			close;
+		case 5:
+			if (checkquest(4196,HUNTING) == 2) {
+				mes "You hunted all 30 Disguise.";
+				mes "Thank you very much.";
+				next;
+				mes "I know it isn't much but here's a small gift.";
+				mes "I hope that it helps you at least a little bit.";
+				next;
+				erasequest 4196;
+				getexp 94000,94000;
+				mes "Wooohoo!";
+				mes "Good luck.";
+				close;
+			}
+			if (checkquest(4196) == -1) {
+				setquest 4196;
+				mes "Please hunt 30 Disguise and return here.";
+				close;
+			}
+			mes "Umm? You didn't hunt";
+			mes "all 30 Disguise yet...";
+			mes "Will you check again?";
+			close;
+		}
+	}
+}

+ 2165 - 7
npc/quests/eden/eden_quests.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= L0ne_W0lf
 //===== Current Version: =====================================
-//= 1.2
+//= 1.3
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
@@ -13,6 +13,8 @@
 //= 1.1 Removed unencoded comments (Korean -> Gibberish)
 //=     Readded the GM helper NPC, commented out.
 //= 1.2 Some little optimization here and there. [Masao]
+//= 1.3 Added Instructor Ur and the new Quests which come
+//= alongside him. Special thanks to Chilly for the base. [Masao]
 //============================================================
 
 moc_para01,25,35,4	script	Instructor Boya#para01	469,{
@@ -1042,7 +1044,7 @@ moc_para01,25,35,4	script	Instructor Boya#para01	469,{
 			mes "The arsenal is past the blue gate and at the end of the right side of the passage.";
 			close;
 		}
-		if (para_suv01 == 38) {
+		if (para_suv01 >= 38) {
 			mes "[Boya]";
 			mes "My boss created all the courses for the training.";
 			mes "After he manufactured the uniform and supplies he changed his mind and said that he can't give them for free.";
@@ -1369,7 +1371,7 @@ prt_sewb1,131,262,3	script	Timid Cat#para04	422,{
 			mes "[Timid Cat]";
 			mes "Did you come here to have a battle?";
 			mes "Hunt those Thief Bugs, hurry up!";
-			mes "Hunt atleast 10!";
+			mes "Hunt at least 10!";
 			mes "Meooow!";
 			next;
 			mes "[Timid Cat]";
@@ -1496,7 +1498,7 @@ prt_sewb1,131,262,3	script	Timid Cat#para04	422,{
 		percentheal 0,100;
 		close;
 	}
-	if (para_suv01 == 10) {
+	if (para_suv01 >= 10) {
 		mes "[Timid Cat]";
 		mes "You've completed 'Conquer the Culvert'.";
 		mes "Go back to the Eden Group headquarters to report to Boya.";
@@ -1639,7 +1641,7 @@ pay_arche,41,136,3	script	Eden Member Karl#para05	904,{
 		percentheal 0,100;
 		close;
 	}
-	if (para_suv01 == 16) {
+	if (para_suv01 >= 16) {
 		mes "[Karl]";
 		mes "I already informed Boya at the Eden Group headquarters.";
 		mes "If you go there he will give you a big welcome.";
@@ -1829,7 +1831,7 @@ anthell01,29,264,5	script	Eden Member Cloud#para06	899,{
 		percentheal 100,100;
 		close;
 	}
-	if (para_suv01 == 21) {
+	if (para_suv01 >= 21) {
 		mes "[Cloud]";
 		mes "It's enough to say that you've conquered Ant Hell.";
 		mes "Aren't you getting used to it here?";
@@ -2236,7 +2238,7 @@ iz_dun04,43,46,3	script	Eden Member Callandiva	745,{
 		percentheal 100,100;
 		close;
 	}
-	if (para_suv01 == 36) {
+	if (para_suv01 >= 36) {
 		mes "[Callandiva]";
 		mes "I won't give help to you anymore.";
 		mes "Go back to our headquarters and report about this training mission.";
@@ -3837,6 +3839,2162 @@ moc_para01,179,44,3	script	Chef	820,{
 	}
 }
 
+moc_para01,23,35,4	script	Instructor Ur	468,{
+	if (countitem(6219) > 0) {
+		if (BaseLevel < 60) {
+			mes "[Instructor Ur]";
+			mes "Umm. You should raise your level more!";
+			mes "You need to be at least level 60!";
+			mes "I'm sorry but those are the rules.";
+			close;
+		}
+		if ((BaseLevel >= 60) && (BaseLevel < 70) && (para_suv01 < 39)) {
+			mes "[Instructor Ur]";
+			mes "You are just in time! I have a new quest for you, would you like to start it now?";
+			next;
+			switch(select("Yes!:No, thanks.")) {
+			case 1:
+				mes "[Instructor Ur]";
+				mes "Great! I want you to go find ^0000FFRomeo in Comodo^000000.";
+				next;
+				set para_suv01,39;
+				setquest 7214;
+				mes "[Instructor Ur]";
+				mes "You should see him near the entrance to the ^0000FFNorth Cave in Comodo^000000.";
+				close;
+			case 2:
+				mes "[Instructor Ur]";
+				mes "Thats to bad. I have some nice rewards i could have given to you for helping me.";
+				close;
+			}
+		}
+		if ((para_suv01 == 39) && (romeo < 4)) {
+			mes "[Instructor Ur]";
+			mes "What are you waiting for? Go find ^0000FFRomeo in Comodo^000000.";
+			next;
+			mes "[Instructor Ur]";
+			mes "You should see him near the entrance to the ^0000FFNorth Cave in Comodo^000000.";
+			close;
+		}
+		if ((para_suv01 == 40) && (romeo == 4)) {
+			mes "[Instructor Ur]";
+			mes "Done already? Great work!";
+			next;
+			set para_suv01,41;
+			completequest 7218;
+			if (para_suv02 < 5) {
+				set para_suv02,5;
+			}
+			mes "[Instructor Ur]";
+			mes "Go to the back room and talk to ^0000FFToren^000000 for your reward!";
+			close;
+		}
+		if (para_suv01 == 41) {
+			mes "[Instructor Ur]";
+			mes "Go to the back room and talk to ^0000FFToren^000000 for your reward!";
+			close;
+		}
+		if ((para_suv01 == 42) && (BaseLevel < 70)) {
+			mes "[Instructor Ur]";
+			mes "I'm sorry, I have no new quests available for you at this time. Come back when you are at least ^FF0000Base Level 70^000000.";
+			close;
+		}
+		if ((BaseLevel >= 70) && (BaseLevel < 80) && (para_suv01 < 39 || para_suv01 == 42)) {
+			mes "[Instructor Ur]";
+			mes "You are just in time! I have a new quest for you, would you like to start it now?";
+			next;
+			switch(select("Yes!:No, thanks.")) {
+			case 1:
+				mes "[Instructor Ur]";
+				mes "Great! I want you to go find ^0000FFJohan in Glast Heim^000000.";
+				next;
+				set para_suv01,43;
+				setquest 7219;
+				mes "[Instructor Ur]";
+				mes "You should see him near the entrance of the ^0000FFGlast Heim Church^000000.";
+				close;
+			case 2:
+				mes "[Instructor Ur]";
+				mes "Thats to bad. I have some nice rewards i could have given to you for helping me.";
+				close;
+			}
+		}
+		if ((para_suv01 == 43) && (johan < 3)) {
+			mes "[Instructor Ur]";
+			mes "What are you waiting for? Go find ^0000FFJohan in Glast Heim^000000.";
+			next;
+			mes "[Instructor Ur]";
+			mes "You should see him near the entrance of the ^0000FFGlast Heim Church^000000.";
+			close;
+		}
+		if ((para_suv01 == 43) && (johan == 3)) {
+			mes "[Instructor Ur]";
+			mes "Done already? Great work!";
+			next;
+			set para_suv01,44;
+			completequest 7222;
+			if (para_suv02 < 7) {
+				set para_suv02,7;
+			}
+			mes "[Instructor Ur]";
+			mes "Go to the back room and talk to ^0000FFToren and the Weapons Expert^000000 for your rewards!";
+			close;
+		}
+		if (para_suv01 == 44) {
+			mes "[Instructor Ur]";
+			mes "Go to the back room and talk to ^0000FFToren^000000 for your reward!";
+			close;
+		}
+		if ((para_suv01 == 45) && (BaseLevel < 80)) {
+			mes "[Instructor Ur]";
+			mes "I'm sorry, I have no new quests available for you at this time. Come back when you are at least ^FF0000Base Level 80^000000.";
+			close;
+		}
+		if ((BaseLevel >= 80) && (BaseLevel < 90) && (para_suv01 < 39 || para_suv01 == 42 || para_suv01 == 45)) {
+			mes "[Instructor Ur]";
+			mes "You are just in time! I have a new quest for you, would you like to start it now?";
+			next;
+			switch(select("Yes!:No, thanks.")) {
+			case 1:
+				mes "[Instructor Ur]";
+				mes "Great! I want you to go find ^0000FFKiren in Einbroch^000000.";
+				next;
+				set para_suv01,46;
+				setquest 7223;
+				mes "[Instructor Ur]";
+				mes "You should see her near the ^0000FFSouth Enterance^000000 outside of town.";
+				close;
+			case 2:
+				mes "[Instructor Ur]";
+				mes "Thats to bad. I have some nice rewards i could have given to you for helping me.";
+				close;
+			}
+		}
+		if ((para_suv01 == 46) && (kiren < 3)) {
+			mes "[Instructor Ur]";
+			mes "What are you waiting for? Go find ^0000FFKiren in Einbroch^000000.";
+			next;
+			mes "[Instructor Ur]";
+			mes "You should see her near the ^0000FFSouth Enterance^000000 outside of town.";
+			close;
+		}
+		if ((para_suv01 == 46) && (kiren == 3)) {
+			mes "[Instructor Ur]";
+			mes "Done already? Great work!";
+			next;
+			set para_suv01,47;
+			completequest 7228;
+			if (para_suv02 < 9) {
+				set para_suv02,9;
+			}
+			mes "[Instructor Ur]";
+			mes "Go to the back room and talk to ^0000FFToren and the Weapons Expert^000000 for your rewards!";
+			close;
+		}
+		if (para_suv01 == 47) {
+			mes "[Instructor Ur]";
+			mes "Go to the back room and talk to ^0000FFToren^000000 for your reward!";
+			close;
+		}
+		if ((para_suv01 == 48) && (BaseLevel < 90)) {
+			mes "[Instructor Ur]";
+			mes "I'm sorry, I have no new quests available for you at this time. Come back when you are at least ^FF0000Base Level 90^000000.";
+			close;
+		}
+		if ((BaseLevel >= 90) && (BaseLevel < 100) && (para_suv01 < 39 || para_suv01 == 42 || para_suv01 == 45 || para_suv01 == 48)) {
+			mes "[Instructor Ur]";
+			mes "You are just in time! I have a new quest for you, would you like to start it now?";
+			next;
+			switch(select("Yes!:No, thanks.")) {
+			case 1:
+				mes "[Instructor Ur]";
+				mes "Great! I want you to go find ^0000FFNaomi in Ice Dungeon^000000.";
+				next;
+				set para_suv01,49;
+				setquest 7229;
+				mes "[Instructor Ur]";
+				mes "You should see her near the ^0000FFEnterance^000000 when you enter the dungeon.";
+				close;
+			case 2:
+				mes "[Instructor Ur]";
+				mes "Thats to bad. I have some nice rewards i could have given to you for helping me.";
+				close;
+			}
+		}
+		if ((para_suv01 == 49) && (naomi < 3)) {
+			mes "[Instructor Ur]";
+			mes "What are you waiting for? Go find ^0000FFNaomi in Ice Dungeon^000000.";
+			next;
+			mes "[Instructor Ur]";
+			mes "You should see her near the ^0000FFEnterance^000000 when you enter the dungeon.";
+			close;
+		}
+		if ((para_suv01 == 49) && (naomi == 3)) {
+			mes "[Instructor Ur]";
+			mes "Done already? Great work!";
+			next;
+			set para_suv01,50;
+			completequest 7232;
+			if (para_suv02 < 11) {
+				set para_suv02,11;
+			}
+			mes "[Instructor Ur]";
+			mes "Go to the back room and talk to ^0000FFToren and the Weapons Expert^000000 for your rewards!";
+			close;
+		}
+		if (para_suv01 == 50) {
+			mes "[Instructor Ur]";
+			mes "Go to the back room and talk to ^0000FFToren^000000 for your reward!";
+			close;
+		}
+		if ((BaseLevel >= 100) && (para_suv01 < 39 || para_suv01 == 42 || para_suv01 == 45 || para_suv01 == 48 || para_suv01 == 51)) {
+			mes "[Instructor Ur]";
+			mes "You are just in time! I have a new quest for you, would you like to start it now?";
+			next;
+			switch(select("Yes!:No, thanks.")) {
+			case 1:
+				mes "[Instructor Ur]";
+				mes "Great! I want you to go find ^0000FFMargaret in the Expedition Camp^000000.";
+				next;
+				set para_suv01,52;
+				setquest 7233;
+				mes "[Instructor Ur]";
+				mes "You should see her near the ^0000FFBuilding in the Center^000000 of the Expedition Camp.";
+				close;
+			case 2:
+				mes "[Instructor Ur]";
+				mes "Thats too bad.  I had some nice rewards to give you.";
+				close;
+			}
+		}
+		if ((para_suv01 == 52) && (margaret < 7)) {
+			mes "[Instructor Ur]";
+			mes "What are you waiting for? Go find ^0000FFMargaret in the Expedition Camp^000000.";
+			next;
+			mes "[Instructor Ur]";
+			mes "You should see her near the ^0000FFBuilding in the Center^000000 of the Expedition Camp.";
+			close;
+		}
+		if ((para_suv01 == 52) && (margaret == 7)) {
+			mes "[Instructor Ur]";
+			mes "Done already? Great work!";
+			next;
+			set para_suv01,53;
+			completequest 7237;
+			if (para_suv02 < 13) {
+				set para_suv02,13;
+			}
+			mes "[Instructor Ur]";
+			mes "Go to the back room and talk to ^0000FFToren and the Weapons Expert^000000 for your rewards!";
+			close;
+		}
+		if (para_suv01 == 53) {
+			mes "[Instructor Ur]";
+			mes "Go to the back room and talk to ^0000FFToren^000000 for your reward!";
+			close;
+		}
+		if (para_suv01 > 53) {
+			mes "[Instructor Ur]";
+			mes "I'm out of rewards to give to you. But don't worry, there are much better gears out there for you to obtain.";
+			close;
+		}
+	}
+	mes "[Instructor Ur]";
+	mes "You are not in my group are you?";
+	mes "I don't have anything to say to outsiders.";
+	mes "If you want something register with my group.";
+	next;
+	mes "[Instructor Ur]";
+	mes "To register with the Eden Group ask Laime Evenor next to me.";
+	close;
+}
+
+comodo,173,354,6	script	Romeo#01	55,{
+	if ((para_suv01 == 39) && (romeo < 1)) {
+		mes "[Romeo]";
+		mes "Ah, there you are.";
+		next;
+		mes "[Romeo]";
+		mes "Before we begin, I want to test you.";
+		next;
+		set romeo,1;
+		changequest 7214,7215;
+		mes "[Romeo]";
+		mes "Enter the cave and kill ^0000FF3 Stalactic Golems^000000, then return to me.";
+		close;
+	}
+	if (romeo == 1) {
+		if (checkquest(7215,HUNTING) == 2) {
+			mes "[Romeo]";
+			mes "You did it? Thats all the proof I needed.";
+			next;
+			mes "[Romeo]";
+			mes "You should then have no trouble killing ^0000FF10 more Stalactic Golems^000000, right?";
+			next;
+			getexp 10000,10000;
+			set romeo,2;
+			changequest 7215,7216;
+			mes "[Romeo]";
+			mes "^0000FFMeet me at the north-east exit of the cave^000000 when you are done, I will be waiting for you outside.";
+			close;
+		}
+		mes "[Romeo]";
+		mes "Don't give up, I'm only asking you to kill ^0000FF3 Stalactic Golems^000000.";
+		close;
+	}
+	if (romeo == 2) {
+		mes "[Romeo]";
+		mes "You should then have no trouble killing ^0000FF10 more Stalactic Golems^000000, right?";
+		next;
+		mes "[Romeo]";
+		mes "After you have killed all ^0000FF10 Stalactic Golems^000000, ^0000FFmeet me at the north-east exit of the cave^000000. I will be waiting for you outside.";
+		close;
+	}
+	mes "[Romeo]";
+	mes "The person I'm waiting for is late...";
+	close;
+}
+
+um_fild01,34,280,6	script	Romeo#02	55,{
+	if (romeo == 2) {
+		if (checkquest(7216,HUNTING) == 2) {
+			mes "[Romeo]";
+			mes "Wow, you have arrived sooner than I expected.";
+			next;
+			mes "[Romeo]";
+			mes "There is only one more thing I need you to do for me.";
+			next;
+			getexp 10000,10000;
+			set romeo,3;
+			changequest 7216,7217;
+			mes "[Romeo]";
+			mes "Bring me ^0000FF5 Shoulder Pads and 7 Sharp Leafs^000000.";
+			close;
+		}
+		mes "[Romeo]";
+		mes "You are early, but you didn't kill ^0000FF10 Stalactic Golems^000000 like I asked you to do.";
+		close;
+	}
+	if (romeo == 3) {
+		if ((countitem(7196) >= 5) && (countitem(7100) >= 7)) {
+			mes "[Romeo]";
+			mes "Your work here is done my friend.";
+			next;
+			delitem 7196,5; // Shoulder Pad
+			delitem 7100,7; // Sharp Leaf
+			getexp 10000,10000;
+			set romeo,4;
+			changequest 7217,7218;
+			mes "[Romeo]";
+			mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward.";
+			close;
+		}
+		mes "[Romeo]";
+		mes "Bring me ^0000FF5 Shoulder Pads and 7 Sharp Leafs^000000.";
+		close;
+	}
+	if (romeo == 4) {
+		mes "[Romeo]";
+		mes "Thank you again for all your help.";
+		next;
+		mes "[Romeo]";
+		mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward.";
+		close;
+	}
+	mes "[Romeo]";
+	mes "What is taking so long...";
+	close;
+}
+
+glast_01,195,131,6	script	Johan	95,{
+	if ((para_suv01 == 43) && (johan < 1)) {
+		mes "[Johan]";
+		mes "...";
+		next;
+		mes "[Johan]";
+		mes "I don't need to explain anything to you.";
+		next;
+		set johan,1;
+		changequest 7219,7220;
+		mes "[Johan]";
+		mes "Go kill ^0000FF20 Wraiths^000000.";
+		close;
+	}
+	if (johan == 1) {
+		if (checkquest(7220,HUNTING) == 2) {
+			mes "[Johan]";
+			mes "Good.";
+			next;
+			mes "[Johan]";
+			mes "Next I want you to kill ^0000FF10 Evil Druids^000000.";
+			next;
+			getexp 20000,20000;
+			set johan,2;
+			changequest 7220,7221;
+			mes "[Johan]";
+			mes "This time kill them quickly, I don't like to wait.";
+			close;
+		}
+		mes "[Johan]";
+		mes "... ^0000FF20 Wraiths^000000 shouldn't take this long.";
+		close;
+	}
+	if (johan == 2) {
+		if (checkquest(7221,HUNTING) == 2) {
+			mes "[Johan]";
+			mes "Hmmmm, better.";
+			next;
+			mes "[Johan]";
+			mes "Ok, I'm done with you.";
+			next;
+			getexp 20000,20000;
+			set johan,3;
+			changequest 7221,7222;
+			mes "[Johan]";
+			mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward.";
+			close;
+		}
+		mes "[Johan]";
+		mes "Hurry up, it is only ^0000FF10 Evil Druids^000000.";
+		close;
+	}
+	if (johan == 3) {
+		mes "[Johan]";
+		mes "Why are you still here?";
+		next;
+		mes "[Johan]";
+		mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward.";
+		close;
+	}
+	mes "[Johan]";
+	mes "Go away... I'm busy.";
+	close;
+}
+
+ein_fild08,172,359,4	script	Kiren	989,{
+	if ((para_suv01 == 46) && (kiren < 1)) {
+		mes "[Kiren]";
+		mes "Hey there.";
+		next;
+		mes "[Kiren]";
+		mes "You must be a member of the Paradise Group, come help me for a second.";
+		next;
+		set kiren,1;
+		changequest 7223,7224;
+		mes "[kiren]";
+		mes "Can you kill ^0000FF30 Porcellios^000000 for me and then return to me?";
+		close;
+	}
+	if (kiren == 1) {
+		if (checkquest(7224,HUNTING) == 2) {
+			mes "[Kiren]";
+			mes "Wow, most people spend twice as long as you did to kill those Porcellios!";
+			next;
+			mes "[Kiren]";
+			mes "I think you need a challenge.";
+			next;
+			getexp 30000,30000;
+			set kiren,2;
+			changequest 7224,7226;
+			setquest 7227;
+			mes "[Kiren]";
+			mes "How about this: Kill ^0000FF30 Venomous and 5 Teddy Bears^000000.";
+			close;
+		}
+		mes "[Kiren]";
+		mes "Come back to me when you have killed the ^0000FF30 Porcellios^000000.";
+		close;
+	}
+	if (kiren == 2) {
+		if ((checkquest(7226,HUNTING) == 2) && (checkquest(7227,HUNTING) == 2)) {
+			mes "[Kiren]";
+			mes "Incredible, you set a new record!";
+			next;
+			mes "[Kiren]";
+			mes "I have never seen anyone kill them all so fast, you are good at this.";
+			next;
+			getexp 30000,30000;
+			set kiren,3;
+			changequest 7226,7228;
+			completequest 7227;
+			mes "[Kiren]";
+			mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward.";
+			close;
+		}
+		mes "[Kiren]";
+		mes "Remember, you need to kill ^0000FF30 Venomous and 5 Teddy Bears^000000.";
+		close;
+	}
+	if (kiren == 3) {
+		mes "[Kiren]";
+		mes "Don't worry, nobody else has beaten your record yet.";
+		next;
+		mes "[Kiren]";
+		mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward.";
+		close;
+	}
+	mes "[Kiren]";
+	mes "Be careful, there are some fast monsters around here.";
+	close;
+}
+
+ice_dun01,154,13,6	script	Naomi	726,{
+	if ((para_suv01 == 49) && (naomi < 1)) {
+		mes "[Naomi]";
+		mes "It is so cold in here.";
+		next;
+		mes "[Naomi]";
+		mes "I blame those annoying Siromas.";
+		next;
+		set naomi,1;
+		changequest 7229,7230;
+		mes "[Naomi]";
+		mes "Can you kill ^0000FF30 Siromas^000000 for me, please?";
+		close;
+	}
+	if (naomi == 1) {
+		if (checkquest(7230,HUNTING) == 2) {
+			mes "[Naomi]";
+			mes "Thank you, but there are still so many Siromas here!";
+			next;
+			mes "[Naomi]";
+			mes "I need to make a special drink to stay warm, please help me make it.";
+			next;
+			getexp 40000,40000;
+			set naomi,2;
+			changequest 7230,7231;
+			mes "[Naomi]";
+			mes "Can you kill another ^0000FF30 Siromas^000000 and bring me ^0000FF30 Ice Cubics, 1 Milk and 1 Sweet Sauce^000000?";
+			close;
+		}
+		mes "[Naomi]";
+		mes "Please kill ^0000FF30 Siromas^000000, I just hate them.";
+		close;
+	}
+	if (naomi == 2) {
+		if ((checkquest(7231,HUNTING) == 2) && (countitem(7066) >= 30) && (countitem(519) >= 1) && (countitem(7453) >= 1)) {
+			mes "[Naomi]";
+			mes "Yay, you did it!";
+			next;
+			mes "[Naomi]";
+			mes "I will be fine now, don't worry about me.";
+			next;
+			delitem 7066,30; // Ice Cubic
+			delitem 519,1; // Milk
+			delitem 7453,1; // Sweet Sauce
+			getexp 40000,40000;
+			set naomi,3;
+			changequest 7231,7232;
+			mes "[Naomi]";
+			mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward.";
+			close;
+		}
+		mes "[Naomi]";
+		mes "Can you kill another ^0000FF30 Siromas^000000 and bring me ^0000FF30 Ice Cubics, 1 Milk and 1 Sweet Sauce^000000?";
+		close;
+	}
+	if (naomi == 3) {
+		mes "[Naomi]";
+		mes "I will be fine now, don't worry about me.";
+		next;
+		mes "[Naomi]";
+		mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward.";
+		close;
+	}
+	mes "[Naomi]";
+	mes "So... cold...";
+	close;
+}
+
+mid_camp,212,229,4	script	Margaret	893,{
+	if ((para_suv01 == 52) && (margaret < 1)) {
+		mes "[Margaret]";
+		mes "Oh, hello there.";
+		next;
+		mes "[Margaret]";
+		mes "I have two friends here in the New World which need your help.";
+		next;
+		set margaret,1;
+		changequest 7233,7234;
+		mes "[Margaret]";
+		mes "Please start by helping the ^0000FFParadise Dispatch in Manuk Field^000000.";
+		close;
+	}
+	if (margaret == 1 || margaret == 2) {
+		mes "[Margaret]";
+		mes "Please start by helping the ^0000FFParadise Dispatch in Manuk Field^000000.";
+		close;
+	}
+	if (margaret == 3) {
+		mes "[Margaret]";
+		mes "Ah good, you were able to help him.";
+		next;
+		set margaret,4;
+		mes "[Margaret]";
+		mes "Next can you help the ^0000FFParadise Dispatch in Splendide Field^000000, please?";
+		close;
+	}
+	if (margaret == 4 || margaret == 5) {
+		mes "[Margaret]";
+		mes "Next can you help the ^0000FFParadise Dispatch in Splendide Field^000000, please?";
+		close;
+	}
+	if (margaret == 6) {
+		mes "[Margaret]";
+		mes "Haha, so he still wants a zoom out hack...";
+		next;
+		mes "[Margaret]";
+		mes "Thanks for helping them, I knew you could do it.";
+		next;
+		set margaret,7;
+		changequest 7234,7237;
+		mes "[Margaret]";
+		mes "Return to the ^33CC33Paradise Group Headquarters^000000 for your reward.";
+		close;
+	}
+	mes "[Margaret]";
+	mes "The New World... What a beautiful place!";
+	close;
+}
+
+man_fild01,43,234,2	script	Paradise Dispatch#01	939,{
+	if (margaret == 1) {
+		mes "[Paradise Dispatch]";
+		mes "Hey you, can you help me here?";
+		next;
+		mes "[Paradise Dispatch]";
+		mes "The plant monsters in this area have a long ranged attack.";
+		next;
+		set margaret,2;
+		changequest 7234,7235;
+		mes "[Paradise Dispatch]";
+		mes "Can you please kill ^0000FF1 Nepenthes^000000 so I can go back to the camp?";
+		close;
+	}
+	if (margaret == 2) {
+		if (checkquest(7235,HUNTING) == 2) {
+			mes "[Paradise Dispatch]";
+			mes "Thanks!";
+			next;
+			mes "[Paradise Dispatch]";
+			mes "Ok, I'm out of here.";
+			next;
+			getexp 50000,50000;
+			set margaret,3;
+			changequest 7235,7234;
+			mes "[Paradise Dispatch]";
+			mes "Head back to ^0000FFMargaret^000000 and tell her thanks for me too!";
+			close;
+		}
+		mes "[Paradise Dispatch]";
+		mes "Can you kill ^0000FF1 Nepenthes^000000 so I can go back to the camp?";
+		close;
+	}
+	if (margaret == 3) {
+		mes "[Paradise Dispatch]";
+		mes "...";
+		next;
+		mes "[Paradise Dispatch]";
+		mes "Don't rush me, just head back to ^0000FFMargaret^000000.";
+		close;
+	}
+	mes "[Paradise Dispatch]";
+	mes "Those Nepenthes are so scary!";
+	close;
+}
+
+spl_fild02,377,149,4	script	Paradise Dispatch#02	946,{
+	if (margaret == 4) {
+		mes "[Paradise Dispatch]";
+		mes "So Margaret sent you to help me?";
+		next;
+		mes "[Paradise Dispatch]";
+		mes "Ok, lets get started!";
+		next;
+		set margaret,5;
+		changequest 7234,7236;
+		mes "[Paradise Dispatch]";
+		mes "Kill ^0000FF5 Pinguicula^000000 and then return to me.";
+		close;
+	}
+	if (margaret == 5) {
+		if (checkquest(7236,HUNTING) == 2) {
+			mes "[Paradise Dispatch]";
+			mes "You make it look so easy, but I couldn't even kill 1...";
+			next;
+			mes "[Paradise Dispatch]";
+			mes "Now is my chance to run to Splendide!";
+			next;
+			getexp 50000,50000;
+			set margaret,6;
+			changequest 7236,7234;
+			mes "[Paradise Dispatch]";
+			mes "Head back to ^0000FFMargaret^000000, I will be ok now.";
+			close;
+		}
+		mes "[Paradise Dispatch]";
+		mes "Kill ^0000FF5 Pinguicula^000000 and return to me.";
+		close;
+	}
+	if (margaret == 6) {
+		mes "[Paradise Dispatch]";
+		mes "Now, if only I had a hack for zooming out more...";
+		next;
+		mes "[Paradise Dispatch]";
+		mes "Head back to ^0000FFMargaret^000000, I will be ok now.";
+		close;
+	}
+	mes "[Paradise Dispatch]";
+	mes "I need a hack to zoom out more so I can see if it is safe...";
+	close;
+}
+
+moc_para01,111,83,3	script	Toren	813,{
+	if (checkweight(1101,5) == 0) {
+		mes "^3355FFWait a second!";
+		mes "Right now, you're carrying";
+		mes "to many things with you.";
+		mes "Please come back after";
+		mes "using the Kafra Service";
+		mes "to store some of your items.^000000";
+		close;
+	}
+	mes "[Toren]";
+	mes "Hello adventurer, what can I do for you?";
+	next;
+	switch(select("Where is my reward?:I want an enchantment!")) {
+	case 1:
+		if (para_suv02 == 5 || para_suv02 == 7 || para_suv02 == 9 || para_suv02 == 11 || para_suv02 == 13) {
+			mes "[Toren]";
+			mes "You must be ^0000FF" + strcharinfo(0) + "^000000, right?  Instructor Ur told me about you.";
+			next;
+			mes "[Toren]";
+			mes "Here is a set of our advanced gears for you to use, wear them proudly as a member of the ^33CC33Paradise Group^000000 and don't think about selling them to anyone else.";
+			next;
+			if (BaseJob == Job_Swordman || BaseJob == Job_Knight || BaseJob == Job_Crusader || BaseJob == Job_Knight2 || BaseJob == Job_Crusader2 || Class == Job_Lord_Knight || Class == Job_Paladin || Class == Job_Lord_Knight2 || Class == Job_Paladin2) {
+				mes "[Toren]";
+				mes "Swordman Class gets a choice of weapons, would you like to have a sword or a spear?";
+				next;
+				mes "[Toren]";
+				mes "Slayer: Two-handed Sword, 200 Atk.";
+				mes " ";
+				mes "Saber: One-handed Sword, 185 Atk.";
+				mes " ";
+				mes "Spear: One-handed, 165 Atk.";
+				next;
+				switch(select("Slayer.:Saber.:Spear.")) {
+				case 1:
+					getitem 1197,1; //P.Slayer III
+					break;
+				case 2:
+					getitem 13434,1; //P.Saber III
+					break;
+				case 3:
+					getitem 1434,1; //P.Spear I
+					break;
+				}
+			}
+			if (BaseJob == Job_Merchant || BaseJob == Job_Blacksmith || BaseJob == Job_Alchemist  || Class == Job_Whitesmith || Class == Job_Creator) {
+				mes "[Toren]";
+				mes "Merchant Class gets a choice of weapons, would you like to have a axe, dagger or a sword?";
+				next;
+				mes "[Toren]";
+				mes "Axe: Two-handed, 195 Atk.";
+				mes " ";
+				mes "Dagger: One-handed, 165 Atk, 80 Matk.";
+				mes " ";
+				mes "Sword: One-handed, 185 Atk.";
+				next;
+				switch(select("Axe.:Dagger.:Sword.")) {
+				case 1:
+					getitem 1391,1; //P.Two-Handed Axe I
+					break;
+				case 2:
+					getitem 13066,1; //P.Dagger III
+					break;
+				case 3:
+					getitem 13434,1; //P.Saber III
+					break;
+				}
+			}
+			if (BaseJob == Job_Assassin || Class == Job_Assassin_Cross) {
+				mes "[Toren]";
+				mes "Assassin Class gets a choice of weapons, would you like to have a katar, dagger or a sword?";
+				next;
+				mes "[Toren]";
+				mes "Katar: Two-handed, 155 Atk.";
+				mes " ";
+				mes "Dagger: One-handed, 165 Atk, 80 Matk.";
+				mes " ";
+				mes "Sword: One-handed, 185 Atk.";
+				next;
+				switch(select("Katar.:Dagger.:Sword.")) {
+				case 1:
+					getitem 1289,1; //P.Katar I
+					break;
+				case 2:
+					getitem 13066,1; //P.Dagger III
+					break;
+				case 3:
+					getitem 13434,1; //P.Saber III
+					break;
+				}
+			}
+			if (BaseJob == Job_Rogue || Class == Job_Stalker) {
+				mes "[Toren]";
+				mes "Rogue Class gets a choice of weapons, would you like to have a dagger, bow or a sword?";
+				next;
+				mes "[Toren]";
+				mes "Dagger: One-handed, 165 Atk, 80 Matk.";
+				mes " ";
+				mes "Bow: Two-handed, 140 Atk.";
+				mes " ";
+				mes "Sword: One-handed, 185 Atk.";
+				next;
+				switch(select("Dagger.:Bow.:Sword")) {
+				case 1:
+					getitem 13066,1; //P.Dagger III
+					break;
+				case 2:
+					getitem 18106,1; //P.Bow III
+					break;
+				case 3:
+					getitem 13434,1; //P.Saber III
+					break;
+				}
+			}
+			if (BaseJob == Job_Thief) {
+				mes "[Toren]";
+				mes "Thief Class gets a choice of weapons, would you like to have a dagger or a sword?";
+				next;
+				mes "[Toren]";
+				mes "Dagger: One-handed, 165 Atk, 80 Matk.";
+				mes " ";
+				mes "Sword: One-handed, 185 Atk.";
+				next;
+				switch(select("Dagger.:Sword.")) {
+				case 1:
+					getitem 13066,1; //P.Dagger III
+					break;
+				case 2:
+					getitem 13434,1; //P.Saber III
+					break;
+				}
+			}
+			if (BaseJob == Job_Bard || Class == Job_Clown) {
+				mes "[Toren]";
+				mes "Bard Class gets a choice of weapons, would you like to have a guitar, bow or a dagger?";
+				next;
+				mes "[Toren]";
+				mes "Guitar: One-handed, 125 Atk.";
+				mes " ";
+				mes "Bow: Two-handed, 140 Atk.";
+				mes " ";
+				mes "Dagger: One-handed, 165 Atk, 80 Matk.";
+				next;
+				switch(select("Guitar.:Bow.:Dagger.")) {
+				case 1:
+					getitem 1931,1; //P.Guitar I
+					break;
+				case 2:
+					getitem 18106,1; //P.Bow III
+					break;
+				case 3:
+					getitem 13066,1; //P.Dagger III
+					break;
+				}
+			}
+			if (BaseJob == Job_Dancer || Class == Job_Gypsy) {
+				mes "[Toren]";
+				mes "Dancer Class gets a choice of weapons, would you like to have a whip, bow or a dagger?";
+				next;
+				mes "[Toren]";
+				mes "Whip: One-handed, 125 Atk.";
+				mes " ";
+				mes "Bow: Two-handed, 140 Atk.";
+				mes " ";
+				mes "Dagger: One-handed, 165 Atk, 80 Matk.";
+				next;
+				switch(select("Whip.:Bow.:Dagger.")) {
+				case 1:
+					getitem 1986,1; //P.Tail I
+					break;
+				case 2:
+					getitem 18106,1; //P.Bow III
+					break;
+				case 3:
+					getitem 13066,1; //P.Dagger III
+					break;
+				}
+			}
+			if (BaseJob == Job_Archer || BaseJob == Job_Hunter || Class == Job_Sniper) {
+				mes "[Toren]";
+				mes "Archer Class gets a choice of weapons, would you like to have a bow or a dagger?";
+				next;
+				mes "[Toren]";
+				mes "Bow: Two-handed, 140 Atk.";
+				mes " ";
+				mes "Dagger: One-handed, 165 Atk, 80 Matk.";
+				next;
+				switch(select("Bow.:Dagger.")) {
+				case 1:
+					getitem 18106,1; //P.Bow III
+					break;
+				case 2:
+					getitem 13066,1; //P.Dagger III
+					break;
+				}
+			}
+			if (BaseJob == Job_Priest || Class == Job_High_Priest) {
+				mes "[Toren]";
+				mes "Priest Class gets a choice of weapons, would you like to have a staff, mace or a book?";
+				next;
+				mes "[Toren]";
+				mes "Staff: One-handed, 60 Atk, 170 Matk, 4 Int.";
+				mes " ";
+				mes "Mace: One-handed, 172 Atk.";
+				mes " ";
+				mes "Book: One-handed, 135 Atk, Matk 110.";
+				next;
+				switch(select("Staff.:Mace.:Book.")) {
+				case 1:
+					getitem 1658,1; //P.Staff III
+					break;
+				case 2:
+					getitem 16014,1; //P.Mace III
+					break;
+				case 3:
+					getitem 1583,1; //P.Book I
+					break;
+				}
+			}
+			if (BaseJob == Job_Monk || Class == Job_Champion) {
+				mes "[Toren]";
+				mes "Monk Class gets a choice of weapons, would you like to have a knuckle, mace or a staff?";
+				next;
+				mes "[Toren]";
+				mes "Knuckle: One-handed, 120 Atk.";
+				mes " ";
+				mes "Mace: One-handed, 172 Atk.";
+				mes " ";
+				mes "Staff: One-handed, 60 Atk, 170 Matk, 4 Int.";
+				next;
+				switch(select("Knuckle.:Mace.:Staff.")) {
+				case 1:
+					getitem 1831,1; //P.Knuckle I
+					break;
+				case 2:
+					getitem 16014,1; //P.Mace III
+					break;
+				case 3:
+					getitem 1658,1; //P.Staff III
+					break;
+				}
+			}
+			if (BaseJob == Job_Acolyte) {
+				mes "[Toren]";
+				mes "Acolyte Class gets a choice of weapons, would you like to ave a staff or a mace?";
+				next;
+				mes "[Toren]";
+				mes "Staff: One-handed, 60 Atk, 170 Matk, 4 Int.";
+				mes " ";
+				mes "Mace: One-handed, 172 Atk.";
+				next;
+				switch(select("Staff.:Mace.")) {
+				case 1:
+					getitem 1658,1; //P.Staff III
+					break;
+				case 2:
+					getitem 16014,1; //P.Mace III
+					break;
+				}
+			}
+			if (BaseJob == Job_Sage || Class == Job_Professor) {
+				mes "[Toren]";
+				mes "Sage Class gets a choice of weapons, would you like to have a staff, book or a dagger?";
+				next;
+				mes "[Toren]";
+				mes "Staff: One-handed, 60 Atk, 170 Matk, 4 Int.";
+				mes " ";
+				mes "Book: One-handed, 135 Atk, 110 Matk.";
+				mes " ";
+				mes "Dagger: One-handed, 165 Atk, Matk 80.";
+				next;
+				switch(select("Staff.:Book.:Dagger.")) {
+				case 1:
+					getitem 1658,1; //P.Staff III
+					break;
+				case 2:
+					getitem 1583,1; //P.Book I
+					break;
+				case 3:
+					getitem 13066,1; //P.Dagger III
+					break;
+				}
+			}
+			if (BaseJob == Job_Mage || BaseJob == Job_Wizard || Class == Job_High_Wizard || Class == Job_Soul_Linker) {
+				mes "[Toren]";
+				mes "Mage and Soul Linker Class gets a choice of weapons, would you like to have a staff or a dagger?";
+				next;
+				mes "[Toren]";
+				mes "Staff: One-handed, 60 Atk, 170 Matk, 4 Int.";
+				mes " ";
+				mes "Dagger: One-handed, 165 Atk, Matk 80.";
+				next;
+				switch(select("Staff.:Dagger.")) {
+				case 1:
+					getitem 1658,1; //P.Staff III
+					break;
+				case 2:
+					getitem 13066,1; //P.Dagger III
+					break;
+				}
+			}
+			if (Class == Job_Ninja) {
+				mes "[Toren]";
+				mes "Ninja Class gets a choice of weapons, would you like to have a huuma suriken or a dagger?";
+				next;
+				mes "[Toren]";
+				mes "Huuma Suriken: Two-handed, 170 Atk, 50 Matk.";
+				mes " ";
+				mes "Dagger: One-handed, 165 Atk, Matk 80.";
+				next;
+				switch(select("Huuma Suriken.:Dagger.")) {
+				case 1:
+					getitem 13310,1; //P.Huuma Suriken I
+					break;
+				case 2:
+					getitem 13066,1; //P.Dagger III
+					break;
+				}
+			}
+			if (Class == Job_Star_Gladiator || Class == Job_Star_Gladiator2) {
+				getitem 1583,1; //P.Book I
+			}
+			if (Class == Job_Gunslinger) {
+				getitem 13114,1; //P.Revolver III
+			}
+			if (BaseJob == Job_Novice || BaseJob == Job_SuperNovice || BaseJob == Job_SuperNovice2) {
+				getitem 13066,1; //P.Dagger III
+			}
+			getitem 18514,1; //Paradise Hat II
+			getitem 2571,1; //Paradise Mantle II
+			getitem 2473,1; //Paradise Boots IV
+			getitem 15031,1; //Paradise Uniform IV
+			if(para_suv02 == 5){
+				set para_suv02,6;
+			}
+			if(para_suv02 == 7){
+				set para_suv02,8;
+			}
+			if(para_suv02 == 9){
+				set para_suv02,10;
+			}
+			if(para_suv02 == 11){
+				set para_suv02,12;
+			}
+			if(para_suv02 == 13){
+				set para_suv02,14;
+			}
+			if (Class == Job_Taekwon) {
+				mes "[Toren]";
+				mes "I'm sorry, but Teakwon Class can't wear any of our weapons...";
+				next;
+			}
+			mes "[Toren]";
+			mes "See you later, and good luck on your adventures!";
+			close;
+		}
+		if ((para_suv02 == 14) && (countitem(18514) < 1)) {
+			mes "[Toren]";
+			mes "Where is the Paradise Hat I gave you?";
+			next;
+			mes "[Toren]";
+			mes "... Fine, I will sell you another one for ^FF0000250,000 Zeny^000000. Don't lose it this time.";
+			next;
+			switch(select("Ok.","No, thanks.")) {
+			case 1:
+				if (Zeny >= 250000) {
+					set Zeny, Zeny - 250000;
+					getitem 18514,1; //Paradise Hat II
+					mes "[Toren]";
+					mes "These advanced gears are not easy to make, please take better care of this one.";
+					close;
+				}
+				mes "[Toren]";
+				mes "You dont have enough zeny.";
+				close;
+			case 2:
+				mes "[Toren]";
+				mes "Come back if you change your mind.";
+				close;
+			}
+		}
+		if ((para_suv02 == 14) && (countitem(2571) < 1)) {
+			mes "[Toren]";
+			mes "Where is the Paradise Mantle I gave you?";
+			next;
+			mes "[Toren]";
+			mes "... Fine, I will sell you another one for ^FF0000250,000 Zeny^000000. Don't lose it this time.";
+			next;
+			switch(select("Ok.","No, thanks.")) {
+			case 1:
+				if (Zeny >= 250000) {
+					set Zeny, Zeny - 250000;
+					getitem 2571,1; //Paradise Mantle II
+					mes "[Toren]";
+					mes "These advanced gears are not easy to make, please take better care of this one.";
+					close;
+				}
+				mes "[Toren]";
+				mes "You dont have enough zeny.";
+				close;
+			case 2:
+				mes "[Toren]";
+				mes "Come back if you change your mind.";
+				close;
+			}
+		}
+		if ((para_suv02 == 14) && (countitem(2473) < 1)) {
+			mes "[Toren]";
+			mes "Where is the Paradise Boots I gave you?";
+			next;
+			mes "[Toren]";
+			mes "... Fine, I will sell you another one for ^FF0000250,000 Zeny^000000. Don't lose it this time.";
+			next;
+			switch(select("Ok.","No, thanks.")) {
+			case 1:
+				if (Zeny >= 250000) {
+					set Zeny, Zeny - 250000;
+					getitem 2473,1; //Paradise Boots IV
+					mes "[Toren]";
+					mes "These advanced gears are not easy to make, please take better care of this one.";
+					close;
+				}
+				mes "[Toren]";
+				mes "You dont have enough zeny.";
+				close;
+			case 2:
+				mes "[Toren]";
+				mes "Come back if you change your mind.";
+				close;
+			}
+		}
+		if ((para_suv02 == 14) && (countitem(15031) < 1)) {
+			mes "[Toren]";
+			mes "Where is the Paradise Uniform I gave you?";
+			next;
+			mes "[Toren]";
+			mes "... Fine, I will sell you another one for ^FF0000250,000 Zeny^000000. Don't lose it this time.";
+			next;
+			switch(select("Ok.","No, thanks.")) {
+			case 1:
+				if (Zeny >= 250000) {
+					set Zeny, Zeny - 250000;
+					getitem 15031,1; //Paradise Uniform IV
+					mes "[Toren]";
+					mes "These advanced gears are not easy to make, please take better care of this one.";
+					close;
+				}
+				mes "[Toren]";
+				mes "You dont have enough zeny.";
+				close;
+			case 2:
+				mes "[Toren]";
+				mes "Come back if you change your mind.";
+				close;
+			}
+		}
+		if (para_suv02 == 14) {
+			mes "[Toren]";
+			mes "I already gave you the most advanced gears we have to offer.";
+			close;
+		}
+		mes "[Toren]";
+		mes "You need to complete quests given to you by ^0000FFInstructor Ur^000000 if you want a reward.";
+		close;
+	case 2:
+		if (para_suv02 < 14) {
+			mes "[Toren]";
+			mes "First you need the ^0000FFAdvanced Paradise Gears^000000.";
+			close;
+		}
+		if (paragearenchant < 1) {
+			mes "[Toren]";
+			mes "Alright, but I'll need a few items for the enchantment process.";
+			next;
+			if (BaseLevel >= 90) {
+				set paragearenchant,1;
+				setquest 7239;
+				mes "[Toren]";
+				mes "Just bring me ^0000FF20 Used Iron Plates^000000.";
+				close;
+			}
+			set paragearenchant,2;
+			setquest 7238;
+			mes "[Toren]";
+			mes "Just bring me ^0000FF20 Iron Ores and 10 Irons^000000.";
+			close;
+		}
+		if (paragearenchant == 1) {
+			if (countitem(7319) >= 20) {
+				mes "[Toren]";
+				mes "Thanks, that's what I needed!";
+				next;
+				delitem 7319,20; // Used Iron Plate
+				set paragearenchant,3;
+				changequest 7239,7240;
+				mes "[Toren]";
+				mes "Give me a second to prepare before I enchant your gears.";
+				close;
+			}
+			mes "[Toren]";
+			mes "Just bring me ^0000FF20 Used Iron Plates^000000.";
+			close;
+		}
+		if (paragearenchant == 2) {
+			if ((countitem(1002) >= 20) && (countitem(998) >= 10)) {
+				mes "[Toren]";
+				mes "Thanks, that's what I needed!";
+				next;
+				delitem 1002,20; // Iron Ore
+				delitem 998,10; // Iron
+				set paragearenchant,3;
+				changequest 7238,7240;
+				mes "[Toren]";
+				mes "Give me a second to prepare before I enchant your gears.";
+				close;
+			}
+			mes "[Toren]";
+			mes "Just bring me ^0000FF20 Iron Ores and 10 Irons^000000.";
+			close;
+		}
+		if (paragearenchant == 3) {
+			mes "[Toren]";
+			mes "Before we begin I would like to mention that this enchantment proccess ^FF0000can not fail^000000.";
+			next;
+			mes "[Toren]";
+			mes "I am able to add 2 enchantments at once, and if something is already enchanted I will ^FF0000re-do the current enchantments^000000 for you.";
+			next;
+			mes "[Toren]";
+			mes "Now pick which gear you would like me to enchant.";
+			next;
+			switch(select("Paradise Mantle II.:Paradise Boots IV.:Paradise Uniform IV.")) {
+			case 1:
+				if (countitem(2571) < 1) {
+					mes "[Toren]";
+					mes "Bring one and I'll enchant it.";
+					close;
+				}
+				else {
+					set .@paragearcount,2571;
+				}
+				break;
+			case 2:
+				if (countitem(2473) < 1) {
+					mes "[Toren]";
+					mes "Bring one and I'll enchant it.";
+					close;
+				}
+				else {
+					set .@paragearcount,2473;
+				}
+				break;
+			case 3:
+				if (countitem(15031) < 1) {
+					mes "[Toren]";
+					mes "Bring one and I'll enchant it.";
+					close;
+				}
+				else {
+					set .@paragearcount,15031;
+				}
+				break;
+			}
+			mes "[Toren]";
+			mes "Here we go!";
+			close2;
+			specialeffect2 EF_MAPPILLAR;
+			progressbar "ffff00",4;
+			set .@enc_paragear,rand(1,42);
+			if (.@enc_paragear == 1) {
+				set .@addpart,4763;
+			}
+			else if (.@enc_paragear == 2) {
+				set .@addpart,4765;
+			}
+			else if (.@enc_paragear == 3) {
+				set .@addpart,4790;
+			}
+			else if (.@enc_paragear == 4) {
+				set .@addpart,4794;
+			}
+			else if ((.@enc_paragear > 4) && (.@enc_paragear < 7)) {
+				set .@addpart,4762;
+			}
+			else if ((.@enc_paragear > 6) && (.@enc_paragear < 9)) {
+				set .@addpart,4764;
+			}
+			else if ((.@enc_paragear > 8) && (.@enc_paragear < 11)) {
+				set .@addpart,4789;
+			}
+			else if ((.@enc_paragear > 10) && (.@enc_paragear < 13)) {
+				set .@addpart,4793;
+			}
+			else if ((.@enc_paragear > 12) && (.@enc_paragear < 15)) {
+				set .@addpart,4701;
+			}
+			else if ((.@enc_paragear > 14) && (.@enc_paragear < 17)) {
+				set .@addpart,4711;
+			}
+			else if ((.@enc_paragear > 16) && (.@enc_paragear < 19)) {
+				set .@addpart,4721;
+			}
+			else if ((.@enc_paragear > 18) && (.@enc_paragear < 21)) {
+				set .@addpart,4731;
+			}
+			else if ((.@enc_paragear > 20) && (.@enc_paragear < 23)) {
+				set .@addpart,4741;
+			}
+			else if ((.@enc_paragear > 22) && (.@enc_paragear < 25)) {
+				set .@addpart,4751;
+			}
+			else if ((.@enc_paragear > 24) && (.@enc_paragear < 28)) {
+				set .@addpart,4788;
+			}
+			else if ((.@enc_paragear > 27) && (.@enc_paragear < 31)) {
+				set .@addpart,4792;
+			}
+			else if ((.@enc_paragear > 30) && (.@enc_paragear < 35)) {
+				set .@addpart,4787;
+			}
+			else if ((.@enc_paragear > 34) && (.@enc_paragear < 39)) {
+				set .@addpart,4791;
+			}
+			else if ((.@enc_paragear > 38) && (.@enc_paragear < 43)) {
+				set .@addpart,4786;
+			}
+			set .@enc_paragear2,rand(1,6);
+			if (.@enc_paragear2 == 1) {
+				set .@addpart2,4701;
+			}
+			else if (.@enc_paragear2 == 2) {
+				set .@addpart2,4711;
+			}
+			else if (.@enc_paragear2 == 3) {
+				set .@addpart2,4721;
+			}
+			else if (.@enc_paragear2 == 4) {
+				set .@addpart2,4731;
+			}
+			else if (.@enc_paragear2 == 5) {
+				set .@addpart2,4741;
+			}
+			else if (.@enc_paragear2 == 6) {
+				set .@addpart2,4751;
+			}
+			delitem .@paragearcount,1;
+			getitem2 .@paragearcount, 1, 1, 0, 0, 0, 0, .@addpart2, .@addpart;
+			set paragearenchant,4;
+			changequest 7240,7241;
+			mes "[Toren]";
+			mes "It is finished! Come back tomorrow if you want to enchant more.";
+			close;
+		}
+		if ((paragearenchant == 4) && (checkquest(7241,PLAYTIME) != 2)) {
+			mes "[Toren]";
+			mes "Please come back tomorrow if you want to enchant more.";
+			close;
+		}
+		if ((paragearenchant == 4) && (checkquest(7241,PLAYTIME) == 2)) {
+			set paragearenchant,0;
+			erasequest 7241;
+			mes "[Toren]";
+			mes "Another day, another piece of equipment to enchant!";
+			close;
+		}
+	}
+}
+
+moc_para01,112,79,3	script	Weapons Expert	851,{
+	if (checkweight(1101,5) == 0) {
+		mes "^3355FFWait a second!";
+		mes "Right now, you are carrying";
+		mes "to many things with you.";
+		mes "Please come back after";
+		mes "using the Kafra Service";
+		mes "to store some of your items.^000000";
+		close;
+	}
+	mes "[Weapons Expert]";
+	mes "Hello adventurer, what can I do for you today?";
+	next;
+	switch(select("Where is my reward?","I want an enchantment!")) {
+	case 1:
+		if ((para_suv02 == 14) && (countitem(1197) < 1) && (countitem(1289) < 1) && (countitem(1391) < 1) && (countitem(1434) < 1) && (countitem(1583) < 1) && (countitem(1658) < 1) && (countitem(1831) < 1) && (countitem(1931) < 1) && (countitem(1986) < 1) && (countitem(13066) < 1) && (countitem(13114) < 1) && (countitem(13310) < 1) && (countitem(13434) < 1) && (countitem(16014) < 1) && (countitem(18106) < 1)) {
+			mes "[Weapons Expert]";
+			mes "Where is the Paradise Weapon I gave you?";
+			next;
+			mes "[Weapons Expert]";
+			mes "... Fine, I will sell you another one for ^FF0000250,000 Zeny^000000. Don't lose it this time.";
+			next;
+			switch(select("Ok.","No, thanks.")) {
+			case 1:
+				if (Zeny >= 250000) {
+					if (Class == Job_Taekwon) {
+						mes "[Weapons Expert]";
+						mes "Wait... Your Class doesn't have a weapon.";
+						close;
+					}
+					set Zeny, Zeny - 250000;
+					if (BaseJob == Job_Swordman || BaseJob == Job_Knight || BaseJob == Job_Crusader || BaseJob == Job_Knight2 || BaseJob == Job_Crusader2 || Class == Job_Lord_Knight || Class == Job_Paladin || Class == Job_Lord_Knight2 || Class == Job_Paladin2) {
+						mes "[Weapons Expert]";
+						mes "Swordman Class gets a choice of weapons, would you like to have a sword or a spear?";
+						next;
+						mes "[Weapons Expert]";
+						mes "Slayer: Two-handed Sword, 200 Atk.";
+						mes " ";
+						mes "Saber: One-handed Sword, 185 Atk.";
+						mes " ";
+						mes "Spear: One-handed, 165 Atk.";
+						next;
+						switch(select("Slayer.:Saber.:Spear.")) {
+						case 1:
+							getitem 1197,1; //P.Slayer III
+							break;
+						case 2:
+							getitem 13434,1; //P.Saber III
+							break;
+						case 3:
+							getitem 1434,1; //P.Spear I
+							break;
+						}
+					}
+					if (BaseJob == Job_Merchant || BaseJob == Job_Blacksmith || BaseJob == Job_Alchemist || Class == Job_Whitesmith || Class == Job_Creator) {
+						mes "[Weapons Expert]";
+						mes "Merchant Class gets a choice of weapons, would you like to have an axe, dagger or a sword?";
+						next;
+						mes "[Weapons Expert]";
+						mes "Axe: Two-handed, 195 Atk.";
+						mes " ";
+						mes "Dagger: One-handed, 165 Atk, 80 Matk.";
+						mes " ";
+						mes "Sword: One-handed, 185 Atk.";
+						next;
+						switch(select("Axe.:Dagger.:Sword.")) {
+						case 1:
+							getitem 1391,1; //P.Two-Handed Axe I
+							break;
+						case 2:
+							getitem 13066,1; //P.Dagger III
+							break;
+						case 3:
+							getitem 13434,1; //P.Saber III
+							break;
+						}
+					}
+					if (BaseJob == Job_Assassin || Class == Job_Assassin_Cross) {
+						mes "[Weapons Expert]";
+						mes "Assassin Class gets a choice of weapons, would you like to have a katar, dagger or a sword?";
+						next;
+						mes "[Weapons Expert]";
+						mes "Katar: Two-handed, 155 Atk.";
+						mes " ";
+						mes "Dagger: One-handed, 165 Atk, 80 Matk.";
+						mes " ";
+						mes "Sword: One-handed, 185 Atk.";
+						next;
+						switch(select("Katar.:Dagger.:Sword.")) {
+						case 1:
+							getitem 1289,1; //P.Katar I
+							break;
+						case 2:
+							getitem 13066,1; //P.Dagger III
+							break;
+						case 3:
+							getitem 13434,1; //P.Saber III
+							break;
+						}
+					}
+					if (BaseJob == Job_Rogue || Class == Job_Stalker) {
+						mes "[Weapons Expert]";
+						mes "Rogue Class gets a choice of weapons, would you like to have a dagger, bow or a sword?";
+						next;
+						mes "[Weapons Expert]";
+						mes "Dagger: One-handed, 165 Atk, 80 Matk.";
+						mes " ";
+						mes "Bow: Two-handed, 140 Atk.";
+						mes " ";
+						mes "Sword: One-handed, 185 Atk.";
+						next;
+						switch(select("Dagger.:Bow.:Sword")) {
+						case 1:
+							getitem 13066,1; //P.Dagger III
+							break;
+						case 2:
+							getitem 18106,1; //P.Bow III
+							break;
+						case 3:
+							getitem 13434,1; //P.Saber III
+							break;
+						}
+					}
+					if (BaseJob == Job_Thief) {
+						mes "[Weapons Expert]";
+						mes "Thief Class gets a choice of weapons, would you like to have a dagger or a sword?";
+						next;
+						mes "[Weapons Expert]";
+						mes "Dagger: One-handed, 165 Atk, 80 Matk.";
+						mes " ";
+						mes "Sword: One-handed, 185 Atk.";
+						next;
+						switch(select("Dagger.:Sword.")) {
+						case 1:
+							getitem 13066,1; //P.Dagger III
+							break;
+						case 2:
+							getitem 13434,1; //P.Saber III
+							break;
+						}
+					}
+					if (BaseJob == Job_Bard || Class == Job_Clown) {
+						mes "[Weapons Expert]";
+						mes "Bard Class gets a choice of weapons, would you like to have a guitar, bow or a dagger?";
+						next;
+						mes "[Weapons Expert]";
+						mes "Guitar: One-handed, 125 Atk.";
+						mes " ";
+						mes "Bow: Two-handed, 140 Atk.";
+						mes " ";
+						mes "Dagger: One-handed, 165 Atk, 80 Matk.";
+						next;
+						switch(select("Guitar.:Bow.:Dagger.")) {
+						case 1:
+							getitem 1931,1; //P.Guitar I
+							break;
+						case 2:
+							getitem 18106,1; //P.Bow III
+							break;
+						case 3:
+							getitem 13066,1; //P.Dagger III
+							break;
+						}
+					}
+					if (BaseJob == Job_Dancer || Class == Job_Gypsy) {
+						mes "[Weapons Expert]";
+						mes "Dancer Class gets a choice of weapons, would you like to have a whip, bow or a dagger?";
+						next;
+						mes "[Weapons Expert]";
+						mes "Whip: One-handed, 125 Atk.";
+						mes " ";
+						mes "Bow: Two-handed, 140 Atk.";
+						mes " ";
+						mes "Dagger: One-handed, 165 Atk, 80 Matk.";
+						next;
+						switch(select("Whip.:Bow.:Dagger.")) {
+						case 1:
+							getitem 1986,1; //P.Tail I
+							break;
+						case 2:
+							getitem 18106,1; //P.Bow III
+							break;
+						case 3:
+							getitem 13066,1; //P.Dagger III
+							break;
+						}
+					}
+					if (BaseJob == Job_Archer || BaseJob == Job_Hunter || Class == Job_Sniper) {
+						mes "[Weapons Expert]";
+						mes "Archer Class gets a choice of weapons, would you like to have a bow or a dagger?";
+						next;
+						mes "[Weapons Expert]";
+						mes "Bow: Two-handed, 140 Atk.";
+						mes " ";
+						mes "Dagger: One-handed, 165 Atk, 80 Matk.";
+						next;
+						switch(select("Bow.:Dagger.")) {
+						case 1:
+							getitem 18106,1; //P.Bow III
+							break;
+						case 2:
+							getitem 13066,1; //P.Dagger III
+							break;
+						}
+					}
+					if (BaseJob == Job_Priest || Class == Job_High_Priest) {
+						mes "[Weapons Expert]";
+						mes "Priest Class gets a choice of weapons, would you like to have a staff, mace or a book?";
+						next;
+						mes "[Weapons Expert]";
+						mes "Staff: One-handed, 60 Atk, 170 Matk, 4 Int.";
+						mes " ";
+						mes "Mace: One-handed, 172 Atk.";
+						mes " ";
+						mes "Book: One-handed, 135 Atk, Matk 110.";
+						next;
+						switch(select("Staff.:Mace.:Book.")) {
+						case 1:
+							getitem 1658,1; //P.Staff III
+							break;
+						case 2:
+							getitem 16014,1; //P.Mace III
+							break;
+						case 3:
+							getitem 1583,1; //P.Book I
+							break;
+						}
+					}
+					if (BaseJob == Job_Monk || Class == Job_Champion) {
+						mes "[Weapons Expert]";
+						mes "Monk Class gets a choice of weapons, would you like to have a knuckle, mace or a staff?";
+						next;
+						mes "[Weapons Expert]";
+						mes "Knuckle: One-handed, 120 Atk.";
+						mes " ";
+						mes "Mace: One-handed, 172 Atk.";
+						mes " ";
+						mes "Staff: One-handed, 60 Atk, 170 Matk, 4 Int.";
+						next;
+						switch(select("Knuckle.:Mace.:Staff.")) {
+						case 1:
+							getitem 1831,1; //P.Knuckle I
+							break;
+						case 2:
+							getitem 16014,1; //P.Mace III
+							break;
+						case 3:
+							getitem 1658,1; //P.Staff III
+							break;
+						}
+					}
+					if (BaseJob == Job_Acolyte) {
+						mes "[Weapons Expert]";
+						mes "Acolyte Class gets a choice of weapons, would you like to have a staff or a mace?";
+						next;
+						mes "[Weapons Expert]";
+						mes "Staff: One-handed, 60 Atk, 170 Matk, 4 Int.";
+						mes " ";
+						mes "Mace: One-handed, 172 Atk.";
+						next;
+						switch(select("Staff.:Mace.")) {
+						case 1:
+							getitem 1658,1; //P.Staff III
+							break;
+						case 2:
+							getitem 16014,1; //P.Mace III
+							break;
+						}
+					}
+					if (BaseJob == Job_Sage || Class == Job_Professor) {
+						mes "[Weapons Expert]";
+						mes "Sage Class gets a choice of weapons, would you like to have a staff, book or a dagger?";
+						next;
+						mes "[Weapons Expert]";
+						mes "Staff: One-handed, 60 Atk, 170 Matk, 4 Int.";
+						mes " ";
+						mes "Book: One-handed, 135 Atk, 110 Matk.";
+						mes " ";
+						mes "Dagger: One-handed, 165 Atk, Matk 80.";
+						next;
+						switch(select("Staff.:Book.:Dagger.")) {
+						case 1:
+							getitem 1658,1; //P.Staff III
+							break;
+						case 2:
+							getitem 1583,1; //P.Book I
+							break;
+						case 3:
+							getitem 13066,1; //P.Dagger III
+							break;
+						}
+					}
+					if (BaseJob == Job_Mage || BaseJob == Job_Wizard || Class == Job_High_Wizard || Class == Job_Soul_Linker) {
+						mes "[Weapons Expert]";
+						mes "Mage and Soul Linker Class gets a choice of weapons, would you like to have a staff or a dagger?";
+						next;
+						mes "[Weapons Expert]";
+						mes "Staff: One-handed, 60 Atk, 170 Matk, 4 Int.";
+						mes " ";
+						mes "Dagger: One-handed, 165 Atk, Matk 80.";
+						next;
+						switch(select("Staff.:Dagger.")) {
+						case 1:
+							getitem 1658,1; //P.Staff III
+							break;
+						case 2:
+							getitem 13066,1; //P.Dagger III
+							break;
+						}
+					}
+					if (Class == Job_Ninja) {
+						mes "[Weapons Expert]";
+						mes "Ninja Class gets a choice of weapons, would you like to have a huuma suriken or a dagger?";
+						next;
+						mes "[Weapons Expert]";
+						mes "Huuma Suriken: Two-handed, 170 Atk, 50 Matk.";
+						mes " ";
+						mes "Dagger: One-handed, 165 Atk, Matk 80.";
+						next;
+						switch(select("Huuma Suriken.:Dagger.")) {
+						case 1:
+							getitem 13310,1; //P.Huuma Suriken I
+							break;
+						case 2:
+							getitem 13066,1; //P.Dagger III
+							break;
+						}
+					}
+					if (Class == Job_Star_Gladiator || Class == Job_Star_Gladiator2) {
+						getitem 1583,1; //P.Book I
+					}
+					if (Class == Job_Gunslinger) {
+						getitem 13114,1; //P.Revolver III
+					}
+					if (BaseJob == Job_Novice || BaseJob == Job_SuperNovice || BaseJob == Job_SuperNovice2) {
+						getitem 13066,1; //P.Dagger III
+					}
+					mes "[Weapons Expert]";
+					mes "These weapons aren't easy to make, please take better care of this one.";
+					close;
+				}
+				mes "[Weapons Expert]";
+				mes "You dont have enough zeny.";
+				close;
+			case 2:
+				mes "[Weapons Expert]";
+				mes "Come back if you change your mind.";
+				close;
+			}
+		}
+		mes "[Weapons Expert]";
+		mes "My reward for you is enchantments on your ^0000FFParadise Weapon^000000.";
+		next;
+		mes "[Weapons Expert]";
+		mes "The number of enchantments I can give you depends on which level of ^0000FFAdvanced Paradise Quests^000000 you have completed.";
+		close;
+	case 2:
+		if (para_suv02 < 14) {
+			mes "[Weapons Expert]";
+			mes "First you need the ^0000FFAdvanced Paradise Gears^000000.";
+			close;
+		}
+		if ((countitem(1197) < 1) && (countitem(1289) < 1) && (countitem(1391) < 1) && (countitem(1434) < 1) && (countitem(1583) < 1) && (countitem(1658) < 1) && (countitem(1831) < 1) && (countitem(1931) < 1) && (countitem(1986) < 1) && (countitem(13066) < 1) && (countitem(13114) < 1) && (countitem(13310) < 1) && (countitem(13434) < 1) && (countitem(16014) < 1) && (countitem(18106) < 1)) {
+			mes "[Weapons Expert]";
+			mes "Did you sell your new Paradise Weapon? No enchantments for you.";
+			close;
+		}
+		if (para_suv01 < 44) {
+			mes "[Weapons Expert]";
+			mes "You haven't completed enough quests for an enchantment yet.";
+			next;
+			mes "[Weapons Expert]";
+			mes "Make sure to pick a weapon from Toren too.";
+			close;
+		}
+		if (para_suv01 == 44) {
+			mes "[Weapons Expert]";
+			mes "It seems you have earned your first weapon enchantment.";
+			next;
+			mes "[Weapons Expert]";
+			mes "There are only 2 to choose from, which one would you like?";
+			next;
+			switch(select("Atk + 3%","Matk + 3%")) {
+			case 1:
+				set paraweaponenchant,4767;
+				break;
+			case 2:
+				set paraweaponenchant,4806;
+				break;
+			}
+			if (countitem(1197) == 1) {
+				set paraweaponcount,1197;
+			}
+			if (countitem(1289) == 1) {
+				set paraweaponcount,1289;
+			}
+			if (countitem(1391) == 1) {
+				set paraweaponcount,1391;
+			}
+			if (countitem(1434) == 1) {
+				set paraweaponcount,1434;
+			}
+			if (countitem(1583) == 1) {
+				set paraweaponcount,1583;
+			}
+			if (countitem(1658) == 1) {
+				set paraweaponcount,1658;
+			}
+			if (countitem(1831) == 1) {
+				set paraweaponcount,1831;
+			}
+			if (countitem(1931) == 1) {
+				set paraweaponcount,1931;
+			}
+			if (countitem(1986) == 1) {
+				set paraweaponcount,1986;
+			}
+			if (countitem(13066) == 1) {
+				set paraweaponcount,13066;
+			}
+			if (countitem(13114) == 1) {
+				set paraweaponcount,13114;
+			}
+			if (countitem(13310) == 1) {
+				set paraweaponcount,13310;
+			}
+			if (countitem(13434) == 1) {
+				set paraweaponcount,13434;
+			}
+			if (countitem(16014) == 1) {
+				set paraweaponcount,16014;
+			}
+			if (countitem(18106) == 1) {
+				set paraweaponcount,18106;
+			}
+			mes "[Weapons Expert]";
+			mes "OK, gimmy a sec.";
+			close2;
+			specialeffect2 EF_MAPPILLAR;
+			progressbar "ffff00",4;
+			delitem paraweaponcount,1;
+			getitem2 paraweaponcount, 1, 1, 0, 0, 0, 0, 0, paraweaponenchant;
+			set para_suv01,45;
+			mes "[Weapons Expert]";
+			mes "All done.";
+			close;
+		}
+		if (para_suv01 == 47) {
+			mes "[Weapons Expert]";
+			mes "It seems you have earned your second weapon enchantment.";
+			next;
+			if (paraweaponenchant < 1) {
+				mes "[Weapons Expert]";
+				mes "Before I do the second enchantment, you need to pick the first one.";
+				next;
+				mes "[Weapons Expert]";
+				mes "There are only 2 to choose from, which one would you like?";
+				next;
+				switch(select("Atk + 3%","Matk + 3%")) {
+				case 1:
+					set paraweaponenchant,4767;
+					break;
+				case 2:
+					set paraweaponenchant,4806;
+					break;
+				}
+				if (countitem(1197) == 1) {
+					set paraweaponcount,1197;
+				}
+				if (countitem(1289) == 1) {
+					set paraweaponcount,1289;
+				}
+				if (countitem(1391) == 1) {
+					set paraweaponcount,1391;
+				}
+				if (countitem(1434) == 1) {
+					set paraweaponcount,1434;
+				}
+				if (countitem(1583) == 1) {
+					set paraweaponcount,1583;
+				}
+				if (countitem(1658) == 1) {
+					set paraweaponcount,1658;
+				}
+				if (countitem(1831) == 1) {
+					set paraweaponcount,1831;
+				}
+				if (countitem(1931) == 1) {
+					set paraweaponcount,1931;
+				}
+				if (countitem(1986) == 1) {
+					set paraweaponcount,1986;
+				}
+				if (countitem(13066) == 1) {
+					set paraweaponcount,13066;
+				}
+				if (countitem(13114) == 1) {
+					set paraweaponcount,13114;
+				}
+				if (countitem(13310) == 1) {
+					set paraweaponcount,13310;
+				}
+				if (countitem(13434) == 1) {
+					set paraweaponcount,13434;
+				}
+				if (countitem(16014) == 1) {
+					set paraweaponcount,16014;
+				}
+				if (countitem(18106) == 1) {
+					set paraweaponcount,18106;
+				}
+				mes "[Weapons Expert]";
+				mes "Gotcha, now for the second enchantment.";
+				next;
+			}
+			mes "[Weapons Expert]";
+			mes "This one is a little different, you are given the choice of which ^0000FFRace of monsters^000000 you would like to have increased damage with.";
+			next;
+			mes "[Weapons Expert]";
+			mes "You could also choose to increase your ^0000FFHealing Power^000000 too, which one would you like?";
+			next;
+			switch(select("Animal Type","Plant Type","Insect Type","Fish Type","Dragon Type","Healing Power")) {
+			case 1:
+				if (paraweaponenchant == 4767) {
+					set paraweaponenchant2,4060;
+				}
+				if (paraweaponenchant == 4806) {
+					set paraweaponenchant2,4472;
+				}
+				break;
+			case 2:
+				if (paraweaponenchant == 4767) {
+					set paraweaponenchant2,4068;
+				}
+				if (paraweaponenchant == 4806) {
+					set paraweaponenchant2,4470;
+				}
+				break;
+			case 3:
+				if (paraweaponenchant == 4767) {
+					set paraweaponenchant2,4063;
+				}
+				if (paraweaponenchant == 4806) {
+					set paraweaponenchant2,4476;
+				}
+				break;
+			case 4:
+				if (paraweaponenchant == 4767) {
+					set paraweaponenchant2,4080;
+				}
+				if (paraweaponenchant == 4806) {
+					set paraweaponenchant2,4469;
+				}
+				break;
+			case 5:
+				if (paraweaponenchant == 4767) {
+					set paraweaponenchant2,4118;
+				}
+				if (paraweaponenchant == 4806) {
+					set paraweaponenchant2,4471;
+				}
+				break;
+			case 6:
+				set paraweaponenchant2,4805;
+				break;
+			}
+			mes "[Weapons Expert]";
+			mes "OK, gimmy a sec.";
+			close2;
+			specialeffect2 EF_MAPPILLAR;
+			progressbar "ffff00",4;
+			delitem paraweaponcount,1;
+			getitem2 paraweaponcount, 1, 1, 0, 0, 0, 0, paraweaponenchant2, paraweaponenchant;
+			set para_suv01,48;
+			mes "[Weapons Expert]";
+			mes "All done.";
+			close;
+		}
+		if (para_suv01 == 50 || para_suv01 == 53) {
+			mes "[Weapons Expert]";
+			mes "It seems you have earned your third weapon enchantment.";
+			next;
+			if (paraweaponenchant < 1) {
+				mes "[Weapons Expert]";
+				mes "Before I do the other enchantments, you need to pick the first one.";
+				next;
+				mes "[Weapons Expert]";
+				mes "There are only 2 to choose from, which one would you like?";
+				next;
+				switch(select("Atk + 3%","Matk + 3%")) {
+				case 1:
+					set paraweaponenchant,4767;
+					break;
+				case 2:
+					set paraweaponenchant,4806;
+					break;
+				}
+				if (countitem(1197) == 1) {
+					set paraweaponcount,1197;
+				}
+				if (countitem(1289) == 1) {
+					set paraweaponcount,1289;
+				}
+				if (countitem(1391) == 1) {
+					set paraweaponcount,1391;
+				}
+				if (countitem(1434) == 1) {
+					set paraweaponcount,1434;
+				}
+				if (countitem(1583) == 1) {
+					set paraweaponcount,1583;
+				}
+				if (countitem(1658) == 1) {
+					set paraweaponcount,1658;
+				}
+				if (countitem(1831) == 1) {
+					set paraweaponcount,1831;
+				}
+				if (countitem(1931) == 1) {
+					set paraweaponcount,1931;
+				}
+				if (countitem(1986) == 1) {
+					set paraweaponcount,1986;
+				}
+				if (countitem(13066) == 1) {
+					set paraweaponcount,13066;
+				}
+				if (countitem(13114) == 1) {
+					set paraweaponcount,13114;
+				}
+				if (countitem(13310) == 1) {
+					set paraweaponcount,13310;
+				}
+				if (countitem(13434) == 1) {
+					set paraweaponcount,13434;
+				}
+				if (countitem(16014) == 1) {
+					set paraweaponcount,16014;
+				}
+				if (countitem(18106) == 1) {
+					set paraweaponcount,18106;
+				}
+				mes "[Weapons Expert]";
+				mes "Gotcha, on to the next one.";
+				next;
+			}
+			if (paraweaponenchant2 < 1) {
+				mes "[Weapons Expert]";
+				mes "Before I do the third enchantment, you need to pick the second one.";
+				next;
+				mes "[Weapons Expert]";
+				mes "This one is a little different, you are given the choice of which ^0000FFRace of monsters^000000 you would like to have increased damage with.";
+				next;
+				mes "[Weapons Expert]";
+				mes "You could also choose to increase your ^0000FFHealing Power^000000 too, which one would you like?";
+				next;
+				switch(select("Animal Type","Plant Type","Insect Type","Fish Type","Dragon Type","Healing Power")) {
+				case 1:
+					if (paraweaponenchant == 4767) {
+						set paraweaponenchant2,4060;
+					}
+					if (paraweaponenchant == 4806) {
+						set paraweaponenchant2,4472;
+					}
+					break;
+				case 2:
+					if (paraweaponenchant == 4767) {
+						set paraweaponenchant2,4068;
+					}
+					if (paraweaponenchant == 4806) {
+						set paraweaponenchant2,4470;
+					}
+					break;
+				case 3:
+					if (paraweaponenchant == 4767) {
+						set paraweaponenchant2,4063;
+					}
+					if (paraweaponenchant == 4806) {
+						set paraweaponenchant2,4476;
+					}
+					break;
+				case 4:
+					if (paraweaponenchant == 4767) {
+						set paraweaponenchant2,4080;
+					}
+					if (paraweaponenchant == 4806) {
+						set paraweaponenchant2,4469;
+					}
+					break;
+				case 5:
+					if (paraweaponenchant == 4767) {
+						set paraweaponenchant2,4118;
+					}
+					if (paraweaponenchant == 4806) {
+						set paraweaponenchant2,4471;
+					}
+					break;
+				case 6:
+					set paraweaponenchant2,4805;
+					break;
+				}
+				mes "[Weapons Expert]";
+				mes "Gotcha, now for the third one.";
+				next;
+			}
+			mes "[Weapons Expert]";
+			mes "The third enchantment is the same as the second one, you are given the choice of which ^0000FFRace of monsters^000000 you would like to have increased damage with.";
+			next;
+			mes "[Weapons Expert]";
+			mes "You could also choose to increase your ^0000FFHealing Power^000000 too, which one would you like?";
+			next;
+			switch(select("Animal Type","Plant Type","Insect Type","Fish Type","Dragon Type","Healing Power")) {
+			case 1:
+				if (paraweaponenchant == 4767) {
+					set paraweaponenchant3,4060;
+				}
+				if (paraweaponenchant == 4806) {
+					set paraweaponenchant3,4472;
+				}
+				break;
+			case 2:
+				if (paraweaponenchant == 4767) {
+					set paraweaponenchant3,4068;
+				}
+				if (paraweaponenchant == 4806) {
+					set paraweaponenchant3,4470;
+				}
+				break;
+			case 3:
+				if (paraweaponenchant == 4767) {
+					set paraweaponenchant3,4063;
+				}
+				if (paraweaponenchant == 4806) {
+					set paraweaponenchant3,4476;
+				}
+				break;
+			case 4:
+				if (paraweaponenchant == 4767) {
+					set paraweaponenchant3,4080;
+				}
+				if (paraweaponenchant == 4806) {
+					set paraweaponenchant3,4469;
+				}
+				break;
+			case 5:
+				if (paraweaponenchant == 4767) {
+					set paraweaponenchant3,4118;
+				}
+				if (paraweaponenchant == 4806) {
+					set paraweaponenchant3,4471;
+				}
+				break;
+			case 6:
+				set paraweaponenchant3,4805;
+				break;
+			}
+			mes "[Weapons Expert]";
+			mes "OK, gimmy a sec.";
+			close2;
+			specialeffect2 EF_MAPPILLAR;
+			progressbar "ffff00",4;
+			delitem paraweaponcount,1;
+			getitem2 paraweaponcount, 1, 1, 0, 0, 0, paraweaponenchant3, paraweaponenchant2, paraweaponenchant;
+			set para_suv01,54;
+			mes "[Weapons Expert]";
+			mes "All done.";
+			close;
+		}
+		if (para_suv01 > 53) {
+			mes "[Weapons Expert]";
+			mes "That is the maximum number of enchanments I can do, enjoy them.";
+			close;
+		}
+		mes "[Weapons Expert]";
+		mes "I've already enchanted your weapon, you need to complete more quests for the next enchantment.";
+		close;
+	}
+}
+
 /* sec_in02,25,33,4	script	Assistant	422,{
 	mes "Password";
 	next;

+ 2 - 0
npc/scripts_athena.conf

@@ -207,6 +207,8 @@ npc: npc/quests/eden/26-40.txt
 npc: npc/quests/eden/41-55.txt
 npc: npc/quests/eden/56-70.txt
 npc: npc/quests/eden/71-85.txt
+npc: npc/quests/eden/86-90.txt
+npc: npc/quests/eden/91-99.txt
 // --------------------------------------------------------------
 // --------------------------- Guides ---------------------------
 npc: npc/guides/guides_alberta.txt