瀏覽代碼

Corrected some issues with the lighthalzen biolab quest. (bugreport:1798)
Reverted r13227. Biolabs quest no longer uses temp character variables.

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

L0ne_W0lf 16 年之前
父節點
當前提交
4456bc6b6a
共有 2 個文件被更改,包括 73 次插入68 次删除
  1. 1 0
      npc/Changelog.txt
  2. 72 68
      npc/quests/quests_lighthalzen.txt

+ 1 - 0
npc/Changelog.txt

@@ -1,6 +1,7 @@
 Date		Added
 ======
 2008/09/21
+	* Rev. 13228 Corrected some issues with the lighthalzen biolab quest. (bugreport:1798) [L0ne_W0lf]
 	* Rev. 13224 Corrected Sealstatus checking global vars instead of character. (bugreport:2250) [L0ne_W0lf]
 	* Deleted Unnecesary Next; in Hunter Job Quest. (bugreports:1665,2239,2179) [Samuray22]
 	* Fixed a bug with the Bio Lab Quest when you relog. (bugreport:1798)

+ 72 - 68
npc/quests/quests_lighthalzen.txt

@@ -4,7 +4,7 @@
 //= Persian, Vicious_Pucca, aoa00, Evera, MasterOfMupppets,
 //= Lupus, Lord Gywall
 //===== Current Version: ===================================== 
-//= 4.3
+//= 4.3a
 //===== Compatible With: ===================================== 
 //= eAthena SVN
 //===== Description: ========================================= 
@@ -66,7 +66,10 @@
 //= 4.1 Updated Dungeon quest, and Friendhsip quest to 10.3 standards. [L0ne_W0lf]
 //= 4.2 Fixed wrong variable type in use in "Box#cube1". [L0ne_W0lf]
 //= 4.3 Fixed a bug where if you relog after you take out the Lab Permit from the Box
-//=	You can't finish the quest. (bugreport:1798) [Samuray22]
+//=     You can't finish the quest. (bugreport:1798) [Samuray22]
+//= 4.3a Reverted changes from the last version. . [L0ne_W0lf]
+//=     Changed temp char vars to normal vars, that unset at end.
+//=     Tube just makes sure you have 1 or more permits.
 //============================================================ 
 
 lighthalzen,1,1,7	script	sneakAddSuber	-1,{
@@ -595,7 +598,7 @@ lighthalzen,341,224,3	script	Fishbone	868,{
 			}
 			end;
 		}
-		else if (lhz_sincube <= 10) {
+		else if (lhz_sincube < 10) {
 			mes "[Fishbone]";
 			mes "Hm, you must not have";
 			mes "accomplished whatever";
@@ -726,8 +729,8 @@ lhz_cube,237,198,0	script	Bundle of Files#cube	111,{
 		mes "on the ground.^000000";
 		close;
 	}
-	else if (lhz_sincube <= 10) {
-		if (@lhz_secret01 < 1) {
+	else if (lhz_sincube < 10) {
+		if (lhz_secret01 < 1) {
 			mes "^3355FFThere are a bunch";
 			mes "of files scattered";
 			mes "on the ground. They";
@@ -742,7 +745,7 @@ lhz_cube,237,198,0	script	Bundle of Files#cube	111,{
 				mes "drops to the ground";
 				mes "with a clink. You decide";
 				mes "to keep this ^000000Red Key^3355FF.^000000";
-				set @lhz_secret01,1;
+				set lhz_secret01,1;
 			}
 			close;
 		}
@@ -762,7 +765,7 @@ lhz_cube,237,198,0	script	Bundle of Files#cube	111,{
 }
 
 lhz_cube,234,202,0	script	Picture#cube	111,{
-	if (@lhz_secret01 < 2) {
+	if (lhz_secret01 < 2) {
 		mes "^3355FFThis picture hanging";
 		mes "on the wall catches";
 		mes "your attention for some";
@@ -778,7 +781,7 @@ lhz_cube,234,202,0	script	Picture#cube	111,{
 		}
 		close;
 	}
-	else if (@lhz_secret01 == 2) {
+	else if (lhz_secret01 == 2) {
 		mes "^3355FFThis picture hanging";
 		mes "on the wall catches";
 		mes "your attention for some";
@@ -806,15 +809,15 @@ lhz_cube,234,202,0	script	Picture#cube	111,{
 				set .@number_rand,rand(1,3);
 				if (.@number_rand == 1) {
 					mes "4 3 2 9 1 6 8 2 7";
-					set @lhz_secret01,3;
+					set lhz_secret01,3;
 				}
 				else if (.@number_rand == 2) {
 					mes "3 6 4 1 2 8 7 1 5";
-					set @lhz_secret01,4;
+					set lhz_secret01,4;
 				}
 				else {
 					mes "4 9 3 7 6 2 8 6 6";
-					set @lhz_secret01,5;
+					set lhz_secret01,5;
 				}
 				close;
 			}
@@ -827,20 +830,20 @@ lhz_cube,234,202,0	script	Picture#cube	111,{
 		}
 		close;
 	}
-	else if (@lhz_secret01 < 6) {
+	else if (lhz_secret01 < 6) {
 		mes "^3355FFThe following numbers";
 		mes "were written behind the";
 		mes "picture. If they were hidden,";
 		mes "these numbers must have";
 		mes "some kind of importance.^000000";
 		mes " ";
-		if (@lhz_secret01 == 3) {
+		if (lhz_secret01 == 3) {
 			mes "4 3 2 9 1 6 8 2 7";
 		}
-		else if (@lhz_secret01 == 4) {
+		else if (lhz_secret01 == 4) {
 			mes "3 6 4 1 2 8 7 1 5";
 		}
-		else if (@lhz_secret01 == 5) {
+		else if (lhz_secret01 == 5) {
 			mes "4 9 3 7 6 2 8 6 6";
 		}
 		close;
@@ -858,14 +861,14 @@ lhz_cube,234,202,0	script	Picture#cube	111,{
 }
 
 lhz_cube,242,201,0	script	Drawer#cube	111,{
-	if (@lhz_secret01 < 1) {
+	if (lhz_secret01 < 1) {
 		mes "^3355FFThe drawer here";
 		mes "looks interesting,";
 		mes "but it's locked and";
 		mes "you can't open it.^000000";
 		close;
 	}
-	else if (@lhz_secret01 == 1) {
+	else if (lhz_secret01 == 1) {
 		mes "^3355FF The drawer here";
 		mes "looks interesting, but";
 		mes "it's locked. Hopefully, you";
@@ -879,7 +882,7 @@ lhz_cube,242,201,0	script	Drawer#cube	111,{
 			mes "^000000Jackknife^3355FF that you decide";
 			mes "to take. After all, it might";
 			mes "be handy sometime.^000000";
-			set @lhz_secret01,2;
+			set lhz_secret01,2;
 		}
 		else {
 			mes "^3355FFUnfortunately, you";
@@ -906,7 +909,7 @@ lhz_cube,248,179,0	script	Chest#cube	111,{
 		mes "and isn't suited for battle.^000000";
 		close;
 	}
-	else if (lhz_sincube == 7 || lhz_sincube == 10) {
+	else if (lhz_sincube == 7) {
 		mes "^3355FFYou've found a chest,";
 		mes "but more importantly,";
 		mes "there is a utility Axe";
@@ -970,7 +973,7 @@ lhz_cube,237,183,0	script	Barrel#cube	111,{
 		close;
 	}
 	else if (lhz_sincube == 9) {
-		if (@lhz_secret01 < 3) {
+		if (lhz_secret01 < 3) {
 			mes "^3355FFYou decide to enter";
 			mes "some numbers into the";
 			mes "metallic keypad. Remember,";
@@ -982,8 +985,8 @@ lhz_cube,237,183,0	script	Barrel#cube	111,{
 			mes "^3355FFNothing happened...^000000";
 			close;
 		}
-		else if (@lhz_secret01 >= 3 && @lhz_secret01 <= 5) {
-			switch(@lhz_secret01) {
+		else if (lhz_secret01 >= 3 && lhz_secret01 <= 5) {
+			switch(lhz_secret01) {
 			case 3: setarray .@numbers[0],4,3,2,9,1,6,8,2,7; break;
 			case 4: setarray .@numbers[0],3,6,4,1,2,8,7,1,5; break;
 			case 5: setarray .@numbers[0],4,9,3,7,6,2,8,6,6; break;
@@ -1003,7 +1006,7 @@ lhz_cube,237,183,0	script	Barrel#cube	111,{
 				mes "open and you find a key";
 				mes "Key inside the box. You";
 				mes "to keep this ^000000Yellow Key^3355FF.^000000";
-				set @lhz_secret01,6;
+				set lhz_secret01,6;
 			}
 			else {
 				mes "^3355FFNothing happened.";
@@ -1026,7 +1029,7 @@ lhz_cube,237,183,0	script	Barrel#cube	111,{
 }
 
 lhz_cube,224,192,0	script	Power Generator#cube	111,{
-	if (@lhz_secret01 < 6) {
+	if (lhz_secret01 < 6) {
 		mes "^3355FFThis is a noisily";
 		mes "operating huge machine";
 		mes "with a front panel that has";
@@ -1041,7 +1044,7 @@ lhz_cube,224,192,0	script	Power Generator#cube	111,{
 		mes "insert into the keyhole.^000000";
 		close;
 	}
-	else if (@lhz_secret01 == 6) {
+	else if (lhz_secret01 == 6) {
 		mes "^3355FFThis is a noisily";
 		mes "operating huge machine";
 		mes "with a front panel that has";
@@ -1060,7 +1063,7 @@ lhz_cube,224,192,0	script	Power Generator#cube	111,{
 			mes "^3355FFYou notice that the";
 			mes "^000000Status Light ^3355FFnext to the";
 			mes "bed has now turned off.^000000";
-			set @lhz_secret01,7;
+			set lhz_secret01,7;
 		}
 		else {
 			mes "^3355FFNothing happened.";
@@ -1075,7 +1078,7 @@ lhz_cube,224,192,0	script	Power Generator#cube	111,{
 }
 
 lhz_cube,244,201,0	script	Status Light#cube	111,{
-	if (@lhz_secret01 < 7) {
+	if (lhz_secret01 < 7) {
 		mes "^3355FFThe Status Light is";
 		mes "on. It looks like there's";
 		mes "something inside the";
@@ -1090,7 +1093,7 @@ lhz_cube,244,201,0	script	Status Light#cube	111,{
 		mes "cool enough for you to touch...^000000";
 		close;
 	}
-	else if (@lhz_secret01 == 7) {
+	else if (lhz_secret01 == 7) {
 		mes "The Status Light";
 		mes "is now off and the";
 		mes "bulb has cooled down.";
@@ -1100,7 +1103,7 @@ lhz_cube,244,201,0	script	Status Light#cube	111,{
 			mes "Status Light's bulb";
 			mes "and discover another key.";
 			mes "You obtained a ^000000Black Key^3355FF.^000000";
-			set @lhz_secret01,8;
+			set lhz_secret01,8;
 		}
 		close;
 	}
@@ -1110,7 +1113,7 @@ lhz_cube,244,201,0	script	Status Light#cube	111,{
 }
 
 lhz_cube,234,200,0	script	Desk#cube	111,{
-	if (@lhz_secret02 <= 1) {
+	if (lhz_secret02 <= 1) {
 		mes "^3355FFYou've found";
 		mes "a completely";
 		mes "cluttered desk.^000000";
@@ -1124,14 +1127,14 @@ lhz_cube,234,200,0	script	Desk#cube	111,{
 			mes "all that useful right now.^000000";
 			close;
 		case 2:
-			if (@lhz_secret02 < 1) {
+			if (lhz_secret02 < 1) {
 				mes "^3355FFUnder this desk, of";
 				mes "all conceivable places,";
 				mes "you find a ^000000Short Stick^3355FF";
 				mes "that you decide to keep.";
 				mes "You never know when";
 				mes "you'll need one of those.^000000";
-				set @lhz_secret02,1;
+				set lhz_secret02,1;
 			}
 			else {
 				mes "^3355FFThis is where you";
@@ -1150,7 +1153,7 @@ lhz_cube,234,200,0	script	Desk#cube	111,{
 			close;
 		}
 	}
-	else if (@lhz_secret02 == 2) {
+	else if (lhz_secret02 == 2) {
 		mes "^3355FFYou're back at the";
 		mes "messy desk which";
 		mes "is probably used by";
@@ -1196,7 +1199,7 @@ lhz_cube,234,200,0	script	Desk#cube	111,{
 			mes "to the sum of its parts.";
 			mes "You are now the proud";
 			mes "bearer of a ^000000Long Stick^3355FF.^000000";
-			set @lhz_secret02,3;
+			set lhz_secret02,3;
 			close;
 		case 3:
 			mes "^3355FFThis desk drawer is";
@@ -1247,7 +1250,7 @@ lhz_cube,234,200,0	script	Desk#cube	111,{
 }
 
 lhz_cube,247,198,0	script	Bed#cube	111,{
-	if (@lhz_secret02 == 0) {
+	if (lhz_secret02 == 0) {
 		mes "^3355FFYou've found a bed";
 		mes "in which the sheets";
 		mes "are slovenly arranged.^000000";
@@ -1266,11 +1269,11 @@ lhz_cube,247,198,0	script	Bed#cube	111,{
 			mes "keep. You never know";
 			mes "when certain, seemingly";
 			mes "useless objects will save you.^000000";
-			set @lhz_secret02,2;
+			set lhz_secret02,2;
 		}
 		close;
 	}
-	else if (@lhz_secret02 == 1) {
+	else if (lhz_secret02 == 1) {
 		mes "^3355FFYou've found a bed";
 		mes "in which the sheets";
 		mes "are slovenly arranged.^000000";
@@ -1295,11 +1298,11 @@ lhz_cube,247,198,0	script	Bed#cube	111,{
 			mes "to the sum of its parts.";
 			mes "You are now the proud";
 			mes "bearer of a ^000000Long Stick^3355FF.^000000";
-			set @lhz_secret02,3;
+			set lhz_secret02,3;
 		}
 		close;
 	}
-	else if (@lhz_secret02 == 2) {
+	else if (lhz_secret02 == 2) {
 		mes "^3355FFYou've found a bed";
 		mes "in which the sheets";
 		mes "are slovenly arranged.^000000";
@@ -1337,7 +1340,7 @@ lhz_cube,247,198,0	script	Bed#cube	111,{
 		}
 		close;
 	}
-	else if (@lhz_secret02 == 3) {
+	else if (lhz_secret02 == 3) {
 		mes "^3355FFYou find a messy";
 		mes "bed that may be more";
 		mes "than meets the eye.^000000";
@@ -1364,7 +1367,7 @@ lhz_cube,247,198,0	script	Bed#cube	111,{
 				mes "it under the bed towards you.";
 				mes "You now possess the ^000000Cube^3355FF";
 				mes "that was under the bed.^000000";
-				set @lhz_secret02,4;
+				set lhz_secret02,4;
 			}
 			else {
 				mes "^3355FFUnfortunately,";
@@ -1396,7 +1399,7 @@ lhz_cube,247,198,0	script	Bed#cube	111,{
 
 lhz_cube,229,184,0	script	Goblet#cube	111,{
 	if (lhz_sincube < 10) {
-		if (@lhz_secret03 == 0) {
+		if (lhz_secret03 == 0) {
 			mes "^3355FFYou see an empty";
 			mes "bottle and a goblet.";
 			mes "It looks like you";
@@ -1410,7 +1413,7 @@ lhz_cube,229,184,0	script	Goblet#cube	111,{
 				mes "rid of that rust somehow.";
 				mes "Perhaps you can dip the key";
 				mes "in some corrosive chemical?^000000";
-				set @lhz_secret03,1;
+				set lhz_secret03,1;
 			}
 			close;
 		}
@@ -1424,7 +1427,7 @@ lhz_cube,229,184,0	script	Goblet#cube	111,{
 }
 
 lhz_cube,231,202,0	script	Chemicals#cube	111,{
-	if (@lhz_secret03 < 1) {
+	if (lhz_secret03 < 1) {
 		mes "^3355FFThere is a bottle";
 		mes "containing slightly";
 		mes "corrosive chemicals";
@@ -1438,7 +1441,7 @@ lhz_cube,231,202,0	script	Chemicals#cube	111,{
 		mes "chemicals on something else.^000000";
 		close;
 	}
-	else if (@lhz_secret03 == 1) {
+	else if (lhz_secret03 == 1) {
 		mes "^3355FFThere is a bottle";
 		mes "containing slightly";
 		mes "corrosive chemicals";
@@ -1452,7 +1455,7 @@ lhz_cube,231,202,0	script	Chemicals#cube	111,{
 			mes "again. Now that it is clean,";
 			mes "the Rusty Key has become";
 			mes "a sparkling ^000000Green Key^3355FF.^000000";
-			set @lhz_secret03,2;
+			set lhz_secret03,2;
 		}
 		else {
 			mes "^3355FFWhatever you tried to";
@@ -1472,7 +1475,7 @@ lhz_cube,231,202,0	script	Chemicals#cube	111,{
 }
 
 lhz_cube,249,191,0	script	Cabinet#cube	111,{
-	if (@lhz_secret03 < 2) {
+	if (lhz_secret03 < 2) {
 		mes "^3355FFYou've found a";
 		mes "cabinet that contains";
 		mes "many drawers. Perhaps";
@@ -1487,7 +1490,7 @@ lhz_cube,249,191,0	script	Cabinet#cube	111,{
 		}
 		close;
 	}
-	else if (@lhz_secret03 == 2) {
+	else if (lhz_secret03 == 2) {
 		mes "^3355FFYou've found a";
 		mes "cabinet that contains";
 		mes "many drawers. Perhaps";
@@ -1500,7 +1503,7 @@ lhz_cube,249,191,0	script	Cabinet#cube	111,{
 			mes "one of the drawer keyholes.";
 			mes "You open the drawer and";
 			mes "obtain a strange ^000000Polygon^3355FF.^000000";
-			set @lhz_secret03,3;
+			set lhz_secret03,3;
 		}
 		else {
 			mes "^3355FFWhatever you tried";
@@ -1524,7 +1527,7 @@ lhz_cube,249,191,0	script	Cabinet#cube	111,{
 }
 
 lhz_cube,224,197,0	script	Experiment Tube#cube	111,{
-	if (@lhz_secret01 < 8) {
+	if (lhz_secret01 < 8) {
 		mes "^3355FFYou find a strange";
 		mes "tube that seems to";
 		mes "contain something.";
@@ -1540,7 +1543,7 @@ lhz_cube,224,197,0	script	Experiment Tube#cube	111,{
 		mes "card to insert into the slot.^000000";
 		close;
 	}
-	else if (@lhz_secret01 == 8) {
+	else if (lhz_secret01 == 8) {
 		mes "^3355FFYou find a strange";
 		mes "tube that seems to";
 		mes "contain something.";
@@ -1555,14 +1558,14 @@ lhz_cube,224,197,0	script	Experiment Tube#cube	111,{
 			mes "the experiment tube to open";
 			mes "and reveal an ^000000Oval^3355FF which you";
 			mes "you choose to take with you.^000000";
-			set @lhz_secret01,9;
+			set lhz_secret01,9;
 		}
 		else {
 			mes "^3355FFNothing happened...^000000";
 		}
 		close;
 	}
-	else if (@lhz_secret01 == 9) {
+	else if (lhz_secret01 == 9) {
 		mes "^3355FFThis is where you";
 		mes "obtained the ^000000Oval^3355FF.";
 		mes "As you look around";
@@ -1580,7 +1583,7 @@ lhz_cube,224,197,0	script	Experiment Tube#cube	111,{
 			next;
 			input .@input$;
 			if (.@input$ == "Laboratory Permit") {
-				if (countitem(2657) == 1) {
+				if (countitem(2657)) {
 					mes "^3355FFYou insert the";
 					mes "Laboratory Permit";
 					mes "into the slot and the";
@@ -1595,6 +1598,9 @@ lhz_cube,224,197,0	script	Experiment Tube#cube	111,{
 						close2;
 						//remove variables that are no longer used.
 						set lhz_sincube,0;
+						set lhz_secret01,0;
+						set lhz_secret02,0;
+						set lhz_secret03,0;
 						set MISC_QUEST,MISC_QUEST|512;
 						warp "lhz_cube",177,13;
 						end;
@@ -1620,7 +1626,7 @@ lhz_cube,224,197,0	script	Experiment Tube#cube	111,{
 }
 
 lhz_cube,248,193,0	script	Box#cube1	111,{
-	if ((@lhz_secret01 < 9) && (@lhz_secret02 < 4) && (@lhz_secret03 < 3)) {
+	if ((lhz_secret01 < 9) && (lhz_secret02 < 4) && (lhz_secret03 < 3)) {
 		mes "^3355FFYou find a box with";
 		mes "three distinctively";
 		mes "shaped holes.^000000";
@@ -1630,21 +1636,21 @@ lhz_cube,248,193,0	script	Box#cube1	111,{
 		mes "^3355FFNothing happened.^000000";
 		close;
 	}
-	else if ((@lhz_secret01 != 10) || (@lhz_secret02 != 5) || (@lhz_secret03 != 4)) {
+	else if ((lhz_secret01 != 10) || (lhz_secret02 != 5) || (lhz_secret03 != 4)) {
 		mes "^3355FFYou find a box with";
 		mes "three distinctively";
 		mes "shaped holes.^000000";
 		next;
 		switch(select("Oval Hole:Cube Hole:Polygon Hole")) {
 		case 1:
-			if (@lhz_secret01 == 9) {
+			if (lhz_secret01 == 9) {
 				next;
 				input .@input$;
 				if (.@input$ == "Oval") {
 					mes "^3355FFYou insert the Oval";
 					mes "into the Oval shaped";
 					mes "hole where it fits perfectly.^000000";
-					set @lhz_secret01,10;
+					set lhz_secret01,10;
 					close;
 				}
 				mes "^3355FFNothing happened.^000000";
@@ -1661,7 +1667,7 @@ lhz_cube,248,193,0	script	Box#cube1	111,{
 			mes "^3355FFNothing happened.^000000";
 			close;
 		case 2:
-			if (@lhz_secret02 == 4) {
+			if (lhz_secret02 == 4) {
 				next;
 				input .@input$;
 				if (.@input$ == "Cube") {
@@ -1670,13 +1676,13 @@ lhz_cube,248,193,0	script	Box#cube1	111,{
 					mes "and it clicks into place.";
 					mes "Your formal Kindergarten";
 					mes "training is finally justified.^000000";
-					set @lhz_secret02,5;
+					set lhz_secret02,5;
 					close;
 				}
 				mes "^3355FFNothing happened.^000000";
 				close;
 			}
-			else if (@lhz_secret02 == 5) {
+			else if (lhz_secret02 == 5) {
 				mes "^3355FFYou already placed";
 				mes "a Cube into the hole.";
 				mes "You could take it back";
@@ -1689,7 +1695,7 @@ lhz_cube,248,193,0	script	Box#cube1	111,{
 			mes "^3355FFNothing happened.^000000";
 			close;
 		case 3:
-			if (@lhz_secret03 == 3) {
+			if (lhz_secret03 == 3) {
 				next;
 				input .@input$;
 				if (.@input$ == "Polygon") {
@@ -1700,13 +1706,13 @@ lhz_cube,248,193,0	script	Box#cube1	111,{
 					mes "nondescript Polygonal hole.";
 					mes "The Polygon fits perfectly,";
 					mes "almost as if it were destiny.^000000";
-					set @lhz_secret03,4;
+					set lhz_secret03,4;
 					close;
 				}
 				mes "^3355FFNothing happened.^000000";
 				close;
 			}
-			else if (@lhz_secret03 == 4) {
+			else if (lhz_secret03 == 4) {
 				mes "^3355FFThe Polygon is already";
 				mes "inserted into the hole.";
 				mes "Trust that this is as much";
@@ -1718,7 +1724,7 @@ lhz_cube,248,193,0	script	Box#cube1	111,{
 			close;
 		}
 	}
-	else if (@lhz_secret01 == 10 && @lhz_secret02 == 5 && @lhz_secret03 == 4 && lhz_sincube != 10) {
+	else if (lhz_secret01 == 10 && lhz_secret02 == 5 && lhz_secret03 == 4 && lhz_sincube != 10) {
 		mes "^3355FFYou find a box with";
 		mes "three distinctively";
 		mes "shaped holes that";
@@ -1734,9 +1740,7 @@ lhz_cube,248,193,0	script	Box#cube1	111,{
 			mes "Permit^3355FF, knowing that you";
 			mes "will be needing it later.";
 			set lhz_sincube,10;
-			if(countitem(2657) < 1) {
-				getitem 2657,1; //Lab_Passport
-			}
+			getitem 2657,1; //Lab_Passport
 		}
 		close;
 	}