Jelajahi Sumber

Merge branch 'master' of https://github.com/rathena/rathena

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17424 54d463be-8e91-2dee-dedb-b68131a5f0ec
rathenabot 12 tahun lalu
induk
melakukan
fa3e8fb5a7

+ 1 - 1
conf/msg_conf/map_msg.conf

@@ -10,7 +10,7 @@
 // 500-900 reserved for others
 // 900-1300: @atcommand
 
-// To disable a string (%s) field, make it's max length 0:
+// To disable a string (%s) field, make its max length 0:
 // eg:
 // 270: *%s %s* (@me format)
 // 270: *%.0s%s* (remove the character's name from it)

+ 1 - 1
conf/msg_conf/map_msg_chn.conf

@@ -10,7 +10,7 @@
 // 500-900 reserved for others
 // 900-1300: @atcommand
 
-// To disable a string (%s) field, make it's max length 0:
+// To disable a string (%s) field, make its max length 0:
 // eg:
 // 270: *%s %s* (@me format)
 // 270: *%.0s%s* (remove the character's name from it)

+ 1 - 1
conf/msg_conf/map_msg_tha.conf

@@ -10,7 +10,7 @@
 // 500-900 reserved for others
 // 900-1300: @atcommand
 
-// To disable a string (%s) field, make it's max length 0:
+// To disable a string (%s) field, make its max length 0:
 // eg:
 // 270: *%s %s* (@me format)
 // 270: *%.0s%s* (remove the character's name from it)

+ 30 - 0
doc/script_commands.txt

@@ -900,6 +900,10 @@ OnTouch_:
 Similar to OnTouch, but will only run one instance. Another character is
 chosen once the triggering character leaves the area.
 
+OnTouchNPC:
+
+Similar to OnTouch, but will only trigger for monsters.
+
 OnPCLoginEvent:
 OnPCLogoutEvent:
 OnPCBaseLvUpEvent:
@@ -1015,6 +1019,8 @@ will show up as an empty line.
 
     mes "Text that will appear in the box";
 
+Colors
+------
 Inside the string you may put color codes, which will alter the color of the 
 text printed after them. The color codes are all '^<R><G><B>' and contain three 
 hexadecimal numbers representing colors as if they were HTML colors - ^FF0000 is 
@@ -1032,6 +1038,8 @@ English characters, the color codes might get screwed if they stick to letters
 with no intervening space. Separating them with spaces from the letters on 
 either side solves the problem.
 
+Multiple Lines
+--------------
 To display multiple lines of message while only using a single 'mes' command,
 use the script command in the following format:
 
@@ -1040,6 +1048,28 @@ use the script command in the following format:
 This will display 3 different lines while only consuming a single line in
 the relevant script file.
 
+Navigation
+----------
+For clients dated 2011-10-10aRagexe onwards, you can generate navigation links
+using HTML-like labels:
+
+    <NAVI>Display Name<INFO>mapname,x,y,0,000,flag</INFO></NAVI>
+
+The "flag" parameter can be:
+ 0: Do not open Navigation Window (default).
+ 1: Open Navigation Window.
+
+The example below will make the [Tool Shop] text clickable and begin navigation
+to alberta (98,154) when clicked.
+
+    mes "Have you checked out the <NAVI>[Tool Shop]<INFO>alberta,98,154,0,000,0</INFO></NAVI>?";
+
+URLs
+----
+Similarly, you can create links to websites that launch in a new window:
+
+    <URL>Display Name<INFO>http://www.example.com/</INFO></URL>";
+
 ---------------------------------------
 
 *next;

+ 17 - 2
npc/other/CashShop_Functions.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= L0ne_W0lf
 //===== Current Version: ===================================== 
-//= 1.6
+//= 1.7
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -23,6 +23,7 @@
 //= 1.4 Simplified Giant Flywing function using warpparty. [L0ne_w0lf]
 //= 1.5 Neuralizer is no longer consumed upon failure. [Euphy]
 //= 1.6 Updated Teleport functions and added Curious_Snowball. [Euphy]
+//= 1.7 Added Dungeon Teleport Scroll II maps. [Euphy]
 //============================================================ 
 
 // Kafra Card
@@ -75,7 +76,6 @@ function	script	F_CashReset	{
 function	script	F_CashDungeon	{
 	switch(getarg(0)) {
 	case 1:
-	case 2:
 		switch(select("Nogg Road:Mjolnir Dead Pit:"+((checkre(0))?"":"Umbala Dungeon")+":Einbroch Mine Dungeon:Payon Dungeon:Toy Dungeon:Glast Heim Underprison:Louyang Dungeon:Hermit's Checkers:Izlude Dungeon:Turtle Island Dungeon:Clock Tower B3f:Clock Tower 3f:Glast Heim Culvert 2f:Sphinx Dungeon 4f:Inside Pyramid 4f:Prontera Culvert 3f:Amatsu Dungeon 1f (Tatami Maze):Somatology Laboratory 1st floor:Ayothya Ancient Shrine 2nd floor")) {
 		case 1: warp "mag_dun01",125,71; end;	// Nogg Road
 		case 2: warp "mjo_dun02",80,297; end;	// Mjolnir Dead Pit
@@ -98,6 +98,21 @@ function	script	F_CashDungeon	{
 		case 19: warp "lhz_dun01",19,153; end;	// Somatology Laboratory 1F
 		case 20: warp "ayo_dun02",70,240; end;	// Ayotaya Dungeon 2F
 		}
+	case 2: // Menu names are not official.
+		switch(select("Thor Volcano 2f:Ice Dungeon Entrance:Nameless Island Entrance:Niflheim:Labyrinth Forest 2f:Ruins of Juperos Entrance:Ant Hell 2f:Kiel Hyre's Academy Entrance:Thanatos Tower Entrance:Abyss Lake Entrance:Rachel Sanctuary Entrance:Odin Temple 2f")) {
+		case 1: warp "thor_v02",77,208; end;	// Thor Volcano 2F
+		case 2: warp "ra_fild01",237,333; end;	// Ice Dungeon
+		case 3: warp "ve_fild07",127,131; end;	// Nameless Island
+		case 4: warp "niflheim",206,179; end;	// Niflheim
+		case 5: warp "prt_maze02",100,174; end;	// Labyrinth Forest F2
+		case 6: warp "jupe_cave",36,54; end;	// Juperos
+		case 7: warp "anthell02",36,265; end;	// Ant Hell F2
+		case 8: warp "yuno_fild08",70,171; end;	// Kiel Hyre's Academy
+		case 9: warp "hu_fild01",140,160; end;	// Thanatos Tower
+		case 10: warp "hu_fild05",168,302; end;	// Abyss Lake
+		case 11: warp "ra_temple",117,173; end;	// Rachel Sanctuary
+		case 12: warp "odin_tem02",257,374; end;	// Odin Temple F2
+		}
 	case 3:
 		switch(select("Bio Lab (2nd Floor):Ice Dungeon (3rd Floor):Odin Temple (3rd Floor):Thor Volcano (3rd Floor):Abyss Lake (3rd Floor):Juperos Ruins (2nd Floor)")) {
 		case 1: warp "lhz_dun02",145,149; end;	// Somatology Laboratory 2F

+ 129 - 40
npc/other/monster_race.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= L0ne_W0lf
 //===== Current Version: =====================================
-//= 1.8
+//= 1.9
 //===== Compatible With: =====================================
 //= rAthena SVN (Trunk, r12752+)
 //===== Description: =========================================
@@ -11,7 +11,6 @@
 //= - Hugel Monster Races (Single and Double)
 //= - Prize Medal Exchanging, and Monster Track NPCs.
 //= - Contains both euRO and iRO dialog.
-//= - There are no permenent variables.
 //===== Additional Comments: =================================
 //= 1.0 First version. Please report bugs. [L0ne_W0lf]
 //= 1.1 Corrected a minor typo. [L0ne_W0lf]
@@ -23,6 +22,7 @@
 //= 1.7 Optimization, -4000 lines (more can still be done). [Euphy]
 //= 1.8 Optimized.
 //=     Fixed Medal Distributor (Dual Race) disappears accordingly. [Joseph] 
+//= 1.9 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================
 
 // Monstrer Race - Single Monster Race
@@ -1719,12 +1719,12 @@ p_track02,67,45,5	script	Medal Distributor#medal	845,{
 		mes "wager on the monster races!";
 		close;
 	} else if (monster_race_2_1 == 7 && monster_race_2_2 == 7) {
-			mes "[Medal Distributor]";
-			mes "Thanks for visiting the";
-			mes "Monster Race Arena, and";
-			mes "I hope you enjoy your time";
-			mes "here. I'll see you next time~";
-			close;
+		mes "[Medal Distributor]";
+		mes "Thanks for visiting the";
+		mes "Monster Race Arena, and";
+		mes "I hope you enjoy your time";
+		mes "here. I'll see you next time~";
+		close;
 	} else if (monster_race_2_1 != $@mon_race_2_1 || monster_race_2_2 != $@mon_race_2_2) {
 		mes "[Medal Distributor]";
 		mes "You may not have wagered";
@@ -2267,11 +2267,11 @@ ein_in01,85,208,5	script	Ei'felle#repay01	854,{
 			next;
 			switch (select("Glittering Jacket:Fire Property Armor:Earth Property Armor:Wind Property Armor:Water Property Armor:Cancel")) {
 				case 1: callsub S_BonusReward,500,2319; end;
-				case 2:	callsub S_BonusReward,1000,2345; end;
+				case 2: callsub S_BonusReward,1000,2345; end;
 				case 3: callsub S_BonusReward,1000,2351; end;
-				case 4:	callsub S_BonusReward,1000,2349; end;
-				case 5:	callsub S_BonusReward,1000,2347; end;
-				case 6:	close;
+				case 4: callsub S_BonusReward,1000,2349; end;
+				case 5: callsub S_BonusReward,1000,2347; end;
+				case 6: close;
 			}
 		}
 		setarray .@m$, "Dagger","One Handed Sword","Two Handed Sword","Axe","Mace","Bow","Staff","Book","Spear","Katar","Knuckle","Whip","Musical Instrument";
@@ -2385,18 +2385,41 @@ S_Reward:
 			mes "Now do you see the";
 			mes "power of hope?";
 			delitem 7515,1; //Marvelous_Medal
-			if (BaseLevel < 21) getexp 200,0;
-			else if ((BaseLevel > 20) && (BaseLevel < 31)) getexp 300,0;
-			else if ((BaseLevel > 30) && (BaseLevel < 41)) getexp 1000,0;
-			else if ((BaseLevel > 40) && (BaseLevel < 51)) getexp 1800,0;
-			else if ((BaseLevel > 50) && (BaseLevel < 61)) getexp 2500,0;
-			else if ((BaseLevel > 60) && (BaseLevel < 71)) getexp 4700,0;
-			else if ((BaseLevel > 70) && (BaseLevel < 81)) getexp 5500,0;
-			else if ((BaseLevel > 80) && (BaseLevel < 96)) getexp 7000,0;
-			else if ((BaseLevel > 95) && (BaseLevel < 111)) getexp 8800,0;
-			else if ((BaseLevel > 110) && (BaseLevel < 126)) getexp 10900,0;
-			else if ((BaseLevel > 125) && (BaseLevel < 141)) getexp 13300,0;
-			else getexp 16000,0;
+			if (checkre(3)) {
+				if (BaseLevel < 21) getexp 110,0;
+				else if ((BaseLevel > 20) && (BaseLevel < 31)) getexp 280,0;
+				else if ((BaseLevel > 30) && (BaseLevel < 41)) getexp 1000,0;
+				else if ((BaseLevel > 40) && (BaseLevel < 51)) getexp 1200,0;
+				else if ((BaseLevel > 50) && (BaseLevel < 61)) getexp 1500,0;
+				else if ((BaseLevel > 60) && (BaseLevel < 71)) getexp 2800,0;
+				else if ((BaseLevel > 70) && (BaseLevel < 81)) getexp 4500,0;
+				else getexp 8500,0;
+
+			/* iRO EXP Table:
+				if (BaseLevel < 21) getexp 200,0;
+				else if ((BaseLevel > 20) && (BaseLevel < 31)) getexp 300,0;
+				else if ((BaseLevel > 30) && (BaseLevel < 41)) getexp 1000,0;
+				else if ((BaseLevel > 40) && (BaseLevel < 51)) getexp 1800,0;
+				else if ((BaseLevel > 50) && (BaseLevel < 61)) getexp 2500,0;
+				else if ((BaseLevel > 60) && (BaseLevel < 71)) getexp 4700,0;
+				else if ((BaseLevel > 70) && (BaseLevel < 81)) getexp 5500,0;
+				else if ((BaseLevel > 80) && (BaseLevel < 96)) getexp 7000,0;
+				else if ((BaseLevel > 95) && (BaseLevel < 111)) getexp 8800,0;
+				else if ((BaseLevel > 110) && (BaseLevel < 126)) getexp 10900,0;
+				else if ((BaseLevel > 125) && (BaseLevel < 141)) getexp 13300,0;
+				else getexp 16000,0;
+			*/
+
+			} else {
+				if (BaseLevel < 21) getexp 150,0;
+				else if ((BaseLevel > 20) && (BaseLevel < 31)) getexp 300,0;
+				else if ((BaseLevel > 30) && (BaseLevel < 41)) getexp 2000,0;
+				else if ((BaseLevel > 40) && (BaseLevel < 51)) getexp 8000,0;
+				else if ((BaseLevel > 50) && (BaseLevel < 61)) getexp 25000,0;
+				else if ((BaseLevel > 60) && (BaseLevel < 71)) getexp 47000,0;
+				else if ((BaseLevel > 70) && (BaseLevel < 81)) getexp 55000,0;
+				else getexp 65000,0;
+			}
 			close;
 		case 2:
 			mes "[Ei'felle]";
@@ -2424,18 +2447,87 @@ S_Reward:
 			mes "whatever you feed it.";
 			mes "Placebos and psychosomatic symptoms-- it all ties together.";
 			delitem 7515,1; //Marvelous_Medal
-			if (BaseLevel < 21) getexp 0,150;
-			else if ((BaseLevel > 20) && (BaseLevel < 31)) getexp 0,200;
-			else if ((BaseLevel > 30) && (BaseLevel < 41)) getexp 0,750;
-			else if ((BaseLevel > 40) && (BaseLevel < 51)) getexp 0,1800;
-			else if ((BaseLevel > 50) && (BaseLevel < 61)) getexp 0,2500;
-			else if ((BaseLevel > 60) && (BaseLevel < 71)) getexp 0,3525;
-			else if ((BaseLevel > 70) && (BaseLevel < 81)) getexp 0,4125;
-			else if ((BaseLevel > 80) && (BaseLevel < 96)) getexp 0,5250;
-			else if ((BaseLevel > 95) && (BaseLevel < 111)) getexp 0,6600;
-			else if ((BaseLevel > 110) && (BaseLevel < 126)) getexp 0,8175;
-			else if ((BaseLevel > 125) && (BaseLevel < 141)) getexp 0,9975;
-			else getexp 0,12000;
+			if (checkre(3)) {
+				if (Class == Job_Novice) {
+					getexp 0,15;
+				} else if (Class == Job_Novice_High) {
+					getexp 0,25;
+				} else if ((Class >= Job_Swordman && Class <= Job_Thief) || Class == Job_Taekwon) {
+					if (JobLevel < 11) getexp 0,25;
+					else if ((JobLevel > 10) && (JobLevel < 21)) getexp 0,200;
+					else if ((JobLevel > 20) && (JobLevel < 31)) getexp 0,300;
+					else if ((JobLevel > 30) && (JobLevel < 41)) getexp 0,950;
+					else getexp 0,1800;
+				} else if ((Class >= Job_Knight && Class <= Job_Crusader2) || (Class >= Job_Swordman_High && Class <= Job_Thief_High)) {
+					if (JobLevel < 11) getexp 0,40;
+					else if ((JobLevel > 10) && (JobLevel < 21)) getexp 0,300;
+					else if ((JobLevel > 20) && (JobLevel < 31)) getexp 0,550;
+					else if ((JobLevel > 30) && (JobLevel < 41)) getexp 0,1080;
+					else getexp 0,2150;
+				} else {
+					if (JobLevel < 11) getexp 0,55;
+					else if ((JobLevel > 10) && (JobLevel < 21)) getexp 0,330;
+					else if ((JobLevel > 20) && (JobLevel < 31)) getexp 0,600;
+					else if ((JobLevel > 30) && (JobLevel < 41)) getexp 0,1200;
+					else if ((JobLevel > 40) && (JobLevel < 51)) getexp 0,1750;
+					else getexp 0,2950;
+				}
+
+			/* iRO JEXP Table:
+				if (BaseLevel < 21) getexp 0,150;
+				else if ((BaseLevel > 20) && (BaseLevel < 31)) getexp 0,200;
+				else if ((BaseLevel > 30) && (BaseLevel < 41)) getexp 0,750;
+				else if ((BaseLevel > 40) && (BaseLevel < 51)) getexp 0,1800;
+				else if ((BaseLevel > 50) && (BaseLevel < 61)) getexp 0,2500;
+				else if ((BaseLevel > 60) && (BaseLevel < 71)) getexp 0,3525;
+				else if ((BaseLevel > 70) && (BaseLevel < 81)) getexp 0,4125;
+				else if ((BaseLevel > 80) && (BaseLevel < 96)) getexp 0,5250;
+				else if ((BaseLevel > 95) && (BaseLevel < 111)) getexp 0,6600;
+				else if ((BaseLevel > 110) && (BaseLevel < 126)) getexp 0,8175;
+				else if ((BaseLevel > 125) && (BaseLevel < 141)) getexp 0,9975;
+				else getexp 0,12000;
+			*/
+
+			} else {
+				if (Class == Job_Novice) {
+					getexp 0,30;
+				} else if ((Class >= Job_Swordman && Class <= Job_Thief) || Class == Job_Taekwon) {
+					if (JobLevel < 11) getexp 0,50;
+					else if ((JobLevel > 10) && (JobLevel < 21)) getexp 0,250;
+					else if ((JobLevel > 20) && (JobLevel < 31)) getexp 0,1500;
+					else if ((JobLevel > 30) && (JobLevel < 41)) getexp 0,7000;
+					else getexp 0,20000;
+				} else if (Class >= Job_Knight && Class <= Job_Crusader2) {
+					if (JobLevel < 11) getexp 0,80;
+					else if ((JobLevel > 10) && (JobLevel < 21)) getexp 0,2000;
+					else if ((JobLevel > 20) && (JobLevel < 31)) getexp 0,10000;
+					else if ((JobLevel > 30) && (JobLevel < 41)) getexp 0,25000;
+					else getexp 0,38000;
+				} else if (Class == Job_Novice_High) {
+					getexp 0,40;
+				} else if (Class >= Job_Swordman_High && Class <= Job_Thief_High) {
+					if (JobLevel < 11) getexp 0,65;
+					else if ((JobLevel > 10) && (JobLevel < 21)) getexp 0,300;
+					else if ((JobLevel > 20) && (JobLevel < 31)) getexp 0,2500;
+					else if ((JobLevel > 30) && (JobLevel < 41)) getexp 0,10000;
+					else getexp 0,25000;
+				} else if (Class >= Job_Lord_Knight && Class <= Job_Paladin_2) {
+					if (JobLevel < 11) getexp 0,150;
+					else if ((JobLevel > 10) && (JobLevel < 21)) getexp 0,2200;
+					else if ((JobLevel > 20) && (JobLevel < 31)) getexp 0,13000;
+					else if ((JobLevel > 30) && (JobLevel < 41)) getexp 0,27000;
+					else if ((JobLevel > 40) && (JobLevel < 51)) getexp 0,38000;
+					else getexp 0,40000;
+				} else {
+					if (JobLevel < 11) getexp 0,50;
+					else if ((JobLevel > 10) && (JobLevel < 21)) getexp 0,250;
+					else if ((JobLevel > 20) && (JobLevel < 31)) getexp 0,1500;
+					else if ((JobLevel > 30) && (JobLevel < 41)) getexp 0,7000;
+					else if ((JobLevel > 40) && (JobLevel < 51)) getexp 0,20000;
+					else if ((JobLevel > 50) && (JobLevel < 61)) getexp 0,30000;
+					else getexp 0,38000;
+				}
+			}
 			close;
 		case 3:
 			mes "[Ei'felle]";
@@ -2506,7 +2598,7 @@ S_Reward:
 						mes "enter a number from 1 to 100.";
 						mes "If you want to give me more";
 						mes "medals, then perhaps you";
-						mes "should just give them all to me~ ^FFFFFF ^000000";
+						mes "should just give them all to me~";
 						next;
 					} else break;
 				}
@@ -2540,9 +2632,6 @@ S_Reward:
 				mes "come back as soon as you can.";
 				close;
 			}
-			delitem 7515,1; //Marvelous_Medal
-			set ein_medal01,1;
-			close;
 		case 4:
 			mes "[Ei'felle]";
 			mes "Well, I've been able to";

+ 6 - 9
npc/other/turbo_track.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= Joseph
 //===== Current Version: =====================================
-//= 1.0
+//= 1.1
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -14,6 +14,7 @@
 //===== Additional Comments: =================================
 //= 0.x Previous authors: L0ne_W0lf, Kisuka, Elias
 //= 1.0 Merged Turbo Track. [Joseph]
+//= 1.1 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================
 
 function	script	F_tt	{
@@ -4250,14 +4251,10 @@ turbo_room,93,117,5	script	Point Exchange Helper	125,{
 	
 					}
 					set tt_point,tt_point-40;
-					if (BaseLevel < 70)
-						getexp 300,0;
-					else if (BaseLevel < 80)
-						getexp 900,0;
-					else if (BaseLevel < 90)
-						getexp 1000,0;
-					else if (BaseLevel < 151)
-						getexp 3000,0;
+					if (BaseLevel < 70) getexp 3000,0;
+					else if (BaseLevel < 80) getexp 9000,0;
+					else if (BaseLevel < 90) getexp 10000,0;
+					else if (BaseLevel < 100) getexp 30000,0;
 					mes "[Item Exchange Helper]";
 					mes "Thank you, your";
 					mes "Turbo Track Points";

+ 54 - 114
npc/quests/bard_quest.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= Riotblade and L0ne_W0lf
 //===== Current Version: ===================================== 
-//= 1.4
+//= 1.5
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -26,6 +26,7 @@
 //=	Progress prior to the 5th+ step will be lost. Job quest takes priority.
 //= 1.3 Fixed experience gains to match upcoming rate adjustments. [SinSloth]
 //= 1.4 Replaced effect numerics with constants. [L0ne_W0lf]
+//= 1.5 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 geffen,132,38,3	script	Bard#2	51,{
@@ -42,19 +43,36 @@ geffen,132,38,3	script	Bard#2	51,{
 		mes "Ah~ There are only two things that can make this picturesque moment even more beautiful: story and song. Now then, which would you like to hear?";
 		callsub S_StorySong,1;
 
-	} else if (gef_bard_q == 15) {
-		cutin "bard_eland01",2;
-		mes "[Errende]";
-		mes "Ah, so how did it go?";
-		mes "Wait, you already found it?";
-		mes "Yes, this is it! Great!";
-		mes "This is so amazing!!";
-		mes "Ah, yes, right.";
-		mes "Right.";
-		next;
-		mes "[Errende]";
-		mes "I would like to express my gratitute. But, what would be appropriate for an adventurer";
-		mes "like yourself?";
+	} else if (gef_bard_q == 14 || gef_bard_q == 15) {
+		if (gef_bard_q == 14) {
+			cutin "bard_eland04",2;
+			mes "[Errende]";
+			mes "Hmmm?";
+			mes "Is that the seal of black...? Huh. Kino Kitty removed the one he gave me without a trace, so I surmise that he likes you a lot. Otherwise...";
+			next;
+			mes "^3355FFYou give Errende the letter";
+			mes "you have received from Kino Kitty.^000000";
+			next;
+			cutin "bard_eland01",2;
+			mes "[Errende]";
+			mes "Er, he knows everything already? From this spot of blood, I think he still has health problems. He should stop torturing himself...";
+			next;
+			mes "[Errende]";
+			mes "Thank you, I really appreciate what you've done for me. But, what would be an appropriate way to express my gratitude for an adventurer like yourself?";
+		} else {
+			cutin "bard_eland01",2;
+			mes "[Errende]";
+			mes "Ah, so how did it go?";
+			mes "Wait, you already found it?";
+			mes "Yes, this is it! Great!";
+			mes "This is so amazing!!";
+			mes "Ah, yes, right.";
+			mes "Right.";
+			next;
+			mes "[Errende]";
+			mes "I would like to express my gratitute. But, what would be appropriate for an adventurer";
+			mes "like yourself?";
+		}
 		next;
 		mes "[Errende]";
 		mes "Oh~! I have just the thing. Alright, please make yourself comfortable, and listen to my song.";
@@ -107,106 +125,28 @@ geffen,132,38,3	script	Bard#2	51,{
 		next;
 		specialeffect2 EF_RESURRECTION;
 		mes "^3355FFWhile listening to his song, you feel at ease, and your thoughts become clearer. You believe that you see the vision of an angel, and you gain some experience points.^000000";
-		set gef_bard_q,31;
-		if (BaseLevel < 56) getexp 450,0;
-		else if ((BaseLevel > 55) && (BaseLevel < 61)) getexp 550,0;
-		else if ((BaseLevel > 60) && (BaseLevel < 66)) getexp 968,0;
-		else if ((BaseLevel > 65) && (BaseLevel < 71)) getexp 1341,0;
-		else if ((BaseLevel > 70) && (BaseLevel < 76)) getexp 3576,0;
-		else if ((BaseLevel > 75) && (BaseLevel < 81)) getexp 6025,0;
-		else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 7034,0;
-		else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 9205,0;
-		else if (BaseLevel > 90) getexp 15679,0;
-		next;
-		cutin "bard_eland02",2;
-		mes "[Errende]";
-		mes "So, how do you feel now? I hope my song has refreshed you. I'm afraid it may not be enough to repay you, but please understand that this is the best way for me to express my gratitude.";
-		next;
-		mes "[Errende]";
-		mes "Besides, I've been thinking of you now as my friend, with whom I may candidly speak without any worry. And I think you have a beautiful smile. Am I wrong~? Hahaha~";
-		next;
-		mes "[Errende]";
-		mes "I hope that you'll always remain honest and respectful towards other people, and that you continue to ignore greed for fortune or power.";
-		goto L_End;
-
-	} else if (gef_bard_q == 14) {
-		cutin "bard_eland04",2;
-		mes "[Errende]";
-		mes "Hmmm?";
-		mes "Is that the seal of black...? Huh. Kino Kitty removed the one he gave me without a trace, so I surmise that he likes you a lot. Otherwise...";
-		next;
-		mes "^3355FFYou give Errende the letter";
-		mes "you have received from Kino Kitty.^000000";
-		next;
-		cutin "bard_eland01",2;
-		mes "[Errende]";
-		mes "Er, he knows everything already? From this spot of blood, I think he still has health problems. He should stop torturing himself...";
-		next;
-		mes "[Errende]";
-		mes "Thank you, I really appreciate what you've done for me. But, what would be an appropriate way to express my gratitude for an adventurer like yourself?";
-		next;
-		mes "[Errende]";
-		mes "Oh~! I have just the thing. Alright, please make yourself comfortable, and listen";
-		mes "to my song.";
-		next;
-		cutin "bard_eland03",2;
-		mes "^483D8BEvery god never grows old";
-		mes "Because of beautiful";
-		mes "Goddess, Idun.";
-		mes "Keeper of the apples of youth";
-		mes "Goddess of immortality.^000000";
-		specialeffect2 EF_STEAL;
-		next;
-		mes "^483D8BEvery god never grows old.";
-		mes "Idun, the wife of Bragi,";
-		mes "Idun, Odin's daughter in law~";
-		mes "The apples she keeps";
-		mes "In her basket.^000000";
-		next;
-		mes "^483D8BWithout Idun,";
-		mes "Every god would";
-		mes "have succumbed to age.";
-		mes "Even Thor, the strongest of gods,";
-		mes "would grow frail, Megingjard would";
-		mes "slip from his waist, and Mjolnir";
-		mes "would never fly again.^000000";
-		next;
-		mes "^483D8BWithout Idun,";
-		mes "Every god would";
-		mes "have succumbed to age.";
-		mes "Loki was careless once,";
-		mes "and made her lost to the gods.";
-		mes "He was forced to get her back.^000000";
-		specialeffect2 EF_STEAL;
-		next;
-		mes "^483D8BMy goddess stands";
-		mes "In the field of Asgard";
-		mes "She hands me fruit from heaven.";
-		mes "You will be loved by every god...";
-		mes "You will be blessed";
-		mes "By every god...^000000";
-		next;
-		specialeffect EF_BEGINSPELL6;
-		mes "^483D8BIf you share the";
-		mes "Apple of youth with me";
-		mes "Even a bite of it with";
-		mes "This poor poet.";
-		mes "You will be loved by every god...";
-		mes "You will be blessed";
-		mes "By every god...^000000";
-		next;
-		specialeffect2 EF_RESURRECTION;
-		mes "^3355FFWhile listening to his song, you feel at ease, and your thoughts become clearer. You believe that you see the vision of an angel, and you gain some experience points.^000000";
-		set gef_bard_q,30;
-		if (BaseLevel < 56) getexp 450,0;
-		else if ((BaseLevel > 55) && (BaseLevel < 61)) getexp 550,0;
-		else if ((BaseLevel > 60) && (BaseLevel < 66)) getexp 968,0;
-		else if ((BaseLevel > 65) && (BaseLevel < 71)) getexp 1341,0;
-		else if ((BaseLevel > 70) && (BaseLevel < 76)) getexp 3576,0;
-		else if ((BaseLevel > 75) && (BaseLevel < 81)) getexp 6025,0;
-		else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 7034,0;
-		else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 9205,0;
-		else if (BaseLevel > 90) getexp 15679,0;
+		set gef_bard_q, gef_bard_q + 16; //30,31
+		if (checkre(3)) {
+			if (BaseLevel < 56) getexp 450,0;
+			else if ((BaseLevel > 55) && (BaseLevel < 61)) getexp 550,0;
+			else if ((BaseLevel > 60) && (BaseLevel < 66)) getexp 968,0;
+			else if ((BaseLevel > 65) && (BaseLevel < 71)) getexp 1341,0;
+			else if ((BaseLevel > 70) && (BaseLevel < 76)) getexp 3575,0;
+			else if ((BaseLevel > 75) && (BaseLevel < 81)) getexp 6024,0;
+			else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 7034,0;
+			else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 9205,0;
+			else getexp 15678,0;
+		} else {
+			if (BaseLevel < 56) getexp 4500,0;
+			else if ((BaseLevel > 55) && (BaseLevel < 61)) getexp 5500,0;
+			else if ((BaseLevel > 60) && (BaseLevel < 66)) getexp 9684,0;
+			else if ((BaseLevel > 65) && (BaseLevel < 71)) getexp 13411,0;
+			else if ((BaseLevel > 70) && (BaseLevel < 76)) getexp 35757,0;
+			else if ((BaseLevel > 75) && (BaseLevel < 81)) getexp 60246,0;
+			else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 70340,0;
+			else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 92052,0;
+			else getexp 156786,0;
+		}
 		next;
 		cutin "bard_eland02",2;
 		mes "[Errende]";

+ 5 - 4
npc/quests/eye_of_hellion.txt

@@ -1,9 +1,9 @@
 //===== rAthena Script =======================================
-//= The Eye of Hellion Quest.
+//= The Eye of Hellion Quest
 //===== By: ==================================================
 //= MasterOfMuppets
 //===== Current Version: =====================================
-//= 2.0
+//= 2.1
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
@@ -22,6 +22,7 @@
 //= 1.8 Replaced effect numerics with constants. [L0ne_W0lf]
 //= 1.9 Removed duplicate text. [Kisuka]
 //= 2.0 Updated EXP rewards.
+//= 2.1 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================
 
 morocc_in,116,101,3	script	Old Scholar Tyus#hellion	735,3,3,{
@@ -548,7 +549,7 @@ morocc_in,116,101,3	script	Old Scholar Tyus#hellion	735,3,3,{
 			set HELLIONQ,69;
 			getitem 2658,1; //Nile_Rose_
 			getitem 603,1; //Old_Blue_Box
-			getexp 1200000,0;
+			getexp (checkre(3))?120000:1200000,0;
 			next;
 			mes "[Sir Chilias'Tyus]";
 			mes "Thank you, kind";
@@ -615,7 +616,7 @@ morocc_in,116,101,3	script	Old Scholar Tyus#hellion	735,3,3,{
 			delitem 7332,1; //Slate
 			set HELLIONQ,70;
 			getitem 2658,1; //Nile_Rose_
-			getexp 1000000,0;
+			getexp (checkre(3))?100000:1000000,0;
 			next;
 			mes "[Sir Chilias'Tyus]";
 			mes "Thank you, kind";

+ 133 - 148
npc/quests/gunslinger_quests.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= Playtester
 //===== Current Version: =====================================
-//= 1.6c
+//= 1.7
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
@@ -21,6 +21,7 @@
 //= 1.6a Removed .GATs [Lupus]
 //= 1.6b Changed item names to item IDs on some scripts. [Samuray22]
 //= 1.6c Corrected a bad delitem. (bugreport:763) [Samuray22]
+//= 1.7 Removed all 'menu' and 'goto'. [Euphy]
 //============================================================
 
 que_ng,182,85,3	script	Garrison	109,{
@@ -1095,7 +1096,7 @@ que_ng,149,178,4	script	Lab Director	744,{
 		mes "My name is 'Lab Director'.";
 		mes "Do you need something?";
 		next;
-		menu "I need a Special Metal Rod.",-;
+		select("I need a Special Metal Rod.");
 		mes "[N. A]";
 		mes "Huh...? Hey, weren't you that guy";
 		mes "who walked out of here with a";
@@ -1111,7 +1112,7 @@ que_ng,149,178,4	script	Lab Director	744,{
 		mes "You betrayed my faith in you!";
 		mes "You traitor! Traitor!! TRAITOR!!!!";
 		next;
-		menu "Explain everything.",-;
+		select("Explain everything.");
 		mes "[N. A]";
 		mes "...... Whew.";
 		mes "So it was Mr. F. Harrison who";
@@ -1131,11 +1132,11 @@ que_ng,149,178,4	script	Lab Director	744,{
 		mes "Elemental Spheres to keep going";
 		mes "with my research...";
 		next;
-		menu "Make him an offer.",-;
+		select("Make him an offer.");
 		mes "[N. A]";
 		mes "An offer? Like what?";
 		next;
-		menu "We find things for each other.",-;
+		select("We find things for each other.");
 		mes "[N. A]";
 		mes "Hmm... That sounds good.";
 		mes "Well, according to the offer,";
@@ -1159,51 +1160,50 @@ que_ng,149,178,4	script	Lab Director	744,{
 		mes "Find me 30 of each Element.";
 		mes "Did you find them?";
 		next;
-
 		switch(select("Nope.:I found 30 Poison Spheres.:I found 30 Flare Spheres.:I found 30 Lightning Spheres.:I found 30 Blind Spheres.:I found 30 Freezing Spheres.")){
-
 		case 1:
 			mes "[N. A]";
 			mes "Just bring me whatever type";
 			mes "you could find.";
 			close;
-			break;
 		case 2:
 			if(countitem(13205) >= 30){
 				delitem 13205,30;
 				set gun_na,103;
 			}
-			else goto L_MORE;
 			break;
 		case 3:
 			if(countitem(13203) >= 30){
 				delitem 13203,30;
 				set gun_na,103;
 			}
-			else goto L_MORE;
 			break;
 		case 4:
 			if(countitem(13204) >= 30){
 				delitem 13204,30;
 				set gun_na,103;
 			}
-			else goto L_MORE;
 			break;
 		case 5:
 			if(countitem(13206) >= 30){
 				delitem 13206,30;
 				set gun_na,103;
 			}
-			else goto L_MORE;
 			break;
 		case 6:
 			if(countitem(13207) >= 30){
 				delitem 13207,30;
 				set gun_na,103;
 			}
-			else goto L_MORE;
 			break;
 		}
+		if (gun_na != 103) {
+			mes "[N. A]";
+			mes "Eh? What? Am I the only";
+			mes "person who can't see them?";
+			mes "Bring me more!";
+			close;
+		}
 		mes "[N. A]";
 		mes "Wow, you found them all for me!";
 		mes "I had to turn Lady Celena's lab";
@@ -1237,7 +1237,7 @@ que_ng,149,178,4	script	Lab Director	744,{
 	mes "Do you need something?";
 	next;
 	if (BaseJob != Job_Gunslinger){
-		menu "Talk to him.",-;
+		select("Talk to him.");
 		mes "[N. A]";
 		mes "If you see Gunslingers around,";
 		mes "please tell them that I have";
@@ -1246,14 +1246,8 @@ que_ng,149,178,4	script	Lab Director	744,{
 		mes "here. Heheheheh...";
 		close;
 	}
-	if (BaseLevel > 67){
-		menu "Ask about 'Butcher'.",L_BUTCHER,"Ask about the 'Drifter'.",L_DRIFTER,"Cancel",L_CANCEL;
-	}
-	else if(BaseLevel > 54){
-		menu "Ask about the 'Drifter'.",L_DRIFTER,"Cancel",L_CANCEL;
-	}
-	else{
-		menu "Talk.",-;
+	if (BaseLevel < 55) {
+		select("Talk.");
 		mes "[N. A]";
 		mes "... Destruction... Madness...";
 		mes "Hmm... Attack speed over 180...";
@@ -1264,137 +1258,129 @@ que_ng,149,178,4	script	Lab Director	744,{
 		mes "disturb me.";
 		close;
 	}
-
-L_CANCEL:
-	mes "[N. A]";
-	mes "I have news on the latest";
-	mes "weapons but... I guess you're";
-	mes "too busy to hear them.";
-	mes "Maybe next time I guess.";
-	close;
-
-L_BUTCHER:
-	mes "[N. A]";
-	mes "Ah, you heard the news";
-	mes "shortly after the end";
-	mes "of the development eh?";
-	next;
-	mes "[N. A]";
-	mes "^ff0000Butcher^000000 is the newest development";
-	mes "by us, the Einbroch Firearm Lab.";
-	mes "It is the newest type of Gatling";
-	mes "we have developed. While";
-	mes "^ff0000Drifter^000000 is a good weapon";
-	mes "as well, the ^ff0000Butcher^000000 definitely has";
-	mes "a much stronger firepower!";
-	next;
-	mes "[N. A]";
-	mes "Due to its strong firepower,";
-	mes "the Butcher was also dubbed";
-	mes "as the 'Murderer'.";
-	next;
-	mes "[N. A]";
-	mes "However, even Gunslingers could";
-	mes "have troubles controlling such";
-	mes "a powerful weapon.";
-	next;
-	mes "[N. A]";
-	mes "Do you think you can handle it?";
-	next;
-	if(select("I'm not sure...:Of course I can!!") == 1){
+	switch(select(((BaseLevel > 67)?"Ask about 'Butcher'.":"")+":Ask about the 'Drifter'.:Cancel")) {
+	case 1:
 		mes "[N. A]";
-		mes "The ^ff0000Butcher^000000 is a weapon that you";
-		mes "can't handle without a strong";
-		mes "will. I'll see you again when";
-		mes "you have enough confidence to";
-		mes "handle this monster.";
-		close;
-	}else{
+		mes "Ah, you heard the news";
+		mes "shortly after the end";
+		mes "of the development eh?";
+		next;
 		mes "[N. A]";
-		mes "Aha, how self-confident you";
-		mes "are! However, I see people with";
-		mes "such self-confidence everywhere.";
-		mes "You'll need to prove it...";
-		mes "But how... Hmm...";
+		mes "^ff0000Butcher^000000 is the newest development";
+		mes "by us, the Einbroch Firearm Lab.";
+		mes "It is the newest type of Gatling";
+		mes "we have developed. While";
+		mes "^ff0000Drifter^000000 is a good weapon";
+		mes "as well, the ^ff0000Butcher^000000 definitely has";
+		mes "a much stronger firepower!";
 		next;
 		mes "[N. A]";
-		mes "Hmmm......";
+		mes "Due to its strong firepower,";
+		mes "the Butcher was also dubbed";
+		mes "as the 'Murderer'.";
 		next;
 		mes "[N. A]";
-		mes "Aha! I got it!";
+		mes "However, even Gunslingers could";
+		mes "have troubles controlling such";
+		mes "a powerful weapon.";
 		next;
 		mes "[N. A]";
-		mes "Here, bring me ^ff00001000 Orc Claws^000000 and ^ff00001000 Skel Bone^000000.";
-		mes "If you can bring me these items,";
-		mes "I'll let you use the Butcher.";
+		mes "Do you think you can handle it?";
 		next;
+		if(select("I'm not sure...:Of course I can!!") == 1){
+			mes "[N. A]";
+			mes "The ^ff0000Butcher^000000 is a weapon that you";
+			mes "can't handle without a strong";
+			mes "will. I'll see you again when";
+			mes "you have enough confidence to";
+			mes "handle this monster.";
+			close;
+		}else{
+			mes "[N. A]";
+			mes "Aha, how self-confident you";
+			mes "are! However, I see people with";
+			mes "such self-confidence everywhere.";
+			mes "You'll need to prove it...";
+			mes "But how... Hmm...";
+			next;
+			mes "[N. A]";
+			mes "Hmmm......";
+			next;
+			mes "[N. A]";
+			mes "Aha! I got it!";
+			next;
+			mes "[N. A]";
+			mes "Here, bring me ^ff00001000 Orc Claws^000000 and ^ff00001000 Skel Bone^000000.";
+			mes "If you can bring me these items,";
+			mes "I'll let you use the Butcher.";
+			next;
+			mes "[N. A]";
+			mes "Easy, ain't it? Go and prove";
+			mes "your ability then! Heheheh...";
+			set gun_na,1;
+			close;
+		}
+	case 2:
 		mes "[N. A]";
-		mes "Easy, ain't it? Go and prove";
-		mes "your ability then! Heheheh...";
-		set gun_na,1;
-		close;
-	}
-
-L_DRIFTER:
-	mes "[N. A]";
-	mes "Ah, you're here to learn about";
-	mes "the ^ff0000Drifter^000000 eh?";
-	next;
-	mes "[N. A]";
-	mes "The ^ff0000Drifter^000000 is one of the many";
-	mes "highest-classed weapons developed";
-	mes "by Lady Celena. It's an automatic";
-	mes "Gatling which boasts very high";
-	mes "rate of fire, which is the highest";
-	mes "among all Gunslinger weapons.";
-	next;
-	mes "[N. A]";
-	mes "Of course, you will need the Skill";
-	mes "to allow you to control Gatlings,";
-	mes "but he who contorls Gatlings well";
-	mes "will receive full aid from the";
-	mes "^ff0000Drifter^000000.";
-	next;
-	mes "[N. A]";
-	mes "Do you want to try using the ^ff0000Drifter^000000?";
-	next;
-	if(select("Um, no.:Yeah!") == 1){
+		mes "Ah, you're here to learn about";
+		mes "the ^ff0000Drifter^000000 eh?";
+		next;
 		mes "[N. A]";
-		mes "If you want to try it out";
-		mes "some time, come back here.";
-		close;
-	}else{
-		set gun_na,10;
+		mes "The ^ff0000Drifter^000000 is one of the many";
+		mes "highest-classed weapons developed";
+		mes "by Lady Celena. It's an automatic";
+		mes "Gatling which boasts very high";
+		mes "rate of fire, which is the highest";
+		mes "among all Gunslinger weapons.";
+		next;
 		mes "[N. A]";
-		mes "Since it's really hard to find";
-		mes "the materials for constructing";
-		mes "the ^ff0000Drifter^000000, we only make them";
-		mes "on requests, and we require those";
-		mes "who want to use the ^ff0000Drifter^000000 to bring";
-		mes "us the materials.";
+		mes "Of course, you will need the Skill";
+		mes "to allow you to control Gatlings,";
+		mes "but he who contorls Gatlings well";
+		mes "will receive full aid from the";
+		mes "^ff0000Drifter^000000.";
 		next;
 		mes "[N. A]";
-		mes "I'll tell you the materials";
-		mes "needed, just bring them and";
-		mes "we'll construct it for you.";
+		mes "Do you want to try using the ^ff0000Drifter^000000?";
 		next;
+		if(select("Um, no.:Yeah!") == 1){
+			mes "[N. A]";
+			mes "If you want to try it out";
+			mes "some time, come back here.";
+			close;
+		}else{
+			set gun_na,10;
+			mes "[N. A]";
+			mes "Since it's really hard to find";
+			mes "the materials for constructing";
+			mes "the ^ff0000Drifter^000000, we only make them";
+			mes "on requests, and we require those";
+			mes "who want to use the ^ff0000Drifter^000000 to bring";
+			mes "us the materials.";
+			next;
+			mes "[N. A]";
+			mes "I'll tell you the materials";
+			mes "needed, just bring them and";
+			mes "we'll construct it for you.";
+			next;
+			mes "[N. A]";
+			mes "To make a Drifter, we need";
+			mes "70 Steel, 5 Eluniums, 3";
+			mes "Oridecons, 70 Coal, 50 Rusty";
+			mes "Screws, and a fee of";
+			mes "50,000 zeny.";
+			mes "Come back after you found";
+			mes "them all.";
+			close;
+		}
+	case 3:
 		mes "[N. A]";
-		mes "To make a Drifter, we need";
-		mes "70 Steel, 5 Eluniums, 3";
-		mes "Oridecons, 70 Coal, 50 Rusty";
-		mes "Screws, and a fee of";
-		mes "50,000 zeny.";
-		mes "Come back after you found";
-		mes "them all.";
+		mes "I have news on the latest";
+		mes "weapons but... I guess you're";
+		mes "too busy to hear them.";
+		mes "Maybe next time I guess.";
 		close;
 	}
-
-L_MORE:
-	mes "[N. A]";
-	mes "Eh? What? Am I the only";
-	mes "person who can't see them?";
-	mes "Bring me more!";
-	close;
 }
 
 lighthalzen,205,284,6	script	F. Harrison	85,{
@@ -1415,7 +1401,7 @@ lighthalzen,205,284,6	script	F. Harrison	85,{
 		mes "[F. Harrison]";
 		mes "Heheh... Hmm... Huh...?";
 		next;
-		menu "May I have my Butcher back now?",-;
+		select("May I have my Butcher back now?");
 		mes "[F. Harrison]";
 		mes "Uh? Oh, umm... Heheh...";
 		next;
@@ -1555,7 +1541,17 @@ lighthalzen,205,284,6	script	F. Harrison	85,{
 		close;
 	}
 	else if(gun_na == 0){
-		if(BaseJob != Job_Gunslinger) goto L_BORED;
+		if(BaseJob != Job_Gunslinger) {
+			mes "[F. Harrison]";
+			mes "Man, I'm so bored...";
+			mes "I wonder if there's anything";
+			mes "interesting...";
+			next;
+			mes "[F. Harrison]";
+			mes "Oh well... I'll just play with my";
+			mes "beautiful 'Crimson Bolt'.";
+			close;
+		}
 		if(BaseLevel > 67 && countitem(13158) > 0){
 			mes "[F. Harrison]";
 			mes "Man, I'm so bored...";
@@ -1599,15 +1595,4 @@ lighthalzen,205,284,6	script	F. Harrison	85,{
 			close;
 		}
 	}
-
-L_BORED:
-	mes "[F. Harrison]";
-	mes "Man, I'm so bored...";
-	mes "I wonder if there's anything";
-	mes "interesting...";
-	next;
-	mes "[F. Harrison]";
-	mes "Oh well... I'll just play with my";
-	mes "beautiful 'Crimson Bolt'.";
-	close;
 }

+ 73 - 79
npc/quests/kiel_hyre_quest.txt

@@ -3,78 +3,12 @@
 //===== By: ================================================== 
 //= L0ne_W0lf (Script), DZeroX (Timer)
 //===== Current Version: ===================================== 
-//= 4.6
+//= 4.7
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
 //= Quest for opening Robot Factory first and second floors.
-//===== Comments: ============================================
-//= See below
 //===== Additional Comments: ================================= 
-//= 1.0 First version, needs testing [Playtester]
-//= 1.1 Copied over some changes made by -Tsuyuki- [L0ne_W0lf]
-//=	Reworked variables slightly so that the permenents ones aside from the 
-//=	main tracking variable, are deleted when no longer needed. Renamed
-//=	several variables that handle strings to @KHInput$. [L0ne_W0lf]
-//= 1.2 Removed duplicate NPCs. [Toms]
-//= 1.3 More Bug fixes, fixed typo. Updated Additional comments. [L0ne_W0lf]
-//= 1.4 Fixed doors not resetting in kh_kiehl01 after 30 second timer is up. [L0ne_W0lf]
-//= 1.5 Another bug fixed (&& instead of ||). [L0ne_W0lf]
-//= 1.6 More squashed bugs with if checking. [L0ne_W0lf]
-//= 1.7 Corrected some spelling mistakes. [Balish]
-//	Corrected Exploit with the pub man, giving infinite wine and money.
-//	Corrected pool and map not showing text for some states of the quest.
-//	Corrected Elly showing cutin but not text for some states of the quest (causing players to log off to continue).
-//	Let fisherman talk to you when you have 10 fishes OR MORE.
-//	Corrected not letting you enter the tombstone after finishing the quest.
-//= 1.8 Elly now deletes the Iron_Box, and Kiel Hyre deletes the Pin. [L0ne_W0lf]
-//= 	More security on the 5th Big Door, now makes sure no one outside of who-
-//=	acticated it initially can use it. Resets after 10 minutes to make it.
-//=	Made it so that you need to be at least step 84 to activate the final door.
-//=	Corrected not deleting Allysia's Ring from inventory.
-//= 1.9 Exit will now enable if you are just retrieving the Ring, keeps you from getting stuck. [L0ne_W0lf]
-//=	Corrected "KH_Kielh02", was setting off a debug, invalid map index. Should have been "kh_Kiehl02"
-//=	Made .KHQuestBusy$ into a temp global variable. $@KHQuestBusy$. 
-//= 2.0 Changed the labels on the "Big Doors" to "Identifier Names" to prevent an error with using getvariableofnpc [L0ne_W0lf]
-//= 2.1 Fifth door now checks for a variable HIGHER or EQUAL to 74 not 84, as pointed out by Stollen. [L0ne_W0lf]
-//= 2.2 Another fix for Elly, no longer RESETS to 26 when you talk to her. [L0ne_W0lf]
-//= 2.3 Should NOT have been setting .KHQuestBusy at all. It's not used or accessed anymore. Removed. [L0ne_W0lf]
-//= 2.4 Lots of fixes (4ish) from Valandi. [L0ne_W0lf]
-//=	Added a getmapuser check to the mapwarp in KHTimerEnd so it's not trying to warp out 0 users. [L0ne_W0lf]
-//= 2.5 Fixed several small issues (and large one) such as typos in cutins, typos in dialog, etc. [L0ne_W0lf]
-//=	Added some of the missing dialogs for several NPCs, and fixed a few NPC locations.
-//=	ALL books can now trigger the wall.
-//=	Allysia will now summon 4 (was 2) G_CONSTANTS instead of REGULAR constants.
-//=	Fixed where Golden_Key and Kiel_Button are deleted.
-//=	Removed KHTimerEnd, and instead use OnReset.
-//=	Fixed typo in the second NPC that gives Black Keycards.
-//=	Added Monster Warps. (Keeps monsters from being in dungeon quest area.) [Non-functional]
-//= 2.6 Stupid mistake, accidentally had 4 copies of the same script in 1... [L0ne_W0lf the bonehead]
-//= 2.7 Fixed the wrong name being displayed for Kiel Hyre in one dialog. 
-//=	Removed $@KH_DoorInvoker entirely. The quest is now working like it should according to iRO.
-//=	Fixed up a few more NPC headers. Facing direction fixes mostly this time.
-//=	More progression changes to Kiehl Hyre. He no longer stops dialog after the agents appear.
-//= 2.8 Fixed the weight checking in Vandt, and added official dialog. [L0ne_W0lf]
-//=	Added weight checks for all NPCs that give items. Semi-official dialog.
-//=	Got the missing portion of dialog for Mills'.
-//=	Will add further proper dialogs as I get to them on the second runthrough of the quest.
-//= 2.8a minor optimization with extra goto, else or empty switch [Lupus]
-//= 2.9 Fixed the "enablenpc" problem with the missing spaces. No idea how it happened. [L0ne_W0lf]
-//= 3.0 Fixed a typo in Elly, in her room. (was <= should have been <) [L0ne_W0lf]
-//=	Added an 'end;' to the cookie basket. Kiel Hyre's final dialog will now delete all quest-related items.
-//= 3.1 Moved the "delitem" for all related quest items to the proper NPC. [L0ne_W0lf]
-//= 3.2 Fixed error with Allysia teling you to "Go away." maybe. [L0ne_W0lf]
-//= 3.2b Fixed some typos and grammar mistakes. [SinSloth]
-//= 3.3 Fixed the receiver log out bugs. [L0ne_W0lf]
-//= 3.4 Fixed bug when u can't get a Yellow Keycard if u got the Blue one at first [Lupus]
-//=     Note: There are many condition checks that should be omitted in the future fixed item names in item_db.txt / txt resources according the quest
-//=     for items, should be used bitwise methods in a single variable. So let's fix the rest possible bugs (if they exist) and then optimize ^_-
-//= 3.5 Changed the way the Black Keycard distibuting NPCs work slighty. [L0ne_W0lf]
-//= 3.6 Keil Hyre removes ALL outstanding quest items when he is talked [L0ne_W0lf]
-//=	to after finishing the quest.
-//= 3.7 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
-//= 3.8 Corrected some delitems. (bugreport:690) [Samuray22]
-//= 3.9 Fixed a cutin not being erased. (bugreport:1539) [L0ne_W0lf]
 //= 4.0 A whole bunch-a-updates to various npcs. [L0ne_W0lf]
 //=     Corrected condition checks throughout the quest.
 //=     Npcs no longer make use of the goto command.
@@ -97,6 +31,7 @@
 //= 4.4 Updated reviecer and robots NPC to use mobcount. (bugreport:2380) [L0ne_W0lf]
 //= 4.5 Removed a delitem that was no logner needed. [L0en_W0lf]
 //= 4.6 Fixed impossible condition for security guard. [L0ne_W0lf]
+//= 4.7 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 //============================================================================
@@ -2024,8 +1959,6 @@ yuno_fild08,71,170,0	script	Grave#kh	111,{
 	}
 }
 
-//============================================================================
-
 //============================================================================
 //Kiel Hyre Cottage NPCs
 //============================================================================
@@ -3319,8 +3252,6 @@ kh_vila,185,68,0	script	Test Tube::TestTubeKHQ2	111,{
 	end;
 }
 
-//============================================================================
-
 //============================================================================
 // Robot Factory NPCs
 //============================================================================
@@ -3881,8 +3812,6 @@ kh_dun01,44,203,0	script	Entrance Device#khd2::KHAccess	111,{
 
 kh_dun01,36,195,0	duplicate(KHAccess)	Entrance Device#khd1	111
 
-//============================================================================
-
 //============================================================================
 // Kiel Hyre Mansion NPCs, and Kiehl's Room NPCs
 //============================================================================
@@ -4120,7 +4049,7 @@ kh_mansion,22,28,4	script	Kiel Hyre#kh	903,{
 		mes "a little reward for";
 		mes "saving my life.";
 		getitem 12105,1; //Taming_Gift_Set
-		getexp 70000,0;
+		getexp (checkre(3))?70000:700000,0;
 		set KielHyreQuest,50;
 	}
 	else if ((KielHyreQuest >= 50) && (KielHyreQuest < 64)) {
@@ -4745,9 +4674,9 @@ kh_mansion,22,28,4	script	Kiel Hyre#kh	903,{
 		mes "and here, please take this";
 		mes "with my thanks for all of";
 		mes "your help, "+.@KHTitle$+" "+strcharinfo(0)+".";
-		getitem 616,1;  //Old card Album
+		getitem 616,1;  //Old Card Album
 		delitem 7508,1; //Elysia_Ring
-		getexp 100000,0;
+		getexp (checkre(3))?100000:1000000,0;
 	}
 	else if (KielHyreQuest >= 108) {
 		mes "[Kiel Hyre]";
@@ -5257,8 +5186,6 @@ OnInit:
 	end;
 }
 
-//============================================================================
-
 //============================================================================
 // Rosimier NPCs and other Related NPCs
 //============================================================================
@@ -7232,4 +7159,71 @@ OnInit:
 	end;
 }
 
-//============================================================================
+//============================================================ 
+// Old changelog
+//============================================================ 
+//= 1.0 First version, needs testing [Playtester]
+//= 1.1 Copied over some changes made by -Tsuyuki- [L0ne_W0lf]
+//=	Reworked variables slightly so that the permenents ones aside from the 
+//=	main tracking variable, are deleted when no longer needed. Renamed
+//=	several variables that handle strings to @KHInput$. [L0ne_W0lf]
+//= 1.2 Removed duplicate NPCs. [Toms]
+//= 1.3 More Bug fixes, fixed typo. Updated Additional comments. [L0ne_W0lf]
+//= 1.4 Fixed doors not resetting in kh_kiehl01 after 30 second timer is up. [L0ne_W0lf]
+//= 1.5 Another bug fixed (&& instead of ||). [L0ne_W0lf]
+//= 1.6 More squashed bugs with if checking. [L0ne_W0lf]
+//= 1.7 Corrected some spelling mistakes. [Balish]
+//	Corrected Exploit with the pub man, giving infinite wine and money.
+//	Corrected pool and map not showing text for some states of the quest.
+//	Corrected Elly showing cutin but not text for some states of the quest (causing players to log off to continue).
+//	Let fisherman talk to you when you have 10 fishes OR MORE.
+//	Corrected not letting you enter the tombstone after finishing the quest.
+//= 1.8 Elly now deletes the Iron_Box, and Kiel Hyre deletes the Pin. [L0ne_W0lf]
+//= 	More security on the 5th Big Door, now makes sure no one outside of who-
+//=	acticated it initially can use it. Resets after 10 minutes to make it.
+//=	Made it so that you need to be at least step 84 to activate the final door.
+//=	Corrected not deleting Allysia's Ring from inventory.
+//= 1.9 Exit will now enable if you are just retrieving the Ring, keeps you from getting stuck. [L0ne_W0lf]
+//=	Corrected "KH_Kielh02", was setting off a debug, invalid map index. Should have been "kh_Kiehl02"
+//=	Made .KHQuestBusy$ into a temp global variable. $@KHQuestBusy$. 
+//= 2.0 Changed the labels on the "Big Doors" to "Identifier Names" to prevent an error with using getvariableofnpc [L0ne_W0lf]
+//= 2.1 Fifth door now checks for a variable HIGHER or EQUAL to 74 not 84, as pointed out by Stollen. [L0ne_W0lf]
+//= 2.2 Another fix for Elly, no longer RESETS to 26 when you talk to her. [L0ne_W0lf]
+//= 2.3 Should NOT have been setting .KHQuestBusy at all. It's not used or accessed anymore. Removed. [L0ne_W0lf]
+//= 2.4 Lots of fixes (4ish) from Valandi. [L0ne_W0lf]
+//=	Added a getmapuser check to the mapwarp in KHTimerEnd so it's not trying to warp out 0 users. [L0ne_W0lf]
+//= 2.5 Fixed several small issues (and large one) such as typos in cutins, typos in dialog, etc. [L0ne_W0lf]
+//=	Added some of the missing dialogs for several NPCs, and fixed a few NPC locations.
+//=	ALL books can now trigger the wall.
+//=	Allysia will now summon 4 (was 2) G_CONSTANTS instead of REGULAR constants.
+//=	Fixed where Golden_Key and Kiel_Button are deleted.
+//=	Removed KHTimerEnd, and instead use OnReset.
+//=	Fixed typo in the second NPC that gives Black Keycards.
+//=	Added Monster Warps. (Keeps monsters from being in dungeon quest area.) [Non-functional]
+//= 2.6 Stupid mistake, accidentally had 4 copies of the same script in 1... [L0ne_W0lf the bonehead]
+//= 2.7 Fixed the wrong name being displayed for Kiel Hyre in one dialog. 
+//=	Removed $@KH_DoorInvoker entirely. The quest is now working like it should according to iRO.
+//=	Fixed up a few more NPC headers. Facing direction fixes mostly this time.
+//=	More progression changes to Kiehl Hyre. He no longer stops dialog after the agents appear.
+//= 2.8 Fixed the weight checking in Vandt, and added official dialog. [L0ne_W0lf]
+//=	Added weight checks for all NPCs that give items. Semi-official dialog.
+//=	Got the missing portion of dialog for Mills'.
+//=	Will add further proper dialogs as I get to them on the second runthrough of the quest.
+//= 2.8a minor optimization with extra goto, else or empty switch [Lupus]
+//= 2.9 Fixed the "enablenpc" problem with the missing spaces. No idea how it happened. [L0ne_W0lf]
+//= 3.0 Fixed a typo in Elly, in her room. (was <= should have been <) [L0ne_W0lf]
+//=	Added an 'end;' to the cookie basket. Kiel Hyre's final dialog will now delete all quest-related items.
+//= 3.1 Moved the "delitem" for all related quest items to the proper NPC. [L0ne_W0lf]
+//= 3.2 Fixed error with Allysia teling you to "Go away." maybe. [L0ne_W0lf]
+//= 3.2b Fixed some typos and grammar mistakes. [SinSloth]
+//= 3.3 Fixed the receiver log out bugs. [L0ne_W0lf]
+//= 3.4 Fixed bug when u can't get a Yellow Keycard if u got the Blue one at first [Lupus]
+//=     Note: There are many condition checks that should be omitted in the future fixed item names in item_db.txt / txt resources according the quest
+//=     for items, should be used bitwise methods in a single variable. So let's fix the rest possible bugs (if they exist) and then optimize ^_-
+//= 3.5 Changed the way the Black Keycard distibuting NPCs work slighty. [L0ne_W0lf]
+//= 3.6 Keil Hyre removes ALL outstanding quest items when he is talked [L0ne_W0lf]
+//=	to after finishing the quest.
+//= 3.7 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
+//= 3.8 Corrected some delitems. (bugreport:690) [Samuray22]
+//= 3.9 Fixed a cutin not being erased. (bugreport:1539) [L0ne_W0lf]
+//============================================================

+ 5 - 5
npc/quests/newgears/2008_headgears.txt

@@ -25,7 +25,7 @@ gef_fild05,80,149,3	script	Myu#08_hat	877,{
 		mes "What brings you here? Ho, you are not here to harm Wild Roses, are you?";
 		mes "(Meow!)";
 		next;
-		menu "Meow..?",-;
+		select("Meow..?");
 		mes "[Myu]";
 		mes "Ah, Never mind that.";
 		mes "This place is the village of Deserted people.";
@@ -67,7 +67,7 @@ gef_fild05,80,149,3	script	Myu#08_hat	877,{
 			mes " ";
 			mes "(Meow!)";
 			next;
-			menu "Meow again?!",-;
+			select("Meow again?!");
 			mes "[Myu]";
 			mes "Hmm Hmm I told you to never mind that.";
 			mes "So as I was saying...";
@@ -77,7 +77,7 @@ gef_fild05,80,149,3	script	Myu#08_hat	877,{
 			mes "Exactly 1,000 times no more, no less.";
 			mes "Give them 1,000 warnings and they will back off.";
 			next;
-			menu "What do you mean by 1,000 warnings...?",-;
+			select("What do you mean by 1,000 warnings...?");
 			mes "[Myu]";
 			mes "Hu~Do I have to spell it out for you?";
 			next;
@@ -133,7 +133,7 @@ gef_fild05,80,149,3	script	Myu#08_hat	877,{
 			mes "This is the Seal of our 'Brave Kitty Cats'.";
 			mes "This is soooo valuable, so don't lose it.";
 			next;
-			menu "This is it?",-;
+			select("This is it?");
 			mes "[Myu]";
 			mes "What more did you expect?";
 			mes "That Pow is really a valuable thing!";
@@ -782,7 +782,7 @@ OnTouch:
 			mes "Weaving the flower...with a ribbon..";
 			mes "Brides...wear...Corollas..";
 			next;
-			menu "Would you make one for me?",-;
+			select("Would you make one for me?");
 			if((countitem(10007) > 0) && (countitem(1032) > 999)) {
 				mes "[Aite]";
 				mes ".. Materials..you..have..";

+ 44 - 421
npc/quests/partyrelay.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= L0ne_W0lf
 //===== Current Version: ===================================== 
-//= 1.0
+//= 1.2
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -12,6 +12,7 @@
 //===== Additional Comments: ================================= 
 //= 1.0 First version. [L0ne_W0lf]
 //= 1.1 Fixed a couple typos, npcs check area for PCs. [L0ne_W0lf]
+//= 1.2 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================
 
 payon,103,113,3	script	Ledrion#payon::RelayLedrion	109,{
@@ -75,27 +76,7 @@ payon,103,113,3	script	Ledrion#payon::RelayLedrion	109,{
 		else {
 			getitem 617,3; //Old_Violet_Box
 		}
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 19560,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		mes "[Ledrion]";
 		mes "Well, I hope you like it!";
 		mes "If you can't use it, then";
@@ -151,27 +132,7 @@ payon,103,113,3	script	Ledrion#payon::RelayLedrion	109,{
 		getitem 603,3; //Old_Blue_Box
 		getitem 617,1; //Old_Violet_Box
 		getitem 7738,1; //Mission_Certificate9
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 19560,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		next;
 		mes "[Ledrion]";
 		mes "Please give that ticket";
@@ -220,27 +181,7 @@ payon,103,113,3	script	Ledrion#payon::RelayLedrion	109,{
 		getitem 644,3; //Gift_Box
 		getitem 603,1; //Old_Blue_Box
 		getitem 7734,1; //Mission_Certificate5
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 19560,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		close;
 	}
 	if (countitem(7733) > 0) {
@@ -485,27 +426,7 @@ payon,83,327,3	script	Gatan#payon::RelayGatan	86,{
 		getitem 7739,1; //Mission_Certificate10
 		getitem 610,2; //Leaf_Of_Yggdrasil
 		getitem 607,2; //Yggdrasilberry
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 19560,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		next;
 		mes "[Gatan]";
 		mes "Alright, get that done.";
@@ -970,27 +891,7 @@ payon,83,327,3	script	Gatan#payon::RelayGatan	86,{
 		set party_relay,17;
 		getitem 7735,1; //Mission_Certificate6
 		getitem 610,2; //Leaf_Of_Yggdrasil
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 19560,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		next;
 		mes "[Gatan]";
 		mes "Alright, get that done.";
@@ -1461,27 +1362,7 @@ payon,83,327,3	script	Gatan#payon::RelayGatan	86,{
 		set party_relay,6;
 		getitem 7731,1; //Mission_Certificate2
 		getitem 607,2; //Yggdrasilberry
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		next;
 		mes "[Gatan]";
 		mes "Don't forget to make";
@@ -1983,27 +1864,7 @@ payon,204,221,3	script	Bafhail#payon::RelayBafhail	731,{
 		getitem 7740,1; //Mission_Certificate11
 		getitem 610,2; //Leaf_Of_Yggdrasil
 		getitem 607,2; //Yggdrasilberry
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		mes "[Bafhail]";
 		mes "Make sure that you give";
 		mes "that ticket to an Archer";
@@ -2028,27 +1889,7 @@ payon,204,221,3	script	Bafhail#payon::RelayBafhail	731,{
 		getitem 7740,1; //Mission_Certificate11
 		getitem 610,2; //Leaf_Of_Yggdrasil
 		getitem 607,2; //Yggdrasilberry
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		mes "[Bafhail]";
 		mes "Make sure that you give";
 		mes "that ticket to an Archer";
@@ -2170,27 +2011,7 @@ payon,204,221,3	script	Bafhail#payon::RelayBafhail	731,{
 		set party_relay,20;
 		getitem 7736,1; //Mission_Certificate7
 		getitem 610,2; //Leaf_Of_Yggdrasil
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		mes "[Bafhail]";
 		mes "Do me a favor and make";
 		mes "sure that the Merchant";
@@ -2214,27 +2035,7 @@ payon,204,221,3	script	Bafhail#payon::RelayBafhail	731,{
 		set party_relay,20;
 		getitem 7736,1; //Mission_Certificate7
 		getitem 610,2; //Leaf_Of_Yggdrasil
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		mes "[Bafhail]";
 		mes "Do me a favor and make";
 		mes "sure that the Merchant";
@@ -2276,27 +2077,7 @@ payon,204,221,3	script	Bafhail#payon::RelayBafhail	731,{
 		set party_relay,20;
 		getitem 7736,1; //Mission_Certificate7
 		getitem 610,2; //Leaf_Of_Yggdrasil
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		mes "[Bafhail]";
 		mes "Do me a favor and make";
 		mes "sure that the Merchant";
@@ -2320,27 +2101,7 @@ payon,204,221,3	script	Bafhail#payon::RelayBafhail	731,{
 		set party_relay,20;
 		getitem 7736,1; //Mission_Certificate7
 		getitem 610,2; //Leaf_Of_Yggdrasil
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		mes "[Bafhail]";
 		mes "Do me a favor and make";
 		mes "sure that the Merchant";
@@ -2480,27 +2241,7 @@ payon,204,221,3	script	Bafhail#payon::RelayBafhail	731,{
 		set party_relay,9;
 		getitem 7732,1; //Mission_Certificate3
 		getitem 607,2; //Yggdrasilberry
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		mes "[Bafhail]";
 		mes "Please give that";
 		mes "ticket to the Archer";
@@ -2523,27 +2264,7 @@ payon,204,221,3	script	Bafhail#payon::RelayBafhail	731,{
 		set party_relay,9;
 		getitem 7732,1; //Mission_Certificate3
 		getitem 607,2; //Yggdrasilberry
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		next;
 		mes "[Bafhail]";
 		mes "Please give that";
@@ -2783,27 +2504,7 @@ payon,168,314,3	script	Lospii#payon::RelayLospii	706,{
 		getitem 7741,1; //Mission_Certificate12
 		getitem 610,2; //Leaf_Of_Yggdrasil
 		getitem 607,2; //Yggdrasilberry
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		mes "[Lospii]";
 		mes "Okay, now take this";
 		mes "ticket, and give it to";
@@ -2840,27 +2541,7 @@ payon,168,314,3	script	Lospii#payon::RelayLospii	706,{
 		getitem 7741,1; //Mission_Certificate12
 		getitem 610,2; //Leaf_Of_Yggdrasil
 		getitem 607,2; //Yggdrasilberry
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		mes "[Lospii]";
 		mes "Okay, now take this";
 		mes "ticket, and give it to";
@@ -3021,27 +2702,7 @@ payon,168,314,3	script	Lospii#payon::RelayLospii	706,{
 		set party_relay,22;
 		getitem 7737,1; //Mission_Certificate8
 		getitem 610,2; //Leaf_Of_Yggdrasil
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		mes "[Lospii]";
 		mes "Okay, now take this";
 		mes "ticket, and give it to";
@@ -3077,27 +2738,7 @@ payon,168,314,3	script	Lospii#payon::RelayLospii	706,{
 		set party_relay,22;
 		getitem 7737,1; //Mission_Certificate8
 		getitem 610,2; //Leaf_Of_Yggdrasil
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		mes "[Lospii]";
 		mes "Okay, now take this";
 		mes "ticket, and give it to";
@@ -3258,27 +2899,7 @@ payon,168,314,3	script	Lospii#payon::RelayLospii	706,{
 		set party_relay,11;
 		getitem 7733,1; //Mission_Certificate4
 		getitem 607,2; //Yggdrasilberry
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		mes "[Lospii]";
 		mes "Okay, now take this";
 		mes "ticket, and give it to";
@@ -3314,27 +2935,7 @@ payon,168,314,3	script	Lospii#payon::RelayLospii	706,{
 		set party_relay,11;
 		getitem 7733,1; //Mission_Certificate4
 		getitem 607,2; //Yggdrasilberry
-		if (BaseLevel > 94) {
-			getexp 104760,0;
-		}
-		else if (BaseLevel > 89) {
-			getexp 85920,0;
-		}
-		else if (BaseLevel > 79) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 69) {
-			getexp 38520,0;
-		}
-		else if (BaseLevel > 59) {
-			getexp 67200,0;
-		}
-		else if (BaseLevel > 49) {
-			getexp 28800,0;
-		}
-		else {
-			getexp 1080,0;
-		}
+		callfunc "F_PartyRelay_Exp";
 		mes "[Lospii]";
 		mes "Okay, now take this";
 		mes "ticket, and give it to";
@@ -3476,6 +3077,28 @@ payon,168,314,3	script	Lospii#payon::RelayLospii	706,{
 	close;
 }
 
+// EXP Rewards
+function	script	F_PartyRelay_Exp	{
+	if (checkre(3)) { //unconfirmed
+		if (BaseLevel > 94) getexp 104760,0;
+		else if (BaseLevel > 89) getexp 85920,0;
+		else if (BaseLevel > 79) getexp 38520,0;
+		else if (BaseLevel > 69) getexp 19560,0;
+		else if (BaseLevel > 59) getexp 6720,0;
+		else if (BaseLevel > 49) getexp 2880,0;
+		else getexp 1080,0;
+	} else {
+		if (BaseLevel > 94) getexp 1047600,0;
+		else if (BaseLevel > 89) getexp 859200,0;
+		else if (BaseLevel > 79) getexp 385200,0;
+		else if (BaseLevel > 69) getexp 195600,0;
+		else if (BaseLevel > 59) getexp 67200,0;
+		else if (BaseLevel > 49) getexp 28800,0;
+		else getexp 10800,0;
+	}
+	return;
+}
+
 // Comodo Relay
 comodo,71,137,3	duplicate(RelayLedrion)	Ledrion#comodo	109
 comodo,236,197,3	duplicate(RelayGatan)	Gatan#comodo	86

+ 48 - 44
npc/quests/quests_13_1.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= L0ne_W0lf
 //===== Current Version: ===================================== 
-//= 3.0
+//= 3.1
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -50,6 +50,7 @@
 //= 2.8 Some optimization, and moved an Izlude NPC. [Euphy]
 //= 2.9 Fixed an invalid event label. [Joseph]
 //= 3.0 Fixed a missing variable check. [Joseph]
+//= 3.1 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 // Onward to the New World
@@ -4237,10 +4238,7 @@ mid_camp,188,254,3	script	Monster Scholar#ep13	883,{
 				mes "I hope you'll make yourself known in Ash Vacuum with your great accomplishments.";
 				set ep13_animal,15;
 				completequest 2157;
-				if (checkre(3))
-					getexp 100000,0;
-				else
-					getexp 1500000,0;
+				getexp (checkre(3))?100000:1500000,0;
 				close;
 			}
 			else {
@@ -4338,10 +4336,7 @@ mid_camp,188,254,3	script	Monster Scholar#ep13	883,{
 				mes "- You pat his shoulder gently, it's worrying that Rumis is not able to return to his country. -";
 				set ep13_animal,100;
 				delitem 6033,1; //Horn_Of_Tendrilion
-				if (checkre(3))
-					getexp 50000,0;
-				else
-					getexp 1000000,0;
+				getexp (checkre(3))?50000:1000000,0;
 				close;
 			}
 			else {
@@ -5173,10 +5168,7 @@ mid_camp,212,237,5	script	Camp Guard Captain#man1	852,{
 			mes "I'll discuss this more with the expedition management.";
 			mes "Thank you for your valuable information.";
 			completequest 2158;
-			if (checkre(3))
-				getexp 90000,0;
-			else
-				getexp 900000,0;
+			getexp (checkre(3))?90000:900000,0;
 			close;
 		}
 		else if (checkquest(2158) == -1) {
@@ -5197,10 +5189,7 @@ mid_camp,212,237,5	script	Camp Guard Captain#man1	852,{
 				mes "I'll discuss this more with the expedition management.";
 				mes "Thank you for your valuable information.";
 				completequest 2159;
-				if (checkre(3))
-					getexp 90000,0;
-				else
-					getexp 900000,0;
+				getexp (checkre(3))?90000:900000,0;
 				close;
 			}
 			else {
@@ -7446,14 +7435,17 @@ mid_camp,143,306,5	script	Breeder Taab#ep13_alba	946,{
 				next;
 				delitem 579,50; //Delicious_Fish
 				set ep13_alba,6;
-				if (checkre(3))
+				if (checkre(3)) {
 					getexp 8000,3000;
-				else
+					mes "^4d4dff You have received 8,000 EXP";
+					mes "and 3,000 JEXP.^000000.";
+				} else {
 					getexp 80000,30000;
+					mes "^4d4dff You have received 80,000 EXP";
+					mes "and 30,000 JEXP.^000000.";
+				}
 				erasequest 7042;
 				setquest 7047;
-				mes "^4d4dff You have received 8,000 EXP";
-				mes "and 3,000 JEXP.^000000.";
 				close;
 			}
 			else {
@@ -7482,14 +7474,17 @@ mid_camp,143,306,5	script	Breeder Taab#ep13_alba	946,{
 				delitem 7198,30; //Great_Leaf
 				delitem 7188,30; //Browny_Root
 				set ep13_alba,6;
-				if (checkre(3))
+				if (checkre(3)) {
 					getexp 9000,4000;
-				else
+					mes "^4d4dff You have received 9,000 EXP";
+					mes "and 4,000 JEXP.^000000.";
+				} else {
 					getexp 90000,40000;
+					mes "^4d4dff You have received 90,000 EXP";
+					mes "and 40,000 JEXP.^000000.";
+				}
 				erasequest 7043;
 				setquest 7047;
-				mes "^4d4dff You have received 9,000 EXP";
-				mes "and 4,000 JEXP.^000000.";
 				close;
 			}
 			else {
@@ -7523,14 +7518,17 @@ mid_camp,143,306,5	script	Breeder Taab#ep13_alba	946,{
 				delitem 528,20; //Monster's_Feed
 				delitem 537,30; //Pet_Food
 				set ep13_alba,6;
-				if (checkre(3))
+				if (checkre(3)) {
 					getexp 8000,3000;
-				else
+					mes "^4d4dff You have received 8,000 EXP";
+					mes "and 3,000 JEXP.^000000.";
+				} else {
 					getexp 80000,30000;
+					mes "^4d4dff You have received 80,000 EXP";
+					mes "and 30,000 JEXP.^000000.";
+				}
 				erasequest 7044;
 				setquest 7047;
-				mes "^4d4dff You have received 8,000 EXP";
-				mes "and 3,000 JEXP.^000000.";
 				close;
 			}
 			else {
@@ -7561,14 +7559,17 @@ mid_camp,143,306,5	script	Breeder Taab#ep13_alba	946,{
 				delitem 517,50; //Meat
 				delitem 537,30; //Pet_Food
 				set ep13_alba,6;
-				if (checkre(3))
+				if (checkre(3)) {
 					getexp 8000,3000;
-				else
+					mes "^4d4dff You have received 8,000 EXP";
+					mes "and 3,000 JEXP.^000000.";
+				} else {
 					getexp 80000,30000;
+					mes "^4d4dff You have received 80,000 EXP";
+					mes "and 30,000 JEXP.^000000.";
+				}
 				erasequest 7045;
 				setquest 7047;
-				mes "^4d4dff You have received 8,000 EXP";
-				mes "and 3,000 JEXP.^000000.";
 				close;
 			}
 			else {
@@ -7596,14 +7597,17 @@ mid_camp,143,306,5	script	Breeder Taab#ep13_alba	946,{
 				next;
 				delitem 6020,30; //Fur
 				set ep13_alba,6;
-				if (checkre(3))
+				if (checkre(3)) {
 					getexp 8000,3000;
-				else
+					mes "^4d4dff You have received 8,000 EXP";
+					mes "and 3,000 JEXP.^000000.";
+				} else {
 					getexp 80000,30000;
+					mes "^4d4dff You have received 80,000 EXP";
+					mes "and 30,000 JEXP.^000000.";
+				}
 				erasequest 7046;
 				setquest 7047;
-				mes "^4d4dff You have received 8,000 EXP";
-				mes "and 3,000 JEXP.^000000.";
 				close;
 			}
 			else {
@@ -8351,11 +8355,11 @@ mid_camp,69,144,0	script	Ferocious Gorurug	421,{
 				mes "You've brough Pieces of Fish!";
 				mes "GOOD JOB!";
 				delitem 6039,10; //Piece_Of_Fish
-				getexp 20000,0;
+				getexp (checkre(3))?20000:30000,0;
 				set ep13_yong1,10;
 				setquest 12060;
 				next;
-				mes "^0000ffYou gain EXP 3,000^000000";
+				mes "^0000ffYou gain EXP "+(checkre(3)?"20,000":"30,000")+"^000000";
 				close;
 			}
 			else {
@@ -8375,7 +8379,7 @@ mid_camp,69,144,0	script	Ferocious Gorurug	421,{
 				setquest 12060;
 				set ep13_yong1,ep13_yong1+1;
 				next;
-				mes "^0000ffYou gain EXP 1,500^000000";
+				mes "^0000ffYou gain EXP 15,000^000000";
 				close;
 			}
 			else {
@@ -8396,7 +8400,7 @@ mid_camp,69,144,0	script	Ferocious Gorurug	421,{
 				setquest 12060;
 				set ep13_yong1,ep13_yong1+1;
 				next;
-				mes "^0000ffYou gain EXP 1,500^000000";
+				mes "^0000ffYou gain EXP 15,000^000000";
 				close;
 			}
 			else {
@@ -8416,7 +8420,7 @@ mid_camp,69,144,0	script	Ferocious Gorurug	421,{
 				setquest 12060;
 				set ep13_yong1,ep13_yong1+1;
 				next;
-				mes "^0000ffYou gain EXP 1,500^000000";
+				mes "^0000ffYou gain EXP 15,000^000000";
 				close;
 			}
 			else {
@@ -8598,7 +8602,7 @@ mid_camp,88,100,55	script	Cat Hand Mining Agent	876,{
 			mes "Thank you for collecting minerals for me.";
 			next;
 			delitem 6048,3; //Unidentified_Mineral
-			getexp 20000,0;
+			getexp (checkre(3))?20000:30000,0;
 			setquest 12062;
 			set ep13_yong1,ep13_yong1+1;
 			select("I'm freezing! Take them quickly.");
@@ -9114,7 +9118,7 @@ mid_campin,90,121,5	script	Hibba Agip	459,{
 		mes "Thank you for your help so far.";
 		next;
 		if (checkre(3))
-			getexp 30000,0;
+			getexp 300000,0;
 		else
 			getexp 2500000,0;
 		getitem 12110,3; //First_Aid_Kit

+ 4 - 4
npc/quests/quests_13_2.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= L0ne_W0lf
 //===== Current Version: =====================================
-//= 2.6a
+//= 2.7
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
@@ -46,6 +46,7 @@
 //= 2.5 Updated EXP rewards.
 //= 2.6 Fixed incorrect use of 'close'. [Joseph]
 //= 2.6a Disabled GM NPC. [Euphy]
+//= 2.7 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 // Cat Hand Addition.
@@ -4800,8 +4801,7 @@ man_in01,372,221,5	script	Scientist#lifeguard	449,{
 				delitem 6078,.@stoneelse_chk; //Stone_Fragments
 				delitem 6076,1; //Portable_Toolbox
 				getitem 6080,3; //Manuk_Coin
-				if (checkre(3) == 0)
-					getexp 0,700000;
+				getexp 0,(checkre(3))?50000:700000; //unconfirmed (RE)
 				changequest 2179+(ep13_2_tre-2),2182;
 				set ep13_2_tre,100;
 				close;
@@ -5669,7 +5669,7 @@ spl_in01,30,324,3	script	High Laphine#grenouille	446,{
 					changequest 2185,2186;
 					getitem 6081,3; //Splendide_Coin
 					if (checkre(3) == 0)
-						getexp 0,700000;
+						getexp 0,(checkre(3))?50000:700000; //unconfirmed (RE)
 					close;
 				}
 				else {

+ 12 - 5
npc/quests/quests_airship.txt

@@ -1,9 +1,9 @@
 //===== rAthena Script ======================================= 
 //= Airship Related Quests
 //===== By: ================================================== 
-// Samuray22
+//= Samuray22
 //===== Current Version: ===================================== 
-//= 1.9
+//= 2.0
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -17,7 +17,7 @@
 //= 1.0 First Beta.
 //= 1.1 Added Heart Fragment quest. [SinSloth]
 //= 1.2 Change the laboratory code text to make it easier to
-//= understand. [SinSloth]
+//=     understand. [SinSloth]
 //= 1.3 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
 //= 1.3a Corrected a Typo error ";;". [Samuray22]
 //= 1.4 Fixed incorrect variable type used. [L0ne_W0lf]
@@ -28,6 +28,7 @@
 //=     - Airship Ticket Quest
 //=     - How the Airship Works
 //= 1.9 Fixed missing checks for How the Airship Works quest. [Joseph]
+//= 2.0 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 //=======================================================================================================//
@@ -1719,7 +1720,10 @@ airplane_01,238,154,3	script	Airship Captain#01	873,{
 			mes "letters.";
 			completequest 8035;
 			set lght_air, 7;
-			getexp 20000, 1000;
+			if (checkre(3))
+				getexp 20000,1000;
+			else
+				getexp 200000,10000;
 			close2;
 			cutin "",255;
 			end;
@@ -2062,7 +2066,10 @@ airplane,236,163,5	script	Airship Captain#03	873,{
 		specialeffect2 EF_ABSORBSPIRITS;
 		completequest 8043;
 		set lhz_heart,13;
-		getexp 70000,40000;
+		if (checkre(3))
+			getexp 70000,40000;
+		else
+			getexp 700000,400000;
 		cutin "",255;
 		end;
 	}

+ 7 - 6
npc/quests/quests_alberta.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= kobra_k88
 //===== Current Version: ===================================== 
-//= 2.5
+//= 2.6
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -32,6 +32,7 @@
 //= 2.3 Updated heardgear Quest NPCs. [L0ne_W0lf]
 //= 2.4 Updated 'Doll Quest' to match AEGIS script. [Kisuka]
 //= 2.5 Moved Alberta NPC to pre-re/re paths. [Euphy]
+//= 2.6 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 // Doll Quest
@@ -2381,7 +2382,7 @@ alberta_in,131,95,5	script	Iromo#ep3_2	706,{
 		next;
 		set ep13_2_hiki,13;
 		completequest 10089;
-		getexp 8000,0;
+		getexp (checkre(3))?8000:80000,0;
 		mes "[Iromo]";
 		mes "The world is big, there are many things...";
 		mes "I have not seen yet. Yes... I want to...";
@@ -2510,7 +2511,7 @@ alberta_in,131,95,5	script	Iromo#ep3_2	706,{
 			next;
 			set ep13_2_hiki,11;
 			changequest 10087,10088;
-			getexp 6700,0;
+			getexp (checkre(3))?6700:67000,0;
 			mes "[Iromo]";
 			mes "Nevermind... it's not unexpected...";
 			mes "To go on an adventure with my friends,";
@@ -2578,7 +2579,7 @@ alberta_in,131,95,5	script	Iromo#ep3_2	706,{
 		next;
 		set ep13_2_hiki,10;
 		changequest 10086,10087;
-		getexp 5700,0;
+		getexp (checkre(3))?5700:57000,0;
 		mes "[Iromo]";
 		mes "...I'm not in a good mood, get out...";
 		close;
@@ -2637,7 +2638,7 @@ alberta_in,131,95,5	script	Iromo#ep3_2	706,{
 			next;
 			set ep13_2_hiki,8;
 			changequest 10084,10085;
-			getexp 4700,0;
+			getexp (checkre(3))?4700:47000,0;
 			mes "[Iromo]";
 			mes "Thank you for being helpful.";
 			mes "But, no thanks.";
@@ -2693,7 +2694,7 @@ alberta_in,131,95,5	script	Iromo#ep3_2	706,{
 		delitem 501,1; //Red_Potion
 		set ep13_2_hiki,7;
 		changequest 10083,10084;
-		getexp 3750,0;
+		getexp (checkre(3))?3750:37500,0;
 		mes "[Iromo]";
 		mes "I don't want to see the cat again.";
 		mes "If I go out, I will see him. It is scary.";

+ 73 - 147
npc/quests/quests_ayothaya.txt

@@ -3,7 +3,7 @@
 //===== By ===================================================
 //= Fredzilla, MasterOfMuppets
 //===== Version ==============================================
-//= 2.3
+//= 2.4
 //===== Compatible With ======================================
 //= rAthena SVN
 //===== Description ==========================================
@@ -29,6 +29,7 @@
 //= 2.1 Added missing checkweights. [L0ne_W0lf]
 //= 2.2 Replaced effect numerics with constants. [L0ne_W0lf]
 //= 2.3 Replaced effect numerics with constants. [Samuray22]
+//= 2.4 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================
 
 // Ayothaya Ring Quest
@@ -137,7 +138,6 @@ ayothaya,233,105,3	script	Powerful-Looking Woman	838,2,2,{
 				delitem 7288,1; //Engagement Ring
 				set thai_find,3;
 				close;
-			break;
 			case 2:
 				mes "[Shuda]";
 				mes "Yes, I knew I could count on you! So find Annon! It's my destiny to make him ^660000mine^000000. Hoo ho ho ho ho!";
@@ -151,7 +151,6 @@ ayothaya,233,105,3	script	Powerful-Looking Woman	838,2,2,{
 				delitem 7288,1; //Engagement Ring
 				set thai_find,3;
 				close;
-			break;
 			}
 		}
 		else
@@ -234,7 +233,6 @@ ayothaya,233,105,3	script	Powerful-Looking Woman	838,2,2,{
 				mes "Wh-who are you to say";
 				mes "something so rude to such a nice lady like myself. Go away, I don't wanna talk to you!";
 				close;
-			break;
 			case 2:
 				mes "[Powerful-Looking Woman]";
 				mes "What lies?";
@@ -343,7 +341,6 @@ ayothaya,233,105,3	script	Powerful-Looking Woman	838,2,2,{
 					emotion e_heh;
 					set thai_find,1;
 					close;
-				break;
 				case 2:
 					mes "[Powerful-Looking Woman]";
 					mes "^666666*Sigh...*^000000";
@@ -409,7 +406,6 @@ ayothaya,233,105,3	script	Powerful-Looking Woman	838,2,2,{
 					mes "So go and look under the water! There's no water current, so I'm sure it's still there! What are you waiting for, it's should be an easy swim for you! Oho ho ho ho ho!";
 					set thai_find,1;
 					close;
-				break;
 				}
 			break;
 			}
@@ -522,7 +518,6 @@ if(!$annonactive)
 					disablenpc "Haggard Man";
 					mes "^3355FFHe vanished!^000000";
 					close;
-				break;
 				case 2:
 					mes "[Haggard Man]";
 					mes "Hmmm...?";
@@ -531,7 +526,6 @@ if(!$annonactive)
 					mes "[Haggard Man]";
 					mes "You are unfamiliar to me, outsider. I'm unsure of how you found my hiding place, but if you have something to say, make it short!";
 					close;
-				break;
 				}
 			}
 			else
@@ -546,7 +540,6 @@ if(!$annonactive)
 				mes "of dust!";
 				close;
 			}
-		break;
 		case 2:
 			mes "^3355FFAs you dig up the bushes, the ground beneath one of the bushes crumbles and you hear a scream";
 			mes "from beneath.^000000";
@@ -570,7 +563,6 @@ if(!$annonactive)
 				mes "^666666*cough cough cough*^000000";
 				close;
 			}
-		break;
 		}
 	}
 	else if(thai_find == 14)
@@ -717,74 +709,11 @@ ayo_dun02,91,264,3	script	Haggard Man	841,{
 					mes "[Annon]";
 					mes "Of course, if you reveal to her that you've found me, I'll repay your favor. I implore you, just pretend you haven't found me, please?";
 					next;
-					menu "...Alright, alright.",-;
+					select("...Alright, alright.");
 					mes "[Annon]";
 					mes "Thank you so much!";
 					mes "Now, to pay you back, let me use one of the skills I've learned in my spiritual training.";
-					next;
-					mes "[Annon]";
-					mes "Let's see...";
-					mes "Let me twist your";
-					mes "arm this way, and";
-					mes "apply pressure here...";
-					next;
-					mes "[" +strcharinfo(0)+ "]";
-					mes "Wahhh~!";
-					mes "What the hell";
-					mes "are you doing!";
-					mes "You're hurting me, man!";
-					next;
-					mes "[Annon]";
-					mes "Oh, this is a special kind of massage. Don't worry, it'll relieve you of fatigue. It's quite heavenly, actually. You'll see~";
-					next;
-					mes "^3355FF*Snap snap snap*";
-					mes "*Snap snap snap*";
-					mes "*Crack crack crack*";
-					mes "*Crack crack crack*^000000";
-					next;
-					mes "^3355FFYou feel as though Annon";
-					mes "realigned every bone in your skeleton, placing them in the right spots. Strangely, you feel intense relaxation and refreshment instead of excruciating pain.";
-					set thai_find,14;
-					if(BaseLevel < 56)
-						getexp 900,0;
-					else if(BaseLevel > 55 && BaseLevel < 61)
-						getexp 1050,0;
-					else if(BaseLevel > 60 && BaseLevel < 66)
-						getexp 1868,0;
-					else if(BaseLevel > 65 && BaseLevel < 71)
-						getexp 2741,0;
-					else if(BaseLevel > 70 && BaseLevel < 76)
-						getexp 7076,0;
-					else if(BaseLevel > 75 && BaseLevel < 81)
-						getexp 13025,0;
-					else if(BaseLevel > 80 && BaseLevel < 86)
-						getexp 15034,0;
-					else if(BaseLevel > 85 && BaseLevel < 91)
-						getexp 18205,0;
-					else if(BaseLevel > 90)
-						getexp 40679,0;
-					next;
-					mes "[" +strcharinfo(0)+ "]";
-					mes "Whoa...?";
-					mes "That felt was so great~";
-					mes "It even feels like my mind";
-					mes "has been cleansed too!";
-					mes "You've got a deal!";
-					next;
-					mes "[Annon]";
-					mes "Thank you, thank you so much.";
-					mes "Now I can avoid being tied to Shuda, at least for a little longer.";
-					next;
-					mes "[Annon]";
-					mes "Now, if you'll excuse me,";
-					mes "I must make good my escape";
-					mes "before others find me.";
-					mes "Good day~!";
-					close2;
-					set $annonactive,0;
-					disablenpc "Haggard Man";
-					end;
-				break;
+					break;
 				case 2:
 					mes "[Annon]";
 					mes "Of course, what I want you to do is to keep me a secret from Shuda. Just forget that you've ever met me, and let Shuda know it was impossible to find me.";
@@ -795,73 +724,76 @@ ayo_dun02,91,264,3	script	Haggard Man	841,{
 					mes "[Annon]";
 					mes "Now, you must be wondering";
 					mes "how I would repay you for your silence. Well, let me show you one of the skills I've learned in my spiritual training.";
-					next;
-					mes "[Annon]";
-					mes "Let's see...";
-					mes "Let me twist your";
-					mes "arm this way, and";
-					mes "apply pressure here...";
-					next;
-					mes "[" +strcharinfo(0)+ "]";
-					mes "Wahhh~!";
-					mes "What the hell";
-					mes "are you doing!";
-					mes "You're hurting me, man!";
-					next;
-					mes "[Annon]";
-					mes "Oh, this is a special kind";
-					mes "of massage. Don't worry, it'll";
-					mes "relieve you of fatigue. It's quite heavenly, actually. You'll see~";
-					next;
-					mes "^3355FF*Snap snap snap*";
-					mes "*Snap snap snap*";
-					mes "*Crack crack crack*";
-					mes "*Crack crack crack*^000000";
-					next;
-					mes "^3355FFYou feel as though Annon";
-					mes "realigned every bone in your skeleton, placing them in the right spots. Strangely, you feel intense relaxation and refreshment instead of excruciating pain.";
-					set thai_find,14;
-					if(BaseLevel < 56)
-						getexp 900,0;
-					else if(BaseLevel > 55 && BaseLevel < 61)
-						getexp 1050,0;
-					else if(BaseLevel > 60 && BaseLevel < 66)
-						getexp 1868,0;
-					else if(BaseLevel > 65 && BaseLevel < 71)
-						getexp 2741,0;
-					else if(BaseLevel > 70 && BaseLevel < 76)
-						getexp 7076,0;
-					else if(BaseLevel > 75 && BaseLevel < 81)
-						getexp 13025,0;
-					else if(BaseLevel > 80 && BaseLevel < 86)
-						getexp 15034,0;
-					else if(BaseLevel > 85 && BaseLevel < 91)
-						getexp 18205,0;
-					else if(BaseLevel > 90)
-						getexp 40679,0;
-					next;
-					mes "[" +strcharinfo(0)+ "]";
-					mes "Whoa...?";
-					mes "That felt was so great~";
-					mes "It even feels like my mind";
-					mes "has been cleansed too!";
-					mes "You've got a deal!";
-					next;
-					mes "[Annon]";
-					mes "Thank you, thank you so much.";
-					mes "Now I can avoid being tied to Shuda, at least for a little longer.";
-					next;
-					mes "[Annon]";
-					mes "Now, if you'll excuse me,";
-					mes "I must make good my escape";
-					mes "before others find me.";
-					mes "Good day~!";
-					close2;
-					set $annonactive,0;
-					disablenpc "Haggard Man";
-					end;
-				break;
+					break;
+				}
+				next;
+				mes "[Annon]";
+				mes "Let's see...";
+				mes "Let me twist your";
+				mes "arm this way, and";
+				mes "apply pressure here...";
+				next;
+				mes "[" +strcharinfo(0)+ "]";
+				mes "Wahhh~!";
+				mes "What the hell";
+				mes "are you doing!";
+				mes "You're hurting me, man!";
+				next;
+				mes "[Annon]";
+				mes "Oh, this is a special kind";
+				mes "of massage. Don't worry, it'll";
+				mes "relieve you of fatigue. It's quite heavenly, actually. You'll see~";
+				next;
+				mes "^3355FF*Snap snap snap*";
+				mes "*Snap snap snap*";
+				mes "*Crack crack crack*";
+				mes "*Crack crack crack*^000000";
+				next;
+				mes "^3355FFYou feel as though Annon";
+				mes "realigned every bone in your skeleton, placing them in the right spots. Strangely, you feel intense relaxation and refreshment instead of excruciating pain.";
+				set thai_find,14;
+				if (checkre(3)) {
+					if(BaseLevel < 56) getexp 900,0;
+					else if(BaseLevel > 55 && BaseLevel < 61) getexp 1050,0;
+					else if(BaseLevel > 60 && BaseLevel < 66) getexp 1868,0;
+					else if(BaseLevel > 65 && BaseLevel < 71) getexp 2741,0;
+					else if(BaseLevel > 70 && BaseLevel < 76) getexp 7075,0;
+					else if(BaseLevel > 75 && BaseLevel < 81) getexp 13024,0;
+					else if(BaseLevel > 80 && BaseLevel < 86) getexp 15034,0;
+					else if(BaseLevel > 85 && BaseLevel < 91) getexp 18205,0;
+					else getexp 40678,0;
+				} else {
+					if(BaseLevel < 56) getexp 9000,0;
+					else if(BaseLevel > 55 && BaseLevel < 61) getexp 10500,0;
+					else if(BaseLevel > 60 && BaseLevel < 66) getexp 18684,0;
+					else if(BaseLevel > 65 && BaseLevel < 71) getexp 27411,0;
+					else if(BaseLevel > 70 && BaseLevel < 76) getexp 70757,0;
+					else if(BaseLevel > 75 && BaseLevel < 81) getexp 130246,0;
+					else if(BaseLevel > 80 && BaseLevel < 86) getexp 150340,0;
+					else if(BaseLevel > 85 && BaseLevel < 91) getexp 182052,0;
+					else getexp 406786,0;
 				}
+				next;
+				mes "[" +strcharinfo(0)+ "]";
+				mes "Whoa...?";
+				mes "That felt was so great~";
+				mes "It even feels like my mind";
+				mes "has been cleansed too!";
+				mes "You've got a deal!";
+				next;
+				mes "[Annon]";
+				mes "Thank you, thank you so much.";
+				mes "Now I can avoid being tied to Shuda, at least for a little longer.";
+				next;
+				mes "[Annon]";
+				mes "Now, if you'll excuse me,";
+				mes "I must make good my escape";
+				mes "before others find me.";
+				mes "Good day~!";
+				close2;
+				set $annonactive,0;
+				disablenpc "Haggard Man";
+				end;
 			}
 			else
 			{
@@ -899,7 +831,6 @@ ayo_dun02,91,264,3	script	Haggard Man	841,{
 				emotion e_no1,1;
 				close;
 			}
-		break;
 		case 2:
 			mes "[Haggard Man]";
 			mes "Annon...?";
@@ -926,7 +857,6 @@ ayo_dun02,91,264,3	script	Haggard Man	841,{
 			set $annonactive,0;
 			disablenpc "Haggard Man";
 			end;
-		break;
 		}
 	}
 	else
@@ -1053,7 +983,6 @@ ayothaya,253,99,3	script	Fisherman	843,{
 				mes "Remember, you need ^3355FF1 Monster's Feed^000000 to use as bait and ^3355FF50 zeny^000000 to rend a rod.";
 				close;
 			}
-		break;
 		case 2:
 			mes "[Dannai]";
 			mes "No problem,";
@@ -1062,7 +991,6 @@ ayothaya,253,99,3	script	Fisherman	843,{
 			mes "the mind and makes you";
 			mes "feel at peace...";
 			close;
-		break;
 		}
 		close;
 	}
@@ -1207,7 +1135,6 @@ OnTouch:
 				mes "Well, it's probably nothing. But which way should I go now?";
 				set thai_find,10;
 				close;
-			break;
 			case 2:
 				set @randayo,rand(1,10);
 				if(@randayo < 2)
@@ -1262,7 +1189,6 @@ OnTouch:
 					set thai_find,10;
 					close;
 				}
-			break;
 			}
 			close;
 		}

+ 51 - 55
npc/quests/quests_ein.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= Evera and The rAthena Dev Team
 //===== Current Version: ===================================== 
-//= 2.5
+//= 2.6
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -24,7 +24,7 @@
 //= 1.0 Initial Release [Evera]
 //= 1.1 Added more quests [Evera]
 //= 1.2 Added quest bits from Einbech and renamed file to
-//=	quests_ein.txt [Evera]
+//=     quests_ein.txt [Evera]
 //= 1.3 Implemented the polution quest. [MasterOfMuppets]
 //= 1.4.1 Massive bugfix. Fixed Pollution exploit [Lupus]
 //= 1.4.2 Fixed Khowropher bug [Lupus]
@@ -49,6 +49,7 @@
 //= 2.5 Added quest log entries for:
 //=     - Factory Quest
 //=     - Murder Quest
+//= 2.6 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 // Oridecon Stone OR Mineral Stone Quest
@@ -3555,26 +3556,22 @@ ein_in01,67,242,3	script	Zelmeto	851,{
 			set $EinPolution,$EinPolution+1;
 			completequest 8031;
 			set EinFactory,16;
-			if (BaseLevel < 41) {
-				getexp 62,0;
-			}
-			else if (BaseLevel < 51) {
-				getexp 308,0;
-			}
-			else if (BaseLevel < 61) {
-				getexp 660,0;
-			}
-			else if (BaseLevel < 71) {
-				getexp 1851,0;
-			}
-			else if( BaseLevel < 81) {
-				getexp 3206,0;
-			}
-			else if (BaseLevel < 91) {
-				getexp 7603,0;
-			}
-			else if (BaseLevel < 99) {
-				getexp 29068,0;
+			if (checkre(3)) {
+				if (BaseLevel < 41) getexp 61,0;
+				else if (BaseLevel < 51) getexp 307,0;
+				else if (BaseLevel < 61) getexp 660,0;
+				else if (BaseLevel < 71) getexp 1850,0;
+				else if( BaseLevel < 81) getexp 3206,0;
+				else if (BaseLevel < 91) getexp 7602,0;
+				else getexp 29067,0;
+			} else {
+				if (BaseLevel < 41) getexp 615,0;
+				else if (BaseLevel < 51) getexp 3075,0;
+				else if (BaseLevel < 61) getexp 6604,0;
+				else if (BaseLevel < 71) getexp 18508,0;
+				else if( BaseLevel < 81) getexp 32066,0;
+				else if (BaseLevel < 91) getexp 76026,0;
+				else getexp 290675,0;
 			}
 			next;
 			mes "[Zelmeto]";
@@ -4674,17 +4671,16 @@ einbech,165,105,7	script	Buender Hikeman#ein	847,{
 			cutin "ein_hicman",255;
 			completequest 2078;
 			set Shinokas_Quest,11;
-			if (BaseLevel < 70) {
-				getexp 10000,8000;
-			}
-			else if ((BaseLevel > 69) && (BaseLevel < 80)) {
-				getexp 30000,10000;
-			}
-			else if ((BaseLevel > 79) && (BaseLevel < 90)) {
-				getexp 50000,30000;
-			}
-			else if ((BaseLevel > 89) && (BaseLevel < 100)) {
-				getexp 70000,50000;
+			if (checkre(3)) {
+				if (BaseLevel < 70) getexp 30000,30000;
+				else if ((BaseLevel > 69) && (BaseLevel < 80)) getexp 40000,40000;
+				else if ((BaseLevel > 79) && (BaseLevel < 90)) getexp 70000,70000;
+				else getexp 90000,90000;
+			} else {
+				if (BaseLevel < 70) getexp 100000,80000;
+				else if ((BaseLevel > 69) && (BaseLevel < 80)) getexp 300000,100000;
+				else if ((BaseLevel > 79) && (BaseLevel < 90)) getexp 500000,300000;
+				else getexp 700000,500000;
 			}
 			end;
 		case 2:
@@ -5946,17 +5942,17 @@ ein_in01,31,138,3	script	Calla#ein	90,{
 		mes "feel goooood~";
 		percentheal 100,0;
 		set EIN_LOVERQ,17;
-		if (BaseLevel < 41) {
-			getexp 61,0;
-		}
-		else if (BaseLevel < 61) {
-			getexp 600,0;
-		}
-		else if (BaseLevel < 81) {
-			getexp 3000,0;
-		}
-		else if (BaseLevel < 99) {
-			getexp 20000,0;
+		if (checkre(3)) {
+			if (BaseLevel < 41) getexp 61,0;
+			else if (BaseLevel < 61) getexp 600,0;
+			else if (BaseLevel < 81) getexp 3000,0;
+			else if (BaseLevel < 99) getexp 20000,0;
+			else getexp 30000,0;
+		} else {
+			if (BaseLevel < 41) getexp 610,0;
+			else if (BaseLevel < 61) getexp 6000,0;
+			else if (BaseLevel < 81) getexp 30000,0;
+			else getexp 200000,0;
 		}
 		next;
 		mes "[Calla]";
@@ -6414,17 +6410,17 @@ ein_in01,200,101,5	script	Klitzer#ein	854,{
 		percentheal 100,0;
 		delitem 1901,1; //Violin
 		set EIN_LOVERQ,5;
-		if (BaseLevel < 41) {
-			getexp 61,0;
-		}
-		else if (BaseLevel < 61) {
-			getexp 600,0;
-		}
-		else if (BaseLevel < 81) {
-			getexp 3000,0;
-		}
-		else if (BaseLevel < 99) {
-			getexp 20000,0;
+		if (checkre(3)) {
+			if (BaseLevel < 41) getexp 61,0;
+			else if (BaseLevel < 61) getexp 600,0;
+			else if (BaseLevel < 81) getexp 3000,0;
+			else if (BaseLevel < 99) getexp 20000,0;
+			else getexp 30000,0;
+		} else {
+			if (BaseLevel < 41) getexp 610,0;
+			else if (BaseLevel < 61) getexp 6000,0;
+			else if (BaseLevel < 81) getexp 30000,0;
+			else getexp 200000,0;
 		}
 		next;
 		mes "[Klitzer]";

File diff ditekan karena terlalu besar
+ 94 - 219
npc/quests/quests_hugel.txt


+ 8 - 7
npc/quests/quests_juperos.txt

@@ -3,7 +3,7 @@
 //===== By ===================================================
 //= MasterOfMuppets
 //===== Version ==============================================
-//= 1.7
+//= 1.8
 //===== Compatible With ======================================
 //= rAthena SVN
 //===== Description ==========================================
@@ -12,16 +12,17 @@
 //===== Comments =============================================
 //= 1.0 First version, partly implemented [MasterOfMuppets]
 //= 1.1 Added official Juperos Ruins History Quest. Thanks
-//= to Keplerk for his first version. [SinSloth]
+//=     to Keplerk for his first version. [SinSloth]
 //= 1.2 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
 //= 1.3 Removed semi-official core access NPCs, replaced with [L0ne_W0lf]
-//=	event-driven story progressive NPCs. Optimization needed.
+//=     event-driven story progressive NPCs. Optimization needed.
 //= 1.3a Adjusted the elevafor timer. (132000 -> 142000) [L0ne_W0lf]
 //= 1.3b Minor updates to juperos elevator NPCs. [L0ne_W0lf]
 //= 1.4 Fixed Elevator not working after failing once. [L0ne_W0lf]
 //= 1.5 Lots of Fixes, missing stopnpctimers, cleanup. [Zephyrus]
 //= 1.6 Added missing close in "Popular Feats" [L0ne_W0lf]
 //= 1.7 Replaced effect numerics with constants. [L0ne_W0lf]
+//= 1.8 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================
 
 yuno_in04,190,125,4	script	Scholar	700,{
@@ -647,7 +648,7 @@ function	script	Func_JupHist	{
 			delitem getarg(0),1;
 			set yuno_hist,5;
 			set jupe_hist,getarg(1);
-			getexp 10000,0;
+			getexp (checkre(3))?10000:100000,0;
 			next;
 			mes "[Fayruz]";
 			mes "Everyone can relate";
@@ -728,7 +729,7 @@ function	script	Func_JupHist	{
 					else set jupe_hist,jupe_hist +8;
 				}
 				set yuno_hist,6;
-				getexp 10000,0;
+				getexp (checkre(3))?10000:100000,0;
 				next;
 				mes "[Fayruz]";
 				mes "By now I'm sure you've";
@@ -858,7 +859,7 @@ function	script	Func_JupHist	{
 					else set jupe_hist,jupe_hist +8;
 				}
 				set yuno_hist,8;
-				getexp 10000,0;
+				getexp (checkre(3))?10000:100000,0;
 				next;
 				mes "[Fayruz]";
 				mes "Well... That's just my";
@@ -959,7 +960,7 @@ function	script	Func_JupHist	{
 				else set jupe_hist,jupe_hist+8;
 				set yuno_hist,10;
 				delitem getarg(0),1;
-				getexp 10000,0;
+				getexp (checkre(3))?10000:100000,0;
 				next;
 				mes "[Fayruz]";
 				mes "Well, that is the";

+ 93 - 84
npc/quests/quests_lighthalzen.txt

@@ -4,64 +4,12 @@
 //= Persian, Vicious_Pucca, aoa00, Evera, MasterOfMupppets,
 //= Lupus, Lord Gywall
 //===== Current Version: ===================================== 
-//= 4.9
+//= 5.0
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
 //= Quests related to Lighthalzen City.
 //===== Additional Comments: ================================= 
-//= Grammar/script check please. This was a quick job.
-//= Things to add: Look at the thread "Lighthalzen Guard" in SVN script
-//= 0.3 Initial Release
-//= 0.5 Added mobsters spawn and Einbroch pollution. Alert lasts either 10 minutes or all mob killed.
-//= 0.6-0.9 fix small bug. Added Bio-lab entrance Quest. Added Getting security-card Quest.
-//= 1.0 Patched "mobsters spawn & Alert" like Real-RO.
-//= 1.0a fixed rand(1,10) + comparision. There just can't be 'X < 1' [Lupus]
-//= 1.1 Changed the mobster spawn to g_mobster to prevent exploits [MasterOfMuppets]
-//= 1.2 Added the cube room quest by DeNy, translated by vicious_pucca. [MasterOfMuppets]
-//=	Thanks to Linuxwolf for a grammar check as well =).
-//= 1.2a Moved Biolab entrance to lhz_dun warps. [Vicious]
-//= 1.3 Fixed password bug, fixed endless item exploit, some typos [Lupus]
-//= 1.4 Fixed password abuse. When people don't read the password under the picture
-//= 	and enter Zero shit 8) (TODO: I saw some "Sticks" abuses, too.. where you could skip a part of quest...)
-//= 1.5 Fixed Mobster's OnDead event(it has to start with "On"!) [Playtester]
-//= 1.5a Fixed "free stick" bug, thx 2 Neouni [Lupus]
-//= 1.6 Added Gywall's Pickpocket Quest
-//= 1.7 Implemented the Friendship quest [MasterOfMuppets]
-//= 1.8 Changed the name of the mobsters to Gangster, as it should be. [MasterOfMuppets]
-//= 1.9 Added extra input check on Biolab so that the first letter of the word could be capitalized or undercase. [Evera]
-//= 2.0 Removed Duplicates [Silent]
-//= 2.1 Added first part of Bio Ethics Quest [Evera]
-//= 2.2 Added bit to say Bio Ethics is unfinished, and if a player attempts, it warps them
-//= 	out after finished part... Don't want players getting stuck ;_; [Evera]
-//= 2.3 Finished Bio Ethics Quest. Need bug testers before moving to trunk, my
-//=	mind was somewhere else when writing @_@ [Evera]
-//= 2.4	Fixed the bug where a str&int debug was shown in the console for
-//=	test tube in bio labs quest. [Evera]
-//= 2.5	Fixed Kellasus giving you extra skills in Bio Ethics quest [Evera]
-//= 2.6	Fixed exploit letting any class get homunculus from Bio Ethics Quest [Evera]
-//= 2.6a Moved Bio Ethics Quest to Alchemist SKILL QUESTS [Lupus]
-//= 2.7 fixed bugs that let people bypass some quest parts V_V [Lupus]
-//=	reused cubekey var for 4 Cube Room key vars
-//= 2.8 More optimization. Also fixed bug with "2x short sticks -> long" [Lupus]
-//=	Now uses MISC_QUEST&512 instead of 'hzdun'. WIP
-//= 2.9 Fixed Friendship Quest levelup exploit (u could get EXP twice) [Lupus]
-//= 3.0 Added Cursed Spirit Quest. [SinSloth]
-//=	Moved a book non-related to Lighthalzen quests.
-//= 3.1 Added Schwartzvalt Trilogy Quest. [SinSloth]
-//= 3.2 Updated some NPCs regarding Hugel Rebellion Quest. [SinSloth]
-//= 3.2 Removed the NPC "#kiz03-4" as I couldn't find any [L0ne_W0lf]
-//=	reference to it in the Aegis script.
-//= 3.3 Fixed a wrong negative value checking in Schwartzvalt Trilogy quest. [SinSloth]
-//= 3.4 Fixed experience gains to match upcoming rate adjustments. [SinSloth]
-//= 3.5 Touch-ups to the Friendship quest. Added EXP reward. [L0ne_W0lf]
-//=	Added cutins for "Maku" npc, and changed "set HP" to percentheal.
-//= 3.5a Adjusted EXP given by "Benkasttein" to be the same as that given by Maku. [L0ne_W0lf]
-//= 3.6 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
-//= 3.7 Counter-fixed negative value checking to now look for both positive and negative values
-//=     since its symbol depends on the time. [SinSloth]
-//= 3.8 Removed bio ethic quest definition from header. [L0ne_W0lf]
-//= 3.9 Added Rekenber Job quest. Don't know why it hasn't been there before though. [SinSloth]
 //= 4.0 Updated several NPCs to Official (iRO) dialog, and restrucured. [L0ne_W0lf]
 //= 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]
@@ -79,6 +27,7 @@
 //= 4.7 Fixed missing label. (bugreport:4654) [L0ne_W0lf]
 //= 4.8 Fixed Cursed Spirit Quest EXP reward. [Euphy]
 //= 4.9 Fixed incorrect use of 'close'. [Joseph]
+//= 5.0 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 // Gangster Alert [Official Conversion]
@@ -2742,14 +2691,14 @@ lighthalzen,337,232,3	script	Maku	870,{
 		next;
 		delitem 7351,1; //Friend's_Diary
 		set friendship,14;
-		if (BaseLevel > 90) {
-			getexp 70000,0;
-		}
-		else if (BaseLevel > 75) {
-			getexp 40000,0;
-		}
-		else {
-			getexp 20000,0;
+		if (checkre(3)) {
+			if (BaseLevel > 90) getexp 70000,0;
+			else if (BaseLevel > 75) getexp 40000,0;
+			else getexp 20000,0;
+		} else {
+			if (BaseLevel > 90) getexp 700000,0;
+			else if (BaseLevel > 75) getexp 400000,0;
+			else getexp 200000,0;
 		}
 		cutin "lhz_macu04",2;
 		mes "[Maku]";
@@ -3192,14 +3141,14 @@ yuno_in04,96,106,5	script	Passionate Student	754,{
 		mes "rich and poor areas as my thanks.";
 		next;
 		set friendship,16;
-		if (BaseLevel > 90) {
-			getexp 70000,0;
-		}
-		else if (BaseLevel > 75) {
-			getexp 40000,0;
-		}
-		else {
-			getexp 20000,0;
+		if (checkre(3)) {
+			if (BaseLevel > 90) getexp 70000,0;
+			else if (BaseLevel > 75) getexp 40000,0;
+			else getexp 20000,0;
+		} else {
+			if (BaseLevel > 90) getexp 700000,0;
+			else if (BaseLevel > 75) getexp 400000,0;
+			else getexp 200000,0;
 		}
 		getitem 7350,1; //Pass
 		mes "[Benkaistein]";
@@ -5270,14 +5219,17 @@ OnTouch_:
 		mes "^FF0000Regenschirm Laboratory^000000.";
 		set lhz_curse,26;
 		changequest 2093,2094;
-		if (BaseLevel < 70)
-			getexp 800000,300000;
-		else if ((BaseLevel > 69) && (BaseLevel < 80))
-			getexp 1000000,500000;
-		else if ((BaseLevel > 79) && (BaseLevel < 90))
-			getexp 1500000,800000;
-		else if (BaseLevel > 89)
-			getexp 2000000,1000000;
+		if (checkre(3)) {
+			if (BaseLevel < 70) getexp 30000,30000;
+			else if ((BaseLevel > 69) && (BaseLevel < 80)) getexp 40000,70000;
+			else if ((BaseLevel > 79) && (BaseLevel < 90)) getexp 70000,90000;
+			else getexp 90000,90000;
+		} else {
+			if (BaseLevel < 70) getexp 800000,300000;
+			else if ((BaseLevel > 69) && (BaseLevel < 80)) getexp 1000000,500000;
+			else if ((BaseLevel > 79) && (BaseLevel < 90)) getexp 1500000,800000;
+			else getexp 2000000,1000000;
+		}
 		close;
 	}
 	end;
@@ -7040,8 +6992,8 @@ lighthalzen,179,170,4	script	Ordinary Man	98,{
 		mes "we weren't able to accomplish";
 		mes "what we set out to do. Still...";
 		set lhz_boss,44;
-		getitem 617,1;
-		getexp 180000,0;
+		getitem 617,1; //Old_Violet_Box
+		getexp (checkre(3))?180000:1800000,0;
 		next;
 		mes "[Ghalstein]";
 		mes "I'd like to thank you";
@@ -8591,8 +8543,8 @@ L_Mission:
 		mes "Thank you so much. ";
 		mes "You can count on me to right what was wrong.";
 		set hg_tre,57;
-		delitem 7342,1;
-		getexp 200000,0;
+		delitem 7342,1; //File01
+		getexp (checkre(3))?200000:2000000,0;
 		getitem 617,1;
 		close2;
 		cutin "",255;
@@ -10483,7 +10435,7 @@ lhz_in01,174,258,3	script	Young Man#reken	868,{
 		mes "own good. That, and you";
 		mes "make me feel guilty...";
 		set lhz_rekenber,22;
-		getexp 55000,0;
+		getexp (checkre(3))?55000:550000,0;
 		close;
 	}
 	else if(lhz_rekenber > 16)
@@ -10555,7 +10507,7 @@ lhz_in01,174,258,3	script	Young Man#reken	868,{
 		mes "him any trouble and make";
 		mes "sure you protect him.";
 		set lhz_rekenber,17;
-		getexp 45000,0;
+		getexp (checkre(3))?45000:450000,0;
 		close;
 	}
 	else if(lhz_rekenber > 11)
@@ -10632,7 +10584,7 @@ lhz_in01,174,258,3	script	Young Man#reken	868,{
 		mes "for the Rune-Midgarts Kingdom.";
 		next;
 		set lhz_rekenber,12;
-		getexp 40000,0;
+		getexp (checkre(3))?40000:400000,0;
 		mes "[Kazien]";
 		mes "Alright, I'll see you";
 		mes "later. The important";
@@ -11821,3 +11773,60 @@ OnTouch:
 	}
 	end;
 }
+
+//============================================================ 
+// Old changelog
+//============================================================ 
+//= Grammar/script check please. This was a quick job.
+//= Things to add: Look at the thread "Lighthalzen Guard" in SVN script
+//= 0.3 Initial Release
+//= 0.5 Added mobsters spawn and Einbroch pollution. Alert lasts either 10 minutes or all mob killed.
+//= 0.6-0.9 fix small bug. Added Bio-lab entrance Quest. Added Getting security-card Quest.
+//= 1.0 Patched "mobsters spawn & Alert" like Real-RO.
+//= 1.0a fixed rand(1,10) + comparision. There just can't be 'X < 1' [Lupus]
+//= 1.1 Changed the mobster spawn to g_mobster to prevent exploits [MasterOfMuppets]
+//= 1.2 Added the cube room quest by DeNy, translated by vicious_pucca. [MasterOfMuppets]
+//=	Thanks to Linuxwolf for a grammar check as well =).
+//= 1.2a Moved Biolab entrance to lhz_dun warps. [Vicious]
+//= 1.3 Fixed password bug, fixed endless item exploit, some typos [Lupus]
+//= 1.4 Fixed password abuse. When people don't read the password under the picture
+//= 	and enter Zero shit 8) (TODO: I saw some "Sticks" abuses, too.. where you could skip a part of quest...)
+//= 1.5 Fixed Mobster's OnDead event(it has to start with "On"!) [Playtester]
+//= 1.5a Fixed "free stick" bug, thx 2 Neouni [Lupus]
+//= 1.6 Added Gywall's Pickpocket Quest
+//= 1.7 Implemented the Friendship quest [MasterOfMuppets]
+//= 1.8 Changed the name of the mobsters to Gangster, as it should be. [MasterOfMuppets]
+//= 1.9 Added extra input check on Biolab so that the first letter of the word could be capitalized or undercase. [Evera]
+//= 2.0 Removed Duplicates [Silent]
+//= 2.1 Added first part of Bio Ethics Quest [Evera]
+//= 2.2 Added bit to say Bio Ethics is unfinished, and if a player attempts, it warps them
+//= 	out after finished part... Don't want players getting stuck ;_; [Evera]
+//= 2.3 Finished Bio Ethics Quest. Need bug testers before moving to trunk, my
+//=	mind was somewhere else when writing @_@ [Evera]
+//= 2.4	Fixed the bug where a str&int debug was shown in the console for
+//=	test tube in bio labs quest. [Evera]
+//= 2.5	Fixed Kellasus giving you extra skills in Bio Ethics quest [Evera]
+//= 2.6	Fixed exploit letting any class get homunculus from Bio Ethics Quest [Evera]
+//= 2.6a Moved Bio Ethics Quest to Alchemist SKILL QUESTS [Lupus]
+//= 2.7 fixed bugs that let people bypass some quest parts V_V [Lupus]
+//=	reused cubekey var for 4 Cube Room key vars
+//= 2.8 More optimization. Also fixed bug with "2x short sticks -> long" [Lupus]
+//=	Now uses MISC_QUEST&512 instead of 'hzdun'. WIP
+//= 2.9 Fixed Friendship Quest levelup exploit (u could get EXP twice) [Lupus]
+//= 3.0 Added Cursed Spirit Quest. [SinSloth]
+//=	Moved a book non-related to Lighthalzen quests.
+//= 3.1 Added Schwartzvalt Trilogy Quest. [SinSloth]
+//= 3.2 Updated some NPCs regarding Hugel Rebellion Quest. [SinSloth]
+//= 3.2 Removed the NPC "#kiz03-4" as I couldn't find any [L0ne_W0lf]
+//=	reference to it in the Aegis script.
+//= 3.3 Fixed a wrong negative value checking in Schwartzvalt Trilogy quest. [SinSloth]
+//= 3.4 Fixed experience gains to match upcoming rate adjustments. [SinSloth]
+//= 3.5 Touch-ups to the Friendship quest. Added EXP reward. [L0ne_W0lf]
+//=	Added cutins for "Maku" npc, and changed "set HP" to percentheal.
+//= 3.5a Adjusted EXP given by "Benkasttein" to be the same as that given by Maku. [L0ne_W0lf]
+//= 3.6 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
+//= 3.7 Counter-fixed negative value checking to now look for both positive and negative values
+//=     since its symbol depends on the time. [SinSloth]
+//= 3.8 Removed bio ethic quest definition from header. [L0ne_W0lf]
+//= 3.9 Added Rekenber Job quest. Don't know why it hasn't been there before though. [SinSloth]
+//============================================================

+ 48 - 59
npc/quests/quests_louyang.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= Evera and The rAthena Dev Team
 //===== Current Version: ===================================== 
-//= 2.2
+//= 2.3
 //===== Compatible With: ===================================== 
 //= rAthena 1.0
 //===== Description: ========================================= 
@@ -24,15 +24,16 @@
 //= 1.4 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
 //= 1.5 Fixed bad NPC header data to comply with rev. 11603. [L0ne_W0lf]
 //= 1.6 Rescripted Soup, Doctor, and Poison King quests [L0ne_W0lf]
-//=	to Aegis 10.3 standards. Attempted to save current
-//=	quest progress from the old scripts.
+//=     to Aegis 10.3 standards. Attempted to save current
+//=     quest progress from the old scripts.
 //= 1.7 Added missing checkweights. And corrected [L0ne_W0lf]
-//=	a typo in Poison King quest.
+//=     a typo in Poison King quest.
 //= 1.8 Bug fixes. (bugreport:1025 bugreport:1062) [L0ne_W0lf]
 //= 1.9 Bug fixes/Typos. [Paradox924X]
 //= 2.0 Replaced effect numerics with constants. [L0ne_W0lf]
 //= 2.1 Fixed guard tower warper ALWAYS warping. (bugreport:2377) [L0ne_W0lf]
 //= 2.2 Removed unused "name" variable. [L0ne_W0lf]
+//= 2.3 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 // Soup Quest
@@ -1291,7 +1292,7 @@ lou_in02,265,69,5	script	Doctor#lyang	814,{
 			delitem 7252,1; //Herb_Medicine
 			set ch_par,10;
 			getitem 679,2; //Gold_Pill
-			getexp 1000,0;
+			getexp (checkre(3))?1000:10000,0;
 			next;
 			mes "[Hua Tuo]";
 			mes "Well then,";
@@ -1408,7 +1409,7 @@ lou_in02,265,69,5	script	Doctor#lyang	814,{
 			delitem 7252,1; //Herb_Medicine
 			set ch_par,10;
 			getitem 679,2; //Gold_Pill
-			getexp 1000,0;
+			getexp (checkre(3))?1000:10000,0;
 			next;
 			mes "[Hua Tuo]";
 			mes "Well then, I will see you around. Once again, I'd like to thank you for your help.";
@@ -1462,7 +1463,7 @@ lou_in02,265,69,5	script	Doctor#lyang	814,{
 			delitem 7252,1; //Herb_Medicine
 			set ch_par,18;
 			getitem 679,5; //Gold_Pill
-			getexp 3000,0;
+			getexp (checkre(3))?10000:30000,0;
 			next;
 			mes "[Hua Tuo]";
 			mes "However, please remember not to take more than the recommended dosage for the pills I have given you. Even medicine, in the wrong doses, can become poison to the body.";
@@ -3340,32 +3341,26 @@ lou_in02,123,39,4	script	Poison King#lou	824,{
 		mes "^3355FFYou grow dizzy, but you also feel like you're becoming more powerful and gaining experience.^000000";
 		next;
 		set ch_poison,20;
-		if (BaseLevel < 56) {
-			getexp 900,0;
-		}
-		else if (BaseLevel > 55 && BaseLevel < 61) {
-			getexp 1050,0;
-		}
-		else if (BaseLevel > 60 && BaseLevel < 66) {
-			getexp 1868,0;
-		}
-		else if (BaseLevel > 65 && BaseLevel < 71) {
-			getexp 2741,0;
-		}
-		else if (BaseLevel > 70 && BaseLevel < 76) {
-			getexp 7076,0;
-		}
-		else if (BaseLevel > 75 && BaseLevel < 81) {
-			getexp 13025,0;
-		}
-		else if (BaseLevel > 80 && BaseLevel < 86) {
-			getexp 15034,0;
-		}
-		else if (BaseLevel > 85 && BaseLevel < 91) {
-			getexp 18205,0;
-		}
-		else if (BaseLevel > 90) {
-			getexp 40679,0;
+		if (checkre(3)) {
+			if (BaseLevel < 56) getexp 1050,0;
+			else if (BaseLevel > 55 && BaseLevel < 61) getexp 1230,0;
+			else if (BaseLevel > 60 && BaseLevel < 66) getexp 1570,0;
+			else if (BaseLevel > 65 && BaseLevel < 71) getexp 2300,0;
+			else if (BaseLevel > 70 && BaseLevel < 76) getexp 3400,0;
+			else if (BaseLevel > 75 && BaseLevel < 81) getexp 4500,0;
+			else if (BaseLevel > 80 && BaseLevel < 86) getexp 9000,0;
+			else if (BaseLevel > 85 && BaseLevel < 91) getexp 18000,0;
+			else getexp 20000,0;
+		} else {
+			if (BaseLevel < 56) getexp 9000,0;
+			else if (BaseLevel > 55 && BaseLevel < 61) getexp 10500,0;
+			else if (BaseLevel > 60 && BaseLevel < 66) getexp 18684,0;
+			else if (BaseLevel > 65 && BaseLevel < 71) getexp 27411,0;
+			else if (BaseLevel > 70 && BaseLevel < 76) getexp 70757,0;
+			else if (BaseLevel > 75 && BaseLevel < 81) getexp 130246,0;
+			else if (BaseLevel > 80 && BaseLevel < 86) getexp 150340,0;
+			else if (BaseLevel > 85 && BaseLevel < 91) getexp 182052,0;
+			else getexp 406786,0;
 		}
 		mes "^3355FFThen...";
 		mes "Everything blacks out...^000000";
@@ -3991,32 +3986,26 @@ lou_in02,253,45,0	script	Employee#poison	822,{
 		next;
 		mes "^3355FFThe nasty taste lingers in your mouth, but then you feel a great warmth flowing throughout your body. Eventually, you pass out.^000000";
 		next;
-		if (BaseLevel < 56) {
-			getexp 891,0;
-		}
-		else if (BaseLevel > 55 && BaseLevel < 61) {
-			getexp 1021,0;
-		}
-		else if (BaseLevel > 60 && BaseLevel < 66) {
-			getexp 1768,0;
-		}
-		else if (BaseLevel > 65 && BaseLevel < 71) {
-			getexp 2541,0;
-		}
-		else if (BaseLevel > 70 && BaseLevel < 76) {
-			getexp 6876,0;
-		}
-		else if (BaseLevel > 75 && BaseLevel < 81) {
-			getexp 12825,0;
-		}
-		else if (BaseLevel > 80 && BaseLevel < 86) {
-			getexp 14234,0;
-		}
-		else if (BaseLevel > 85 && BaseLevel < 91) {
-			getexp 15205,0;
-		}
-		else if (BaseLevel > 90) {
-			getexp 36679,0;
+		if (checkre(3)) {
+			if (BaseLevel < 56) getexp 500,0;
+			else if (BaseLevel > 55 && BaseLevel < 61) getexp 700,0;
+			else if (BaseLevel > 60 && BaseLevel < 66) getexp 850,0;
+			else if (BaseLevel > 65 && BaseLevel < 71) getexp 1270,0;
+			else if (BaseLevel > 70 && BaseLevel < 76) getexp 1600,0;
+			else if (BaseLevel > 75 && BaseLevel < 81) getexp 2100,0;
+			else if (BaseLevel > 80 && BaseLevel < 86) getexp 4000,0;
+			else if (BaseLevel > 85 && BaseLevel < 91) getexp 7000,0;
+			else getexp 11000,0;
+		} else {
+			if (BaseLevel < 56) getexp 8909,0;
+			else if (BaseLevel > 55 && BaseLevel < 61) getexp 10213,0;
+			else if (BaseLevel > 60 && BaseLevel < 66) getexp 17684,0;
+			else if (BaseLevel > 65 && BaseLevel < 71) getexp 25411,0;
+			else if (BaseLevel > 70 && BaseLevel < 76) getexp 68757,0;
+			else if (BaseLevel > 75 && BaseLevel < 81) getexp 128246,0;
+			else if (BaseLevel > 80 && BaseLevel < 86) getexp 142340,0;
+			else if (BaseLevel > 85 && BaseLevel < 91) getexp 152052,0;
+			else getexp 366786,0;
 		}
 		warp "louyang",270,136;
 		end;

+ 21 - 20
npc/quests/quests_morocc.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= kobra_k88
 //===== Current Version: ===================================== 
-//= 2.9
+//= 3.0
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -43,6 +43,7 @@
 //= 2.8 Disabled Assassin bar pub NPCs, as they are included in the 13.1 quests file. [L0ne_W0lf]
 //= 2.9 Fixed player dying/logging out during conversation could prevent
 //=     summoning of Satan Morroc until server reboot. [Gepard]
+//= 3.0 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 // Stop Post Quest
@@ -1618,7 +1619,7 @@ morocc,159,113,3	script	Chief Balrog	752,{
 			mes "Once again, I thank you for your distinguished service on behalf of the Continental Guard and the Rune-Midgarts Kingdom. I'll report your great achievement to His Majesty right away.";
 			next;
 			delitem 7820,1; //Morroc_Skin
-			getexp 200000,0;
+			getexp (checkre(3))?200000:2000000,0;
 			set rebirth_moc_edq,7;
 			changequest 3055,3056;
 			mes "[Chief Balrog]";
@@ -2317,7 +2318,10 @@ moc_ruins,137,70,3	script	Book-Touching Man#garas	48,{
 					delitem 7797,1; //Author_Memo
 					delitem 7796,1; //Author_Autograph
 					set barmunt_crow,16;
-					getexp 90000,90000;
+					if (checkre(3))
+						getexp 90000,90000;
+					else
+						getexp 900000,900000;
 					close;
 				case 2:
 					mes "[Benjamin]";
@@ -5180,23 +5184,20 @@ prt_castle,117,163,5	script	Inspector#prince	755,{
 			mes "[Inspector]";
 			mes "So, keep up the good work.";
 			mes "For the Kingdom of Rune Midgarts!";
-			if ((BaseLevel > 80) && (BaseLevel < 86)) {
-				getexp 40000,0;
-			}
-			else if ((BaseLevel > 85) && (BaseLevel < 91)) {
-				getexp 45000,0;
-			}
-			else if ((BaseLevel > 90) && (BaseLevel < 96)) {
-				getexp 50000,0;
-			}
-			else if ((BaseLevel > 95) && (BaseLevel < 150)) {
-				getexp 55000,0;
-			}
-			else if (BaseLevel == 150) {
-				getexp 110000,0;
-			}
-			else {
-				getexp 30000,0;
+			if (checkre(3)) {
+				if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 40000,0;
+				else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 45000,0;
+				else if ((BaseLevel > 90) && (BaseLevel < 96)) getexp 50000,0;
+				else if ((BaseLevel > 95) && (BaseLevel < 99)) getexp 55000,0;
+				else if (BaseLevel > 99) getexp 110000,0;
+				else getexp 30000,0;
+			} else {
+				if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 400000,0;
+				else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 450000,0;
+				else if ((BaseLevel > 90) && (BaseLevel < 96)) getexp 500000,0;
+				else if ((BaseLevel > 95) && (BaseLevel < 99)) getexp 550000,0;
+				else if (BaseLevel >= 99) getexp 1100000,0;
+				else getexp 300000,0;
 			}
 			set nk_prince,8;
 			completequest 10025;

+ 157 - 111
npc/quests/quests_moscovia.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= Kisuka
 //===== Current Version: ===================================== 
-//= 2.1
+//= 2.2
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -25,6 +25,7 @@
 //= 2.0a Bug fixes. [Euphy]
 //= 2.0b Bug fixes. [Lemongrass]
 //= 2.1 Fixed incorrect use of 'close'. [Joseph]
+//= 2.2 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 // The Moving Island
@@ -2187,8 +2188,8 @@ mosk_in,131,92,3	script	Csar Alexsay III#npc	965,{
 				next;
 				mes "[Prime Minister Dmitree]";
 				mes "Even though I regard as your effort for the time so, award you. Take it and go out.";
-				getitem 12702,1;
-				getexp 50000,0;
+				getitem 12702,1; //Old_Bleu_Box
+				getexp (checkre(3))?50000:500000,0;
 				set mos_whale_edq,39;
 				close;
 			}
@@ -2215,8 +2216,8 @@ mosk_in,131,92,3	script	Csar Alexsay III#npc	965,{
 			next;
 			mes "[Prime Minister Dmitree]";
 			mes "Even though I regard as your effort for the time so, award you. Take it.";
-			getitem 12702,1;
-			getexp 70000,0;
+			getitem 12702,1; //Old_Bleu_Box
+			getexp (checkre(3))?70000:700000,0;
 			set mos_whale_edq,40;
 			close;
 		}
@@ -2297,8 +2298,8 @@ mosk_in,131,92,3	script	Csar Alexsay III#npc	965,{
 			mes "of our dear Csar and all the people";
 			mes "in his palace. I will reward your";
 			mes "efforts, in the name of the Csar.";
-			getitem 617,1;
-			getexp 120000,0;
+			getitem 617,1; //Old_Violet_Box
+			getexp (checkre(3))?100000:1200000,0;
 			set mos_whale_edq,41;
 			close;
 		}
@@ -2754,7 +2755,7 @@ mosk_in,144,279,5	script	Gallina#mos	959,{
 		mes "Well, now I have to get to work!";
 		mes "I'll make you my hotcakes someday. Please visit me later";
 		set mos_swan,100;
-		getexp 100000,0;
+		getexp (checkre(3))?90000:1000000,0;
 		close;
 	}
 	mes "[Gallina]";
@@ -2786,11 +2787,11 @@ mosk_in,148,274,1	script	Anna#mos	958,{
 					mes "Where is Mikhail?";
 					mes "Do you know where he is?";
 					next;
-					emotion 39;
+					emotion e_meh;
 					mes "[Anna]";
 					mes "If I had known that, I would have already found him, you fool.";
 					next;
-					emotion 4,1;
+					emotion e_swt,1;
 					mes "["+strcharinfo(0)+"]";
 					mes "Hahaha, you're right.";
 					next;
@@ -2856,7 +2857,7 @@ mosk_in,148,274,1	script	Anna#mos	958,{
 					mes "["+strcharinfo(0)+"]";
 					mes "Is there anyone who is close to him?";
 					next;
-					emotion 32;
+					emotion e_pif;
 					mes "[Anna]";
 					mes "(giggle) He's a fool and has no friends.";
 					mes "But among our villagers, the lady of ^3131FFInn 'Sticky Herb Tree'^000000 has held Mikhail dear.";
@@ -3196,7 +3197,7 @@ mosk_in,135,191,5	script	Landlord#mos	961,{
 				close;
 			case 3:
 				mes "[Landlord]";
-				emotion 3;
+				emotion e_lv;
 				mes "Oh~! You look great! Look at the "+((sex)?"solid muscle":"fair skin")+"!";
 				mes "But you look tired. Is it because of a long journey?";
 				next;
@@ -3221,7 +3222,7 @@ mosk_in,135,191,5	script	Landlord#mos	961,{
 				mes "If you promise me to stay overnight, I'll tell you about what you want to know. Deal?";
 				next;
 				if(select("Refuse.:Stay overnight and get the info. - 5000z") == 1) {
-					emotion 7;
+					emotion e_ag;
 					mes "[Landlord]";
 					mes "Well, get the info by yourself then.";
 					close;
@@ -6706,7 +6707,7 @@ mosk_dun01,169,162,0	script	Mysterious Stone#rus02	111,{
 				percentheal -50,-50;
 				specialeffect2 EF_DARKBREATH;
 				specialeffect2 EF_HIT2;
-				emotion 23,1;
+				emotion e_omg,1;
 				next;
 				mes "- An unknown force has -";
 				mes "- drained your health -";
@@ -6721,7 +6722,7 @@ mosk_dun01,169,162,0	script	Mysterious Stone#rus02	111,{
 					mes "- You decide to go to the left -";
 					next;
 					mes "- !!!!!! -";
-					emotion 23,1;
+					emotion e_omg,1;
 					next;
 					mes "- An unknown force has -";
 					mes "- cursed your body -";
@@ -6736,7 +6737,7 @@ mosk_dun01,169,162,0	script	Mysterious Stone#rus02	111,{
 				mes "- You decide to go to the left -";
 				next;
 				mes "- !!!!!! -";
-				emotion 23,1;
+				emotion e_omg,1;
 				next;
 				mes "- Your trusty Pecopeco senses -";
 				mes "- an unknown force and tries -";
@@ -6754,7 +6755,7 @@ mosk_dun01,169,162,0	script	Mysterious Stone#rus02	111,{
 				mes "- toward the middle -";
 				next;
 				mes "- !!!!!! -";
-				emotion 23,1;
+				emotion e_omg,1;
 				donpcevent "Gray Wolf#rus03::OnEnable";
 				set rhea_rus_main,2;
 				close;
@@ -6809,7 +6810,7 @@ mosk_dun01,167,160,3	script	Gray Wolf#rus03	972,{
 		mes "I'm warning you again!";
 		mes "Unless you want to be killed, leave now.";
 		set rhea_rus_main,3;
-		emotion 23,1;
+		emotion e_omg,1;
 		specialeffect2 EF_HIT2;
 		percentheal -50,0;
 		next;
@@ -6905,20 +6906,20 @@ mosk_dun01,45,259,0	script	Wall#rus04	111,{
 	if (rhea_rus_main < 5) {
 		mes "["+ strcharinfo(0) +"]";
 		mes "...?!";
-		emotion 1,1;
+		emotion e_what,1;
 		close;
 	} else if (rhea_rus_main == 5) {
 		set .@speak01,rand(1,3);
 		if (.@speak01 == 3) {
 			mes "["+ strcharinfo(0) +"]";
 			mes "...?!";
-			emotion 1,1;
+			emotion e_what,1;
 			donpcevent "Gray Wolf#rus05::OnEnable";
 			next;
 		} else {
 			mes "["+ strcharinfo(0) +"]";
 			mes "...?!";
-			emotion 1,1;
+			emotion e_what,1;
 			close;
 		}
 		mes "[Girl's Voice]";
@@ -7088,7 +7089,7 @@ mosk_dun01,45,259,0	script	Wall#rus04	111,{
 			mes "["+ strcharinfo(0) +"]";
 			mes "Maria?! What happened?!";
 			sc_start SC_CURSE,60000,0;
-			emotion 23,1;
+			emotion e_omg,1;
 			next;
 			mes "[Koshei, the Immortal]";
 			mes "I really want to thank you, human. Maria was imprisoned in the wall so I couldn't do anything!";
@@ -7152,7 +7153,7 @@ mosk_dun01,45,259,0	script	Wall#rus04	111,{
 		next;
 		mes "[Gray Wolf]";
 		mes "No, it's not too late!";
-		emotion 0,1;
+		emotion e_gasp,1;
 		donpcevent "Gray Wolf#rus05::OnEnable";
 		next;
 		mes "[Gray Wolf]";
@@ -7308,16 +7309,29 @@ mosk_dun01,45,259,0	script	Wall#rus04	111,{
 			case 5: getitem 12083,1; break;
 			case 6: getitem 12098,1; break;
 		}
-		if (BaseLevel < 56) getexp 1300,350;
-		else if (BaseLevel < 61) getexp 2460,615;
-		else if (BaseLevel < 66) getexp 4242,1061;
-		else if (BaseLevel < 71) getexp 6489,1622;
-		else if (BaseLevel < 76) getexp 16491,4123;
-		else if (BaseLevel < 81) getexp 27629,6907;
-		else if (BaseLevel < 86) getexp 34041,8510;
-		else if (BaseLevel < 91) getexp 41846,10462;
-		else if (BaseLevel < 150) getexp 88814,22204;
-		else getitem 617,1;
+		if (checkre(3)) {
+			if (BaseLevel < 56) getexp 5700,500;
+			else if (BaseLevel < 61) getexp 6700,800;
+			else if (BaseLevel < 66) getexp 8000,1000;
+			else if (BaseLevel < 71) getexp 13000,1200;
+			else if (BaseLevel < 76) getexp 17000,1400;
+			else if (BaseLevel < 81) getexp 20000,1700;
+			else if (BaseLevel < 86) getexp 45000,2000;
+			else if (BaseLevel < 91) getexp 75000,3000;
+			else if (BaseLevel < 160) getexp 200000,4000;
+			else getitem 617,1; //Old_Violet_Box
+		} else {
+			if (BaseLevel < 56) getexp 13000,3500;
+			else if (BaseLevel < 61) getexp 24600,6150;
+			else if (BaseLevel < 66) getexp 42420,10605;
+			else if (BaseLevel < 71) getexp 64892,16223;
+			else if (BaseLevel < 76) getexp 164908,41227;
+			else if (BaseLevel < 81) getexp 276292,69073;
+			else if (BaseLevel < 86) getexp 340408,85102;
+			else if (BaseLevel < 91) getexp 418460,104615;
+			else if (BaseLevel < 99) getexp 888140,222035;
+			else getitem 617,1; //Old_Violet_Box
+		}
 		donpcevent "Gray Wolf#rus05::OnDisable";
 		donpcevent "Maria Morebna#rus46::OnDisable";
 		close;
@@ -7829,8 +7843,8 @@ moscovia,206,81,0	script	Vassili Grandpapa#rus07	712,{
 				mes "^ff0000Cold marsh swallowing my body^000000";
 				mes "^ff0000Red ring taken away^000000";
 				mes "^ff0000Red ring enchanted^000000";
-				emotion 23;
-				emotion 9,1;
+				emotion e_omg;
+				emotion e_dots,1;
 				next;
 				mes "[Vassili Grandpapa]";
 				mes "...W, what is this? Ehh??";
@@ -7891,8 +7905,8 @@ moscovia,206,81,0	script	Vassili Grandpapa#rus07	712,{
 				mes "^ff0000Cold marsh swallowing my body^000000";
 				mes "^ff0000Red ring taken away^000000";
 				mes "^ff0000Red ring enchanted^000000";
-				emotion 9;
-				emotion 9,1;
+				emotion e_dots;
+				emotion e_dots,1;
 				next;
 				mes "[Vassili Grandpapa]";
 				mes "It is.. It is true...";
@@ -7913,19 +7927,35 @@ moscovia,206,81,0	script	Vassili Grandpapa#rus07	712,{
 				next;
 				mes "[Vassili Grandpapa]";
 				mes "...It is my fault that this tragedy between my daughters happened. I will spend the rest of my life trying to make up for it...";
-				delitem 7883,1;
+				delitem 7883,1; //Pointed_Wooden_Flute
 				set rhea_rus_ring,10;
-				getitem 7877,1;
-				if (BaseLevel < 56) getexp 470,0;
-				else if (BaseLevel > 55 && BaseLevel < 61) getexp 615,0;
-				else if (BaseLevel > 60 && BaseLevel < 66) getexp 1061,0;
-				else if (BaseLevel > 65 && BaseLevel < 71) getexp 1622,0;
-				else if (BaseLevel > 70 && BaseLevel < 76) getexp 4123,0;
-				else if (BaseLevel > 75 && BaseLevel < 81) getexp 6907,0;
-				else if (BaseLevel > 80 && BaseLevel < 86) getexp 8510,0;
-				else if (BaseLevel > 85 && BaseLevel < 91) getexp 10462,0;
-				else if (BaseLevel > 90 && BaseLevel < 99) getexp 22204,0;
-				else getitem 607,1;
+				getitem 7877,1; //Red_Ring
+				if (checkre(3)) {
+					if (BaseLevel < 56) getexp 470,0;
+					else if (BaseLevel > 55 && BaseLevel < 61) getexp 615,0;
+					else if (BaseLevel > 60 && BaseLevel < 66) getexp 750,0;
+					else if (BaseLevel > 65 && BaseLevel < 71) getexp 1000,0;
+					else if (BaseLevel > 70 && BaseLevel < 76) getexp 1500,0;
+					else if (BaseLevel > 75 && BaseLevel < 81) getexp 2000,0;
+					else if (BaseLevel > 80 && BaseLevel < 86) getexp 4500,0;
+					else if (BaseLevel > 85 && BaseLevel < 91) getexp 8500,0;
+					else if (BaseLevel > 90 && BaseLevel < 99) getexp 30000,0;
+					else {
+						getitem 607,1; //Yggdrasilberry
+						getexp 30000,0;
+					}
+				} else {
+					if (BaseLevel < 56) getexp 4700,0;
+					else if (BaseLevel > 55 && BaseLevel < 61) getexp 6150,0;
+					else if (BaseLevel > 60 && BaseLevel < 66) getexp 10605,0;
+					else if (BaseLevel > 65 && BaseLevel < 71) getexp 16223,0;
+					else if (BaseLevel > 70 && BaseLevel < 76) getexp 41227,0;
+					else if (BaseLevel > 75 && BaseLevel < 81) getexp 69073,0;
+					else if (BaseLevel > 80 && BaseLevel < 86) getexp 85102,0;
+					else if (BaseLevel > 85 && BaseLevel < 91) getexp 104615,0;
+					else if (BaseLevel > 90 && BaseLevel < 99) getexp 222035,0;
+					else getitem 607,1; //Yggdrasilberry
+				}
 				close;
 			}
 			mes "[Vassili Grandpapa]";
@@ -7935,7 +7965,7 @@ moscovia,206,81,0	script	Vassili Grandpapa#rus07	712,{
 			next;
 			mes "["+ strcharinfo(0) +"]";
 			mes "Ehh?! This is weird. Where is the flute?!";
-			emotion 23,1;
+			emotion e_omg,1;
 			close;
 		} else if (rhea_rus_ring == 9) {
 			mes "[Vassili Grandpapa]";
@@ -7967,7 +7997,7 @@ moscovia,213,216,3	script	Ryubaba#rus08	960,{
 		next;
 		mes "[Ryubaba]";
 		mes "Mmm, you must be an adventurer? What would you say? Have you seen somebody more beautiful than me? I doubt it. How can you find anyone more beautiful than me?";
-		emotion 18;
+		emotion e_heh;
 		close;
 	}
 	else if (rhea_rus_main == 8) {
@@ -7977,7 +8007,7 @@ moscovia,213,216,3	script	Ryubaba#rus08	960,{
 			next;
 			mes "[Ryubaba]";
 			mes "Mmm, you must be an adventurer? What would you say? Have you seen somebody more beautiful than me? I doubt it. How can you find anyone more beautiful than me?";
-			emotion 18;
+			emotion e_heh;
 			close;
 		} else if (rhea_rus_ring == 1) {
 			if(getequipid(EQI_SHOES) != 2429) {
@@ -8016,7 +8046,7 @@ moscovia,213,216,3	script	Ryubaba#rus08	960,{
 			}
 			mes "["+ strcharinfo(0) +"]";;
 			mes "Yes, you are really beautiful.";
-			emotion 18,1;
+			emotion e_heh,1;
 			next;
 			mes "[Ryubaba]";
 			mes "Huhu, oh you jest. You know what you're talking about. Ah, this is a Choco drink that I have made. Give it a taste, isn't it good?";
@@ -8139,8 +8169,8 @@ moscovia,213,216,3	script	Ryubaba#rus08	960,{
 				mes "^ff0000Cold marsh swallowing my body^000000";
 				mes "^ff0000Red ring taken away^000000";
 				mes "^ff0000Red ring enchanted^000000";
-				emotion 23;
-				emotion 9,1;
+				emotion e_omg;
+				emotion e_dots,1;
 				next;
 				mes "[Ryubaba]";
 				mes "S, stop! You'd better stop!?";
@@ -8167,7 +8197,7 @@ moscovia,213,216,3	script	Ryubaba#rus08	960,{
 				next;
 				mes "[Ryubaba]";
 				mes "Please, I am begging you... Don't tell my father...";
-				emotion 28;
+				emotion e_sob;
 				next;
 				mes "- Suddenly, she sheds -";
 				mes "- tears and kneels down -";
@@ -8215,24 +8245,40 @@ moscovia,213,216,3	script	Ryubaba#rus08	960,{
 				next;
 				mes "[Ryubaba]";
 				mes "I have to repent for my sins and atone for them for the rest of my life.";
-				delitem 7883,1;
+				delitem 7883,1; //Pointed_Wooden_Flute
 				set rhea_rus_ring,9;
-				getitem 7877,1;
-				if (BaseLevel < 56) getexp 470,0;
-				else if (BaseLevel < 61) getexp 615,0;
-				else if (BaseLevel < 66) getexp 1061,0;
-				else if (BaseLevel < 71) getexp 1622,0;
-				else if (BaseLevel < 76) getexp 4123,0;
-				else if (BaseLevel < 81) getexp 6907,0;
-				else if (BaseLevel < 86) getexp 8510,0;
-				else if (BaseLevel < 91) getexp 10462,0;
-				else if (BaseLevel < 99) getexp 22204,0;
-				else getitem 607,1;
+				getitem 7877,1; //Red_Ring
+				if (checkre(3)) {
+					if (BaseLevel < 56) getexp 470,0;
+					else if (BaseLevel > 55 && BaseLevel < 61) getexp 615,0;
+					else if (BaseLevel > 60 && BaseLevel < 66) getexp 750,0;
+					else if (BaseLevel > 65 && BaseLevel < 71) getexp 1000,0;
+					else if (BaseLevel > 70 && BaseLevel < 76) getexp 1500,0;
+					else if (BaseLevel > 75 && BaseLevel < 81) getexp 2000,0;
+					else if (BaseLevel > 80 && BaseLevel < 86) getexp 4500,0;
+					else if (BaseLevel > 85 && BaseLevel < 91) getexp 8500,0;
+					else if (BaseLevel > 90 && BaseLevel < 99) getexp 30000,0;
+					else {
+						getitem 607,1; //Yggdrasilberry
+						getexp 30000,0;
+					}
+				} else {
+					if (BaseLevel < 56) getexp 4700,0;
+					else if (BaseLevel > 55 && BaseLevel < 61) getexp 6150,0;
+					else if (BaseLevel > 60 && BaseLevel < 66) getexp 10605,0;
+					else if (BaseLevel > 65 && BaseLevel < 71) getexp 16223,0;
+					else if (BaseLevel > 70 && BaseLevel < 76) getexp 41227,0;
+					else if (BaseLevel > 75 && BaseLevel < 81) getexp 69073,0;
+					else if (BaseLevel > 80 && BaseLevel < 86) getexp 85102,0;
+					else if (BaseLevel > 85 && BaseLevel < 91) getexp 104615,0;
+					else if (BaseLevel > 90 && BaseLevel < 99) getexp 222035,0;
+					else getitem 607,1; //Yggdrasilberry
+				}
 				close;
 			}
 			mes "["+ strcharinfo(0) +"]";
 			mes "...!? Where is the flute!?";
-			emotion 23,1;
+			emotion e_omg,1;
 			close;
 		} else if (rhea_rus_ring == 8) {
 			mes "[Ryubaba]";
@@ -8418,8 +8464,8 @@ mosk_fild02,157,233,0	script	Shepherdess#rus10	69,{
 				mes "^ff0000Cold marsh swallowing my body^000000";
 				mes "^ff0000Red ring taken away^000000";
 				mes "^ff0000Red ring enchanted^000000";
-				emotion 23;
-				emotion 23,1;
+				emotion e_omg;
+				emotion e_omg,1;
 				next;
 				mes "[Shepherdess]";
 				mes "W, what is this? Horrible! Why did this flute play a voice?";
@@ -8789,7 +8835,7 @@ mosk_fild02,124,202,3	script	Lusalka#rus23	971,{
 					next;
 					mes "[Lusalka]";
 					mes "Ah... but...";
-					emotion 28;
+					emotion e_sob;
 					donpcevent "Lusalka#rus23::OnDisable";
 					close;
 				}
@@ -8864,7 +8910,7 @@ mosk_fild02,124,202,3	script	Lusalka#rus23	971,{
 				mes "Aaaaaaaah!??!?!";
 				sc_start SC_CURSE,60000,0;
 				specialeffect2 EF_LORD;
-				emotion 23,1;
+				emotion e_omg,1;
 				percentheal -30,0;
 				next;
 				mes "["+ strcharinfo(0) +"]";
@@ -8995,7 +9041,7 @@ prontera,228,279,3	script	Wanderer#rus24	968,{
 			next;
 			mes "[A Wanderer from a strange land]";
 			mes "Ah, oh yes! How could I forget?";
-			emotion 5;
+			emotion e_ic;
 			next;
 			mes "[A Wanderer from a strange land]";
 			mes "We came here from Moscovia together. He called himself Igg. I came here with him but parted with him quite a while ago. He was sad because he couldn't forget about his lost lover.";
@@ -9321,7 +9367,7 @@ OnTouch:
 			close;
 		}
 	}
-	emotion 1,1;
+	emotion e_what,1;
 	close;
 }
 
@@ -9356,7 +9402,7 @@ mosk_que,45,131,0	script	Stone Furnace#rus28	111,{
 				mes "["+ strcharinfo(0) +"]";
 				mes "Oops, it's hot, hot!!!";
 				specialeffect2 EF_FIREHIT;
-				emotion 23,1;
+				emotion e_omg,1;
 				percentheal -5,0;
 				close;
 			}
@@ -9377,7 +9423,7 @@ mosk_que,45,131,0	script	Stone Furnace#rus28	111,{
 			close;
 		}
 	}
-	emotion 1,1;
+	emotion e_what,1;
 	close;
 
 OnInit:
@@ -9421,7 +9467,7 @@ mosk_que,56,202,0	script	Occult Apple Tree#rus29	111,{
 				next;
 				mes "["+ strcharinfo(0) +"]";
 				mes "Ahhhhhhhh!!!";
-				emotion 23,1;
+				emotion e_omg,1;
 				close;
 			}
 			mes "- ^0000ff You get 100 Apples !!^000000 -";
@@ -9430,7 +9476,7 @@ mosk_que,56,202,0	script	Occult Apple Tree#rus29	111,{
 			close;
 		}
 	}
-	emotion 1,1;
+	emotion e_what,1;
 	close;
 }
 
@@ -9602,8 +9648,8 @@ mosk_dun02,48,214,5	script	Baba Yaga#rus32	970,{
 		mes "[Baba Yaga]";
 		mes "...........................";
 		mes "If you lotter around here any longer, I will make myself some tasty human soup! Hehehehehe.";
-		emotion 29;
-		emotion 23,1;
+		emotion e_gg;
+		emotion e_omg,1;
 		close;
 	} else if (rhea_rus_main == 9) {
 		mes "[Baba Yaga]";
@@ -9620,7 +9666,7 @@ mosk_dun02,48,214,5	script	Baba Yaga#rus32	970,{
 		mes "'Presto Change-o!!'";
 		mes "'Turn into a pig!!'";
 		specialeffect2 EF_BARRIER;
-		emotion 23;
+		emotion e_omg;
 		next;
 		mes "[Baba Yaga]";
 		mes "Hmm? You are protected by a Protection Spell?";
@@ -9839,14 +9885,14 @@ mosk_dun02,48,214,5	script	Baba Yaga#rus32	970,{
 		next;
 		mes "["+ strcharinfo(0) +"]";
 		mes "Hey, I am talking...";
-		emotion 28,1;
+		emotion e_sob,1;
 		next;
 		mes "[Baba Yaga]";
 		mes "'In the corner...'";
 		next;
 		mes "["+ strcharinfo(0) +"]";
 		mes "!!!!!!!!!!!!!!!!!!!!!!!!!";
-		emotion 23;
+		emotion e_omg;
 		next;
 		mes "[Baba Yaga]";
 		mes "What, child? Do you feel bad?";
@@ -10358,7 +10404,7 @@ OnTouch:
 		next;
 		mes "["+ strcharinfo(0) +"]";
 		mes "You! Go home now!";
-		emotion 23;
+		emotion e_omg;
 		next;
 		mes "- The cow seems surprised, jumps and tries to attack you !! -";
 		next;
@@ -10381,7 +10427,7 @@ OnTouch:
 				next;
 				mes "[Cow]";
 				mes "...Moo...";
-				emotion 9;
+				emotion e_dots;
 				next;
 				mes "- The cow, seems to gibe at you, looks at you quickly and runs to bushes !! -";
 				if (rand(1,2) == 1) {
@@ -10456,7 +10502,7 @@ OnTouch:
 		next;
 		mes "["+ strcharinfo(0) +"]";
 		mes "You! Go home now!";
-		emotion 23;
+		emotion e_omg;
 		next;
 		mes "- The cow seems surprised, jumps and tries to attack you !! -";
 		next;
@@ -10479,7 +10525,7 @@ OnTouch:
 				next;
 				mes "[Cow]";
 				mes "...Moo...";
-				emotion 9;
+				emotion e_dots;
 				next;
 				mes "- The cow, seems to gibe at you, looks at you quickly and runs to bushes !! -";
 				if (rand(1,2) == 1) {
@@ -10555,7 +10601,7 @@ OnTouch:
 		next;
 		mes "["+ strcharinfo(0) +"]";
 		mes "You! Go home now!";
-		emotion 23;
+		emotion e_omg;
 		next;
 		mes "- The cow seems surprised, jumps and tries to attack you !! -";
 		next;
@@ -10578,7 +10624,7 @@ OnTouch:
 				next;
 				mes "[Cow]";
 				mes "...Moo...";
-				emotion 9;
+				emotion e_dots;
 				next;
 				mes "- The cow, seems to gibe at you, looks at you quickly and runs to bushes !! -";
 				donpcevent "Cow#rus35::OnDisable";
@@ -10788,7 +10834,7 @@ mosk_dun02,65,232,0	script	Noisy Coffin#rus36	801,{
 		next;
 		mes "[Noisy Coffin]";
 		mes "................................";
-		emotion 9;
+		emotion e_dots;
 		next;
 		mes "["+ strcharinfo(0) +"]";
 		mes "Hu, the job has been done.";
@@ -10801,7 +10847,7 @@ mosk_dun02,65,232,0	script	Noisy Coffin#rus36	801,{
 		next;
 		mes "[Noisy Coffin]";
 		mes "................................";
-		emotion 9;
+		emotion e_dots;
 		next;
 		mes "["+ strcharinfo(0) +"]";
 		mes "Hu, the job has been done.";
@@ -10814,7 +10860,7 @@ mosk_dun02,65,232,0	script	Noisy Coffin#rus36	801,{
 		next;
 		mes "[Noisy Coffin]";
 		mes "................................";
-		emotion 9;
+		emotion e_dots;
 		next;
 		mes "["+ strcharinfo(0) +"]";
 		mes "Hu, the job has been done.";
@@ -10957,7 +11003,7 @@ treasure01,24,39,0	script	Old Bed#rus38	111,{
 		viewpoint 2,61,183,2,0xFF00FF00;
 		viewpoint 2,98,118,3,0xFF00FF00;
 		viewpoint 2,27,115,4,0xFF00FF00;
-		emotion 23,1;
+		emotion e_omg,1;
 		next;
 		mes "["+ strcharinfo(0) +"]";
 		mes "Eek, it would be best to run away now!";
@@ -11061,7 +11107,7 @@ treasure01,27,115,0	script	Opened Treasure Chest#41	111,{
 			next;
 			mes "["+ strcharinfo(0) +"]";
 			mes "W, what is this!?";
-			emotion 23,1;
+			emotion e_omg,1;
 			close;
 		}
 		mes "["+ strcharinfo(0) +"]";
@@ -11164,7 +11210,7 @@ mosk_dun02,57,220,0	script	House Ghost Jar#rus43	111,{
 		mes "- You tap the jar -";
 		mes "- with your hand -";
 		specialeffect EF_SIGHTRASHER;
-		emotion 23,1;
+		emotion e_omg,1;
 		next;
 		mes "- A voice laughs in the jar as -";
 		mes "- it shakes from right to left -";
@@ -11233,7 +11279,7 @@ mosk_dun02,57,220,0	script	House Ghost Jar#rus43	111,{
 			mes "[House Ghost]";
 			mes "Ok, first let me shuffle these cards around.";
 			mes "Ready!";
-			emotion 56;
+			emotion e_loud;
 			next;
 			mes "[House Ghost]";
 			mes "One!";
@@ -11268,8 +11314,8 @@ mosk_dun02,57,220,0	script	House Ghost Jar#rus43	111,{
 				next;
 				if (.@rucard_game01 == 1) {
 					cutin "포링카드",4; // Poring Card
-					emotion 0;
-					emotion 5,1;
+					emotion e_gasp;
+					emotion e_ic,1;
 					next;
 					mes "[House Ghost]";
 					mes "You got it right. You are good.";
@@ -11283,8 +11329,8 @@ mosk_dun02,57,220,0	script	House Ghost Jar#rus43	111,{
 						cutin "엔젤링카드",4; // Angeling Card
 					else
 						cutin "고스트링카드",4; // Ghostring Card
-					emotion 0;
-					emotion 23,1;
+					emotion e_gasp;
+					emotion e_omg,1;
 					next;
 					mes "[House Ghost]";
 					mes "Huuu...";
@@ -11304,8 +11350,8 @@ mosk_dun02,57,220,0	script	House Ghost Jar#rus43	111,{
 				next;
 				if (.@rucard_game01 == 2) {
 					cutin "고스트링카드",4; // Angeling Card
-					emotion 0;
-					emotion 5,1;
+					emotion e_gasp;
+					emotion e_ic,1;
 					next;
 					mes "[House Ghost]";
 					mes "You got it right. You are good.";
@@ -11319,8 +11365,8 @@ mosk_dun02,57,220,0	script	House Ghost Jar#rus43	111,{
 						cutin "포링카드",4; // Poring Card
 					else
 						cutin "고스트링카드",4; // Ghostring Card
-					emotion 0;
-					emotion 23,1;
+					emotion e_gasp;
+					emotion e_omg,1;
 					next;
 					mes "[House Ghost]";
 					mes "Huuu...";
@@ -11340,8 +11386,8 @@ mosk_dun02,57,220,0	script	House Ghost Jar#rus43	111,{
 				next;
 				if (.@rucard_game01 == 3) {
 					cutin "고스트링카드",4; // Ghostring Card
-					emotion 0;
-					emotion 5,1;
+					emotion e_gasp;
+					emotion e_ic,1;
 					next;
 					mes "[House Ghost]";
 					mes "You got it right. You are good.";
@@ -11355,8 +11401,8 @@ mosk_dun02,57,220,0	script	House Ghost Jar#rus43	111,{
 						cutin "포링카드",4; // Poring Card
 					else
 						cutin "고스트링카드",4; // Angeling Card
-					emotion 0;
-					emotion 23,1;
+					emotion e_gasp;
+					emotion e_omg,1;
 					next;
 					mes "[House Ghost]";
 					mes "Huuu...";
@@ -11758,7 +11804,7 @@ pay_dun04,163,186,0	script	Ghost Tree#rus45	111,{
 			mes "["+ strcharinfo(0) +"]";
 			if (.@rus_dice01 == .@tree_dice01) {
 				mes "Let's see... Wow, I got it! I've got ^0000ffNumber "+.@rus_dice01+"^000000!";
-				emotion 0;
+				emotion e_gasp;
 				next;
 				mes "[Ghost Tree]";
 				mes "You seem lucky...";
@@ -11769,7 +11815,7 @@ pay_dun04,163,186,0	script	Ghost Tree#rus45	111,{
 				mes "Let's see................... It is ^0000ff "+.@rus_dice01+" ^000000...";
 				mes "[Ghost Tree]";
 				mes "Huuu...";
-				emotion 18;
+				emotion e_heh;
 				set .@rustree_turn01,.@rustree_turn01+1;
 				next;
 			}

+ 44 - 75
npc/quests/quests_nameless.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= L0ne_W0lf
 //===== Current Version: ===================================== 
-//= 2.2a
+//= 2.3
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -60,6 +60,7 @@
 //=     - Broken Diamond
 //=     - Z-Gang Quest
 //= 2.2a Fixed a few job constant typos. [Euphy]
+//= 2.3 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 // Nameless Island and Cursed Monestary Access Quest
@@ -879,7 +880,7 @@ ra_temple,165,57,5	script	Niren#ss	915,{
 				mes "comes from that place.";
 				delitem 7755,1; //Research_Note
 				set aru_monas,26;
-				getexp 50000,0;
+				getexp (checkre(3))?50000:500000,0;
 				close2;
 			}
 		}
@@ -1348,7 +1349,7 @@ ra_temple,165,57,5	script	Niren#ss	915,{
 			mes "that you've seen that";
 			mes "expression on her face.^000000";
 			set aru_em,23;
-			getexp 100000,0;
+			getexp (checkre(3))?100000:1000000,0;
 			close2;
 		}
 		else if (aru_em > 21) {
@@ -1925,7 +1926,7 @@ nameless_n,259,218,3	script	Larjes#Boat1	97,{
 		mes "This is huge!";
 		set aru_monas,24;
 		delitem 7726,1; //Token_Of_King
-		getexp 100000,0;
+		getexp (checkre(3))?100000:1000000,0;
 		close;
 	}
 	mes "[Larjes]";
@@ -6555,7 +6556,7 @@ prontera,148,326,3	script	Chief Officer#edq	734,{
 		mes "Congratulations! ";
 		completequest 3134;
 		set zdan_edq,19;
-		getexp 100000,0;
+		getexp (checkre(3))?100000:1000000,0;
 		close;
 	}
 	mes "[Chief Officer]";
@@ -11066,42 +11067,26 @@ prontera,140,304,5	script	Old Soldier	901,{
 					delitem 7725,1; //Unlucky_Emerald
 					set jewel_nd,31;
 					getitem 603,1; //Old_Blue_Box
-					if (BaseLevel < 66) {
-						getitem 607,1; //Yggdrasilberry
-						next;
-					}
-					else if ((BaseLevel > 65) && (BaseLevel < 75)) {
-						getexp 5000,0;
-						next;
-					}
-					else if ((BaseLevel > 74) && (BaseLevel < 81)) {
-						getexp 18000,0;
-						next;
-					}
-					else if ((BaseLevel > 80) && (BaseLevel < 86)) {
-						getexp 36000,0;
-						next;
-					}
-					else if ((BaseLevel > 85) && (BaseLevel < 91)) {
-						getexp 50000,0;
-						next;
-					}
-					else if ((BaseLevel > 90) && (BaseLevel < 96)) {
-						getexp 80000,0;
-						next;
-					}
-					else if ((BaseLevel > 95) && (BaseLevel < 150)) {
-						getexp 100000,0;
-						next;
-					}
-					else if (BaseLevel == 150) {
-						getitem 617,1; //Old_Violet_Box
-						next;
-					}
-					else {
-						getitem 617,1; //Old_Violet_Box
-						next;
+					if (checkre(3)) {
+						if (BaseLevel < 66) getitem 607,1; //Yggdrasilberry
+						else if ((BaseLevel > 65) && (BaseLevel < 75)) getexp 5000,0;
+						else if ((BaseLevel > 74) && (BaseLevel < 81)) getexp 18000,0;
+						else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 36000,0;
+						else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 50000,0;
+						else if ((BaseLevel > 90) && (BaseLevel < 96)) getexp 80000,0;
+						else if ((BaseLevel > 95) && (BaseLevel < 160)) getexp 100000,0;
+						else getitem 617,1; //Old_Violet_Box
+					} else {
+						if (BaseLevel < 66) getitem 607,1; //Yggdrasilberry
+						else if ((BaseLevel > 65) && (BaseLevel < 75)) getexp 50000,0;
+						else if ((BaseLevel > 74) && (BaseLevel < 81)) getexp 180000,0;
+						else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 360000,0;
+						else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 500000,0;
+						else if ((BaseLevel > 90) && (BaseLevel < 96)) getexp 800000,0;
+						else if ((BaseLevel > 95) && (BaseLevel < 99)) getexp 1000000,0;
+						else getitem 617,1; //Old_Violet_Box
 					}
+					next;
 					mes "[Retired Soldier]";
 					mes "If there's anything";
 					mes "you learn from all this,";
@@ -11137,42 +11122,26 @@ prontera,140,304,5	script	Old Soldier	901,{
 			delitem 7725,1; //Unlucky_Emerald
 			set jewel_nd,31;
 			getitem 603,1; //Old_Blue_Box
-			if (BaseLevel < 66) {
-				getitem 607,1; //Yggdrasilberry
-				next;
-			}
-			else if ((BaseLevel > 65) && (BaseLevel < 75)) {
-				getexp 5000,0;
-				next;
-			}
-			else if ((BaseLevel > 74) && (BaseLevel < 81)) {
-				getexp 8000,0;
-				next;
-			}
-			else if ((BaseLevel > 80) && (BaseLevel < 86)) {
-				getexp 15000,0;
-				next;
-			}
-			else if ((BaseLevel > 85) && (BaseLevel < 91)) {
-				getexp 20000,0;
-				next;
-			}
-			else if ((BaseLevel > 90) && (BaseLevel < 96)) {
-				getexp 40000,0;
-				next;
-			}
-			else if ((BaseLevel > 95) && (BaseLevel < 150)) {
-				getexp 50000,0;
-				next;
-			}
-			else if (BaseLevel == 150) {
-				getitem 617,1; //Old_Violet_Box
-				next;
-			}
-			else {
-				getitem 617,1; //Old_Violet_Box
-				next;
+			if (checkre(3)) {
+				if (BaseLevel < 66) getitem 607,1; //Yggdrasilberry
+				else if ((BaseLevel > 65) && (BaseLevel < 75)) getexp 5000,0;
+				else if ((BaseLevel > 74) && (BaseLevel < 81)) getexp 8000,0;
+				else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 15000,0;
+				else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 20000,0;
+				else if ((BaseLevel > 90) && (BaseLevel < 96)) getexp 40000,0;
+				else if ((BaseLevel > 95) && (BaseLevel < 160)) getexp 50000,0;
+				else getitem 617,1; //Old_Violet_Box
+			} else {
+				if (BaseLevel < 66) getitem 607,1; //Yggdrasilberry
+				else if ((BaseLevel > 65) && (BaseLevel < 75)) getexp 50000,0;
+				else if ((BaseLevel > 74) && (BaseLevel < 81)) getexp 80000,0;
+				else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 150000,0;
+				else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 200000,0;
+				else if ((BaseLevel > 90) && (BaseLevel < 96)) getexp 400000,0;
+				else if ((BaseLevel > 95) && (BaseLevel < 99)) getexp 500000,0;
+				else getitem 617,1; //Old_Violet_Box
 			}
+			next;
 			mes "[Retired Soldier]";
 			mes "If there's anything";
 			mes "you learn from all this,";

+ 4 - 3
npc/quests/quests_prontera.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= kobra_k88; L0ne_W0lf
 //===== Current Version: ===================================== 
-//= 2.7
+//= 2.8
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -47,6 +47,7 @@
 //= 2.5a Fixed requirements for PH D. Hat agian lol. [L0ne_W0lf]
 //= 2.6 Replaced effect numerics with constants. [L0ne_W0lf]
 //= 2.7 Corrected 'IProntera' typo. (bugreport:4522) [L0ne_W0lf]
+//= 2.8 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 // Prontera Culvert
@@ -2662,7 +2663,7 @@ prt_church,185,106,3	script	Father Bamph	60,{
 		mes "adventurer. May safety accompany you on all of your journeys.";
 		if (prt_curse == 43) set prt_curse,44;
 		else set prt_curse,54;
-		getexp 160000,0;
+		getexp (checkre(3))?90000:1600000,0;
 		close;
 	}
 	else if (prt_curse > 43 && prt_curse < 50 && !aru_monas) {
@@ -2993,7 +2994,7 @@ prt_church,184,110,3	script	Father Biscuss	60,{
 		mes "Church, I want to thank";
 		mes "you for all of your help.";
 		set prt_curse,36;
-		getexp 160000,0;
+		getexp (checkre(3))?90000:1600000,0;
 		close;
 	}
 	else if (prt_curse == 36) {

+ 53 - 51
npc/quests/quests_rachel.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= L0ne_W0lf
 //===== Current Version: ===================================== 
-//= 3.4
+//= 3.5
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -26,33 +26,6 @@
 //= - Variable in use: ra_have_donated (0 no/1 yes)
 //= - Variable in use: $rachel_donate (max 10000)
 //===== Additional Comments: ================================= 
-//= 1.0 First version, needs testing. [L0ne_W0lf]
-//= 1.1 Some slight optimization. [L0ne_W0lf]
-//= 1.2 Fixed Man Stuck in Ice only giving 1 Freezing Snow Powder. [L0ne_W0lf]
-//= 1.3 Added the ability to redeem lottery tickets before donation max is met. [L0ne_W0lf]
-//= 1.4 Removed an erroneous "case". Thanks, Jet. [L0ne_W0lf]
-//= 1.5 Fixed a bug in Bruspetti quest. [SinSloth]
-//= 1.5b Fixed some typos in various quests. [SinSloth]
-//= 1.6 Fixed a couple bugs with the Pope's Office Guards... [L0ne_W0lf]
-//= 1.7 Fixed Maheo, he will revert to his frozen state when clicked. [L0ne_W0lf]
-//=	Replaced  instances of "+name+", with "+strcharinfo(0)".
-//= 1.8 Various fixes: Hamion will now delete items used for Wind Hammer. [L0ne_W0lf]
-//=	Fixed EXP reward in Ice Necklace quest, fixed a typo in an NPC header.
-//=	Another minor fix to Hamion. "< 1" -> "< 2". Added a missing close to
-//=	the ontouch "key". Thanks to Gepard for pointing them out.
-//= 1.9 Fixed a misorder with variable checkings. [SinSloth]
-//= 2.0 Fixed experience gains to match upcoming rate adjustments. [SinSloth]
-//= 2.1 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
-//= 2.2 Maheo NPC now uses "setnpcdisplay" instead of two NPCs. [L0ne_W0lf]
-//= 2.2a Corrected a Typo error ";;". [Samuray22]
-//= 2.3 Added Zhed's portion of Thor Volcano Base Quest. (euRO) [L0ne_W0lf]
-//= 2.4 Updated Zhed's Thor Vol. Base addition dialog to iRO's. [L0ne_W0lf]
-//= 2.4a Further updates to Zhed's Veins addition. [L0ne_W0lf]
-//= 2.5 Added Nameless Island quest addition. [L0ne_W0lf]
-//= 2.6 Uncommented ontouchNPC label for Man Stuck in Ice. [L0ne_W0lf]
-//= 2.7 Corrected overlaping warp coordinates. [L0ne_W0lf]
-//= 2.8 Replaced effect numerics with constants. [L0ne_W0lf]
-//= 2.9 Replaced effect numerics with constants. [Samuray22]
 //= 3.0 Large reordering of Zhed, and Peace to the Arunafeltz addition. [L0ne_W0lf]
 //=     Some more numeric conversion, and some other cleanup.
 //= 3.1 Updated Ice Necklace quest, added missing checks. [L0ne_W0lf]
@@ -63,6 +36,7 @@
 //= 3.4 Added quest log entries for:
 //=     - Ice Necklace Quest
 //=     - Thor Volcano Base Quest addition.
+//= 3.5 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 // Lost Child Quest (Prerequisite to High Priest quest)
@@ -1290,10 +1264,7 @@ rachel,263,32,3	script	Kid#ra_in01	931,{
 
 }
 
-//End of Lost Child quest
-//============================================================ 
-
-//Bruspetti Quest (Perequisite: Lighthalzen "Friendship" quest)
+// Bruspetti Quest (Perequisite: Lighthalzen "Friendship" quest)
 //============================================================ 
 ra_in01,235,194,5	script	Katinshuell	931,{
 	if (rach_vice > 21) {
@@ -2620,9 +2591,15 @@ OnTouch:
 		mes "Who would be to blame?";
 		next;
 		set rach_vice,24;
-		if (BaseLevel > 90) getexp 130000,0;
-		else if (BaseLevel > 75) getexp 85000,0;
-		else getexp 45000,0;
+		if (checkre(3)) {
+			if (BaseLevel > 90) getexp 130000,0;
+			else if (BaseLevel > 75) getexp 85000,0;
+			else getexp 45000,0;
+		} else {
+			if (BaseLevel > 90) getexp 1300000,0;
+			else if (BaseLevel > 75) getexp 850000,0;
+			else getexp 450000,0;
+		}
 		mes "[" + strcharinfo(0) + "]";
 		mes "Somehow, I wish that";
 		mes "Katinshuell had the";
@@ -2733,9 +2710,6 @@ ra_in01,255,25,0	script	Book#ra_in	111,{
 
 }
 
-//End of Bruspetti quest
-//============================================================ 
-
 // Ice Necklace/Summon Ktullanux Quest and Glacial Heart buyer
 //============================================================ 
 //iRO Changed this NPC to avoid "offending" people.
@@ -2924,7 +2898,7 @@ rachel,157,183,3	script	Sincere Follower Urstia	916,{
 			mes "token of my appreication for";
 			mes " what you have done for me.";
 			delitem 7573,1; //Magic_Necklace_
-			getexp 70000,0;
+			getexp (checkre(3))?90000:700000,0;
 			completequest 2113;
 			set ice_necklace_q,6;
 			next;
@@ -3902,10 +3876,6 @@ OnEnable:
 
 }
 
-// End of Ice Necklace/Summon Ktullanux Quest
-//============================================================ 
-
-
 // Donation Lottery Quest/High Priest Quest
 //============================================================ 
 ra_temple,119,180,0	script	Temple Entrance#ra_tem	45,1,1,{
@@ -4265,8 +4235,8 @@ ra_temple,116,174,3	script	Nemma#ra_temple	920,{
 				next;
 				if (countitem(12018) >= 20) {
 					cutin "ra_nemma04",2;
-					delitem 12018,20; //FireCracker";
-					getexp 20000,0;
+					delitem 12018,20; //Fire_Cracker
+					getexp (checkre(3))?50000:200000,0;
 					set ra_tem_q,14;
 					mes "[Priestess Nemma]";
 					mes "Yay!";
@@ -5054,7 +5024,7 @@ ra_temin,277,159,3	script	High Priest Zhed#rachel	932,{
 		cutin "ra_gman",255;
 		set lost_boy,13;
 		specialeffect2 EF_ABSORBSPIRITS;
-		getexp 90000,0;
+		getexp (checkre(3))?90000:900000,0;
 		end;
 	}
 	else if ((lost_boy == 13) && (ra_tem_q < 14)) {
@@ -5469,7 +5439,10 @@ ra_temin,277,159,3	script	High Priest Zhed#rachel	932,{
 		set ra_tem_q,0;
 		cutin "",255;
 		specialeffect2 EF_ABSORBSPIRITS;
-		getexp 90000,60000;
+		if (checkre(3))
+			getexp 90000,60000;
+		else
+			getexp 900000,600000;
 		end;
 	}
 	else if (MISC_QUEST & 8192) {
@@ -6025,7 +5998,7 @@ ra_temin,277,159,3	script	High Priest Zhed#rachel	932,{
 				mes "peace between our nations.";
 				completequest 60213;
 				set aru_vol,27;
-				getexp 20000,0;
+				getexp (checkre(3))?20000:200000,0;
 				close2;
 				cutin "ra_gman",255;
 				end;
@@ -6465,7 +6438,7 @@ ra_temin,277,159,3	script	High Priest Zhed#rachel	932,{
 					mes "Your place in Valhalla is";
 					mes "already assured, I'm sure.";
 					set aru_em,24;
-					getexp 150000,0;
+					getexp (checkre(3))?150000:1500000,0;
 				}
 				else {
 					mes "[High Priest Zhed]";
@@ -7667,5 +7640,34 @@ OnTouch:
 	end;
 }
 
-// End of Donation Lottery/High Priest quest
-//============================================================
+//============================================================ 
+// Old changelog
+//============================================================ 
+//= 1.0 First version, needs testing. [L0ne_W0lf]
+//= 1.1 Some slight optimization. [L0ne_W0lf]
+//= 1.2 Fixed Man Stuck in Ice only giving 1 Freezing Snow Powder. [L0ne_W0lf]
+//= 1.3 Added the ability to redeem lottery tickets before donation max is met. [L0ne_W0lf]
+//= 1.4 Removed an erroneous "case". Thanks, Jet. [L0ne_W0lf]
+//= 1.5 Fixed a bug in Bruspetti quest. [SinSloth]
+//= 1.5b Fixed some typos in various quests. [SinSloth]
+//= 1.6 Fixed a couple bugs with the Pope's Office Guards... [L0ne_W0lf]
+//= 1.7 Fixed Maheo, he will revert to his frozen state when clicked. [L0ne_W0lf]
+//=	Replaced  instances of "+name+", with "+strcharinfo(0)".
+//= 1.8 Various fixes: Hamion will now delete items used for Wind Hammer. [L0ne_W0lf]
+//=	Fixed EXP reward in Ice Necklace quest, fixed a typo in an NPC header.
+//=	Another minor fix to Hamion. "< 1" -> "< 2". Added a missing close to
+//=	the ontouch "key". Thanks to Gepard for pointing them out.
+//= 1.9 Fixed a misorder with variable checkings. [SinSloth]
+//= 2.0 Fixed experience gains to match upcoming rate adjustments. [SinSloth]
+//= 2.1 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
+//= 2.2 Maheo NPC now uses "setnpcdisplay" instead of two NPCs. [L0ne_W0lf]
+//= 2.2a Corrected a Typo error ";;". [Samuray22]
+//= 2.3 Added Zhed's portion of Thor Volcano Base Quest. (euRO) [L0ne_W0lf]
+//= 2.4 Updated Zhed's Thor Vol. Base addition dialog to iRO's. [L0ne_W0lf]
+//= 2.4a Further updates to Zhed's Veins addition. [L0ne_W0lf]
+//= 2.5 Added Nameless Island quest addition. [L0ne_W0lf]
+//= 2.6 Uncommented ontouchNPC label for Man Stuck in Ice. [L0ne_W0lf]
+//= 2.7 Corrected overlaping warp coordinates. [L0ne_W0lf]
+//= 2.8 Replaced effect numerics with constants. [L0ne_W0lf]
+//= 2.9 Replaced effect numerics with constants. [Samuray22]
+//============================================================

+ 9 - 5
npc/quests/quests_veins.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= L0ne_W0lf
 //===== Current Version: ===================================== 
-//= 2.3
+//= 2.4
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -47,6 +47,7 @@
 //= 2.1 Added missing changequest (3071-3076). [Joseph]
 //= 2.2 Moved "Wincing Old Man" to pre-re/re coordinates. [Euphy]
 //= 2.3 Fixed incorrect use of 'close'. [Joseph]
+//= 2.4 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 // Stone Quest
@@ -291,7 +292,7 @@
 		mes "find these useful. Anyway,";
 		mes "I hope you like these rocks...";
 		set veins_stone,8;
-		getexp 30000,0;
+		getexp (checkre(3))?30000:300000,0;
 		getitem 985,3; //Elunium
 		close;
 	}
@@ -975,7 +976,7 @@ prt_church,89,108,6	script	Bard#sch	741,{
 		mes "reward with our sincere thanks.";
 		set que_sch,26;
 		getitem 12106,1; //Accessory_Box
-		getexp 60000,0;
+		getexp (checkre(3))?60000:600000,0;
 		close;
 	}
 	else {
@@ -3044,7 +3045,10 @@ veins,327,185,3	script	Kid#camelcamel	944,{
 			completequest 3083;
 			set rachel_camel,25;
 			specialeffect2 EF_ABSORBSPIRITS;
-			getexp 100000,70000;
+			if (checkre(3))
+				getexp 100000,50000;
+			else
+				getexp 1000000,700000;
 			close;
 		}
 		else {
@@ -6083,7 +6087,7 @@ ve_in,281,214,3	script	Bookshelf#vol	111,{
 		else {
 			getitem 12103,1; //Bloody_Dead_Branch
 		}
-		getexp 80000,0;
+		getexp (checkre(3))?100000:800000,0;
 		mes "^3355FFWell, you've done all";
 		mes "that you could here.";
 		mes "Now would be a good time";

+ 4 - 3
npc/quests/seals/brisingamen_seal.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= SinSloth
 //===== Current Version: ===================================== 
-//= 1.5
+//= 1.6
 //===== Compatible With: ===================================== 
 //= rAthena
 //===== Description: ========================================= 
@@ -17,6 +17,7 @@
 //= 1.3a Changed some " + name +" to strcharinfo(0) [Samuray22]
 //= 1.4 Replaced effect numerics with constants. [Samuray22]
 //= 1.5 Corrected serverwide announcement. [L0ne_W0lf]
+//= 1.6 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================
 
 prt_fild08,175,374,3	script	Bard#brising	51,{
@@ -888,10 +889,10 @@ yuno_in04,47,113,1	script	Studying Scholar#1	749,{
 				next;
 				mes "[Enrico Kaili]";
 				mes "Please...";
-				mes "Take this";
+				mes "Take this.";
 				set god_brising,50;
 				getitem 616,1; // Old_Card_Album
-				getexp 60000,0;
+				getexp 600000,0; //unconfirmed
 				next;
 				mes "[Enrico Kaili]";
 				mes "Please accept this as my way of thanking you for assisting in my";

+ 65 - 4
npc/quests/seals/megingard_seal.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= SinSloth
 //===== Current Version: ===================================== 
-//= 1.9
+//= 2.0
 //===== Compatible With: ===================================== 
 //= rAthena
 //===== Description: ========================================= 
@@ -19,6 +19,7 @@
 //= 1.7 Replaced effect numerics with constants. [Samuray22]
 //= 1.8 Corrected how exp reward is applied. [L0ne_W0lf]
 //= 1.9 Fixed some input checks and variable types. [brianluau]
+//= 2.0 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================
 
 prt_castle,44,151,0	script	Rebarev Doug	56,{
@@ -2648,7 +2649,27 @@ aldebaran,66,213,0	script	Lady#megin	69,{
 			mes "I really appreciate you coming here to talk to me about the old days. I, I want you to have this.";
 			set god_eremes,28;
 			getitem 603,1; // Old_Blue_Box
-			getexp 122036,0;
+			if (checkre(3)) {
+				if (BaseLevel < 56) getexp 2700,0;
+				else if ((BaseLevel > 55) && (BaseLevel < 61)) getexp 3000,0;
+				else if ((BaseLevel > 60) && (BaseLevel < 66)) getexp 5605,0;
+				else if ((BaseLevel > 65) && (BaseLevel < 71)) getexp 8223,0;
+				else if ((BaseLevel > 70) && (BaseLevel < 76)) getexp 21227,0;
+				else if ((BaseLevel > 75) && (BaseLevel < 81)) getexp 39073,0;
+				else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 45102,0;
+				else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 54615,0;
+				else getexp 122035,0;
+			} else {
+				if (BaseLevel < 56) getexp 27000,0;
+				else if ((BaseLevel > 55) && (BaseLevel < 61)) getexp 30000,0;
+				else if ((BaseLevel > 60) && (BaseLevel < 66)) getexp 56052,0;
+				else if ((BaseLevel > 65) && (BaseLevel < 71)) getexp 82233,0;
+				else if ((BaseLevel > 70) && (BaseLevel < 76)) getexp 212271,0;
+				else if ((BaseLevel > 75) && (BaseLevel < 81)) getexp 390738,0;
+				else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 451020,0;
+				else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 546156,0;
+				else getexp 1220358,0;
+			}
 			close;
 		}
 		else if (god_eremes == 28) {
@@ -3167,7 +3188,27 @@ niflheim,109,254,0	script	Egnigem	796,{
 			specialeffect EF_LOCKON;
 			specialeffect2 EF_HOLYCROSS;
 			set god_eremes,27;
-			getexp 122036,0;
+			if (checkre(3)) {
+				if (BaseLevel < 56) getexp 2700,0;
+				else if ((BaseLevel > 55) && (BaseLevel < 61)) getexp 3000,0;
+				else if ((BaseLevel > 60) && (BaseLevel < 66)) getexp 5605,0;
+				else if ((BaseLevel > 65) && (BaseLevel < 71)) getexp 8223,0;
+				else if ((BaseLevel > 70) && (BaseLevel < 76)) getexp 21227,0;
+				else if ((BaseLevel > 75) && (BaseLevel < 81)) getexp 39073,0;
+				else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 45102,0;
+				else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 54615,0;
+				else getexp 122035,0;
+			} else {
+				if (BaseLevel < 56) getexp 27000,0;
+				else if ((BaseLevel > 55) && (BaseLevel < 61)) getexp 30000,0;
+				else if ((BaseLevel > 60) && (BaseLevel < 66)) getexp 56052,0;
+				else if ((BaseLevel > 65) && (BaseLevel < 71)) getexp 82233,0;
+				else if ((BaseLevel > 70) && (BaseLevel < 76)) getexp 212271,0;
+				else if ((BaseLevel > 75) && (BaseLevel < 81)) getexp 390738,0;
+				else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 451020,0;
+				else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 546156,0;
+				else getexp 1220358,0;
+			}
 			close;
 		}
 		else if (god_eremes == 26) {
@@ -3205,7 +3246,27 @@ niflheim,109,254,0	script	Egnigem	796,{
 			specialeffect EF_LOCKON;
 			specialeffect2 EF_HOLYCROSS;
 			set god_eremes,27;
-			getexp 122036,0;
+			if (checkre(3)) {
+				if (BaseLevel < 56) getexp 2700,0;
+				else if ((BaseLevel > 55) && (BaseLevel < 61)) getexp 3000,0;
+				else if ((BaseLevel > 60) && (BaseLevel < 66)) getexp 5605,0;
+				else if ((BaseLevel > 65) && (BaseLevel < 71)) getexp 8223,0;
+				else if ((BaseLevel > 70) && (BaseLevel < 76)) getexp 21227,0;
+				else if ((BaseLevel > 75) && (BaseLevel < 81)) getexp 39073,0;
+				else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 45102,0;
+				else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 54615,0;
+				else getexp 122035,0;
+			} else {
+				if (BaseLevel < 56) getexp 27000,0;
+				else if ((BaseLevel > 55) && (BaseLevel < 61)) getexp 30000,0;
+				else if ((BaseLevel > 60) && (BaseLevel < 66)) getexp 56052,0;
+				else if ((BaseLevel > 65) && (BaseLevel < 71)) getexp 82233,0;
+				else if ((BaseLevel > 70) && (BaseLevel < 76)) getexp 212271,0;
+				else if ((BaseLevel > 75) && (BaseLevel < 81)) getexp 390738,0;
+				else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 451020,0;
+				else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 546156,0;
+				else getexp 1220358,0;
+			}
 			close;
 		}
 		else if (god_eremes < 20) {

+ 2 - 2
npc/quests/skills/archer_skills.txt

@@ -82,7 +82,7 @@ moc_ruins,118,99,5	script	Roberto	88,{
 				mes "Isn't it hard to find arrows?";
 				mes "That's why I make my own.";
 				next;
-				menu "Eh, really?!",-;
+				select("Eh, really?!");
 				mes "[Roberto]";
 				mes "Yeah! I gather different items";
 				mes "and make arrows using them.";
@@ -90,7 +90,7 @@ moc_ruins,118,99,5	script	Roberto	88,{
 				mes "survive alone in this tough world.";
 				mes "If you'd like, I can teach you.";
 				next;
-				menu "That would be wonderful.",-;
+				select("That would be wonderful.");
 				mes "[Roberto]";
 				mes "But.. I can't do it for free.";
 				mes "Nothing is free in this world~";

+ 2 - 2
npc/quests/skills/swordman_skills.txt

@@ -55,7 +55,7 @@ izlude_in,175,130,2	script	Knight De Thomas	98,4,4,{
 			mes "Bring your armor!";
 			mes "Last but not least... bring me one ^008800Moth Wing^000000.";
 			next;
-			menu "Eh? You need that, too?",-;
+			select("Eh? You need that, too?");
 			mes "[De Thomas]";
 			mes "Not really.. I don't really NEED it.";
 			mes "It's just that my niece has gotten a bug hunting as a holiday task during the summer vacation.";
@@ -208,7 +208,7 @@ prt_in,75,88,5	script	Leon Von Frich	85,3,3,{
 		mes "[Leon]";
 		mes "Wow, seeing your arm, you must enjoy using bash?";
 		next;
-		menu "Eh, I.. just...",-;
+		select("Eh, I... just...");
 		mes "[Leon]";
 		if (Sex == 0) {
 			mes "No need to be surprised.";

+ 145 - 65
npc/quests/the_sign_quest.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= SinSloth, MasterOfMuppets, Kargha
 //===== Current Version: ===================================== 
-//= 3.8
+//= 3.9
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -26,6 +26,7 @@
 //= 3.6 Corrected the Level Requirements for 'Standby Room' [tr0n]
 //= 3.7 Massive cleaning/optimization (more can still be done). [Euphy]
 //= 3.8 Corrected an invalid map name. [Joseph]
+//= 3.9 Updated RE/Pre-RE EXP. [Euphy]
 //============================================================ 
 
 // The Sign (Part 1)
@@ -694,7 +695,7 @@ prt_in,227,45,0	script	Archeologist#sign	804,{
 			mes "You may have had your doubts,";
 			mes "but I'm happy enough to confirm that the Sign really exists. Thanks again, and I hope you stop by and chat from time to time.";
 			set sign_q,142;
-			getexp 200000,0;
+			getexp (checkre(3))?200000:2000000,0;
 		}
 		else {
 			mes "Have you visited";
@@ -727,7 +728,7 @@ prt_in,227,45,0	script	Archeologist#sign	804,{
 		}
 		delitem 7178,1; //Star's_Sob
 		set sign_q,202;
-		getexp 10000,0;
+		getexp (checkre(3))?10000:100000,0;
 		getitem 617,1; //Old_Violet_Box
 	}
 	else if (sign_q > 201) {
@@ -1495,11 +1496,19 @@ morocc_in,115,154,5	script	Rogue#sign	810,{
 			mes "you gave Ganaan tell me";
 			mes "you're not a total dumbass.";
 			mes "Now you're supposed to go see Daewoon in Payon. And don't forget to show him this Star thingee.";
-			if (BaseLevel < 60) getexp 300,0;
-			else if (BaseLevel < 70) getexp 750,0;
-			else if (BaseLevel < 80) getexp 1000,0;
-			else if (BaseLevel < 90) getexp 1300,0;
-			else if (BaseLevel < 150) getexp 1800,0;
+			if (checkre(3)) {
+				if (BaseLevel < 60) getexp 300,0;
+				else if (BaseLevel < 70) getexp 750,0;
+				else if (BaseLevel < 80) getexp 1000,0;
+				else if (BaseLevel < 90) getexp 1300,0;
+				else getexp 1800,0;
+			} else {
+				if (BaseLevel < 60) getexp 3000,0;
+				else if (BaseLevel < 70) getexp 7500,0;
+				else if (BaseLevel < 80) getexp 10000,0;
+				else if (BaseLevel < 90) getexp 13000,0;
+				else getexp 18000,0;
+			}
 			set sign_q,14;
 			getitem 7177,1; //Part_Of_Star's_Sob
 			close;
@@ -2357,11 +2366,19 @@ payon_in03,11,31,4	script	Daewoon#sign	808,{
 			if (.@pay_point > 29) {
 				set sign_q,15;
 				getitem 7177,1; //Part_Of_Star's_Sob
-				if (BaseLevel < 60) getexp 300,0;
-				else if (BaseLevel < 70) getexp 700,0;
-				else if (BaseLevel < 80) getexp 1000,0;
-				else if (BaseLevel < 90) getexp 1300,0;
-				else if (BaseLevel < 150) getexp 1800,0;
+				if (checkre(3)) {
+					if (BaseLevel < 60) getexp 300,0;
+					else if (BaseLevel < 70) getexp 750,0;
+					else if (BaseLevel < 80) getexp 1000,0;
+					else if (BaseLevel < 90) getexp 1300,0;
+					else getexp 1800,0;
+				} else {
+					if (BaseLevel < 60) getexp 3000,0;
+					else if (BaseLevel < 70) getexp 7500,0;
+					else if (BaseLevel < 80) getexp 10000,0;
+					else if (BaseLevel < 90) getexp 13000,0;
+					else getexp 18000,0;
+				}
 				emotion e_heh;
 				mes "[Daewoon]";
 				mes "Well, I must say that I've";
@@ -2393,11 +2410,19 @@ payon_in03,11,31,4	script	Daewoon#sign	808,{
 			else if ((.@pay_point > 26) && (.@pay_point < 30)) {
 				set sign_q,15;
 				getitem 7177,1; //Part_Of_Star's_Sob
-				if (BaseLevel < 60) getexp 300,0;
-				else if (BaseLevel < 70) getexp 700,0;
-				else if (BaseLevel < 80) getexp 1000,0;
-				else if (BaseLevel < 90) getexp 1300,0;
-				else if (BaseLevel < 150) getexp 1800,0;
+				if (checkre(3)) {
+					if (BaseLevel < 60) getexp 300,0;
+					else if (BaseLevel < 70) getexp 750,0;
+					else if (BaseLevel < 80) getexp 1000,0;
+					else if (BaseLevel < 90) getexp 1300,0;
+					else getexp 1800,0;
+				} else {
+					if (BaseLevel < 60) getexp 3000,0;
+					else if (BaseLevel < 70) getexp 7500,0;
+					else if (BaseLevel < 80) getexp 10000,0;
+					else if (BaseLevel < 90) getexp 13000,0;
+					else getexp 18000,0;
+				}
 				mes "[Daewoon]";
 				mes "You know, after talking with";
 				mes "you for a while, I now feel fairly comfortable with leaving you this piece of the Sobbing Starlight. Somehow, I think you're strong enough to get all the pieces.";
@@ -3067,11 +3092,13 @@ OnTouch:
 	end;
 }
 
-//prt_maze02,25,161,0	script	#music	-1,7,7,{
-//OnTouch:
-//	soundeffect "effect\\¼®¾çÀÇ ¾î½Ø½Å.wav",1;
-//	end;
-//}
+/* Currently broken.
+prt_maze02,25,161,0	script	#music	-1,7,7,{
+OnTouch:
+	soundeffect "effect\\¼®¾çÀÇ ¾î½Ø½Å.wav",1;
+	end;
+}
+*/
 
 prt_maze02,132,132,0	script	#skill	-1,{
 OnEnable:
@@ -4615,11 +4642,19 @@ cmd_in02,88,51,4	script	Strange Guy#sign	806,{
 				if (countitem(750)) delitem 750,1; //Baphomet_Doll
 				if (countitem(751)) delitem 751,1; //Osiris_Doll
 				set sign_q,30;
-				if (BaseLevel < 60) getexp 300,0;
-				else if (BaseLevel < 70) getexp 500,0;
-				else if (BaseLevel < 80) getexp 800,0;
-				else if (BaseLevel < 90) getexp 1000,0;
-				else if (BaseLevel < 150) getexp 1300,0;
+				if (checkre(3)) {
+					if (BaseLevel < 60) getexp 300,0;
+					else if (BaseLevel < 70) getexp 500,0;
+					else if (BaseLevel < 80) getexp 800,0;
+					else if (BaseLevel < 90) getexp 1000,0;
+					else getexp 1300,0;
+				} else {
+					if (BaseLevel < 60) getexp 3000,0;
+					else if (BaseLevel < 70) getexp 5000,0;
+					else if (BaseLevel < 80) getexp 8000,0;
+					else if (BaseLevel < 90) getexp 10000,0;
+					else getexp 13000,0;
+				}
 				next;
 				warp "cmd_in01",33,29;
 				end;
@@ -4698,11 +4733,19 @@ cmd_in02,88,51,4	script	Strange Guy#sign	806,{
 			mes "um, ''Bakerlan'' in Alberta.";
 			set sign_q,35;
 			getitem 7177,1; //Part_Of_Star's_Sob
-			if (BaseLevel < 60) getexp 300,0;
-			else if (BaseLevel < 70) getexp 700,0;
-			else if (BaseLevel < 80) getexp 1900,0;
-			else if (BaseLevel < 90) getexp 1200,0;
-			else if (BaseLevel < 150) getexp 1700,0;
+			if (checkre(3)) {
+				if (BaseLevel < 60) getexp 300,0;
+				else if (BaseLevel < 70) getexp 700,0;
+				else if (BaseLevel < 80) getexp 1900,0;
+				else if (BaseLevel < 90) getexp 1200,0;
+				else getexp 1700,0;
+			} else {
+				if (BaseLevel < 60) getexp 3000,0;
+				else if (BaseLevel < 70) getexp 7000,0;
+				else if (BaseLevel < 80) getexp 19000,0;
+				else if (BaseLevel < 90) getexp 12000,0;
+				else getexp 17000,0;
+			}
 			next;
 			mes "[Dearles]";
 			mes "Well, that's it.";
@@ -4728,11 +4771,19 @@ cmd_in02,88,51,4	script	Strange Guy#sign	806,{
 			set sign_q,35;
 			getitem 7177,1; //Part_Of_Star's_Sob
 			set zeny,zeny+20000;
-			if (BaseLevel < 60) getexp 300,0;
-			else if (BaseLevel < 70) getexp 700,0;
-			else if (BaseLevel < 80) getexp 1000,0;
-			else if (BaseLevel < 90) getexp 1400,0;
-			else if (BaseLevel < 150) getexp 1900,0;
+			if (checkre(3)) {
+				if (BaseLevel < 60) getexp 300,0;
+				else if (BaseLevel < 70) getexp 700,0;
+				else if (BaseLevel < 80) getexp 1000,0;
+				else if (BaseLevel < 90) getexp 1400,0;
+				else getexp 1900,0;
+			} else {
+				if (BaseLevel < 60) getexp 3000,0;
+				else if (BaseLevel < 70) getexp 7000,0;
+				else if (BaseLevel < 80) getexp 10000,0;
+				else if (BaseLevel < 90) getexp 14000,0;
+				else getexp 19000,0;
+			}
 			next;
 			mes "[Dearles]";
 			mes "Well, that's it.";
@@ -5591,11 +5642,19 @@ alberta_in,125,101,5	script	Wealthy-looking Merchant	807,{
 		mes "He will tell you what you need to do next.";
 		set sign_q,53;
 		getitem 7177,1; //Part_Of_Star's_Sob
-		if (BaseLevel < 60) getexp 500,0;
-		else if (BaseLevel < 70) getexp 800,0;
-		else if (BaseLevel < 80) getexp 1100,0;
-		else if (BaseLevel < 90) getexp 1500,0;
-		else if (BaseLevel < 150) getexp 2000,0;
+		if (checkre(3)) {
+			if (BaseLevel < 60) getexp 500,0;
+			else if (BaseLevel < 70) getexp 800,0;
+			else if (BaseLevel < 80) getexp 1100,0;
+			else if (BaseLevel < 90) getexp 1500,0;
+			else getexp 2000,0;
+		} else {
+			if (BaseLevel < 60) getexp 5000,0;
+			else if (BaseLevel < 70) getexp 8000,0;
+			else if (BaseLevel < 80) getexp 11000,0;
+			else if (BaseLevel < 90) getexp 15000,0;
+			else getexp 20000,0;
+		}
 		close;
 	}
 	else if (sign_q == 97) {
@@ -6797,11 +6856,19 @@ yuno,330,100,4	script	Knight#ss	734,{
 				delitem2 7049,1,1,0,0,.@sign1,.@sign2,.@sign3,.@sign4;
 				set sign_q,39;
 				getitem 7181,1; //Receipt_01
-				if (BaseLevel < 60) getexp 100,0;
-				else if (BaseLevel < 70) getexp 200,0;
-				else if (BaseLevel < 80) getexp 400,0;
-				else if (BaseLevel < 90) getexp 700,0;
-				else if (BaseLevel < 150) getexp 1100,0;
+				if (checkre(3)) {
+					if (BaseLevel < 60) getexp 100,0;
+					else if (BaseLevel < 70) getexp 200,0;
+					else if (BaseLevel < 80) getexp 400,0;
+					else if (BaseLevel < 90) getexp 700,0;
+					else getexp 1100,0;
+				} else {
+					if (BaseLevel < 60) getexp 1000,0;
+					else if (BaseLevel < 70) getexp 2000,0;
+					else if (BaseLevel < 80) getexp 4000,0;
+					else if (BaseLevel < 90) getexp 7000,0;
+					else getexp 11000,0;
+				}
 				close;
 			}
 		}
@@ -7105,7 +7172,7 @@ mjo_dun02,88,295,4	script	Flaming Spirit Man	85,{
 				mes "If it weren't for your help,";
 				mes "I'd be in big trouble. I really appreciate you stepping in and volunteering your materials like this.";
 				delitem 1002,1; //Iron_Ore
-				getexp 1,0;
+				getexp 10,0;
 				close;
 			case 2:
 				mes "[Engel]";
@@ -8180,15 +8247,27 @@ himinn,48,86,5	script	Valkyrie#sign	811,{
 		mes "one of the hearts there...";
 		set sign_q,82;
 		percentheal 100,100;
-		if (BaseLevel < 56) getexp 900,0;
-		else if ((BaseLevel > 55) && (BaseLevel < 61)) getexp 1200,0;
-		else if ((BaseLevel > 60) && (BaseLevel < 66)) getexp 2000,0;
-		else if ((BaseLevel > 65) && (BaseLevel < 71)) getexp 3500,0;
-		else if ((BaseLevel > 70) && (BaseLevel < 76)) getexp 7000,0;
-		else if ((BaseLevel > 75) && (BaseLevel < 81)) getexp 12000,0;
-		else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 16000,0;
-		else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 21000,0;
-		else if (BaseLevel > 90) getexp 35000,0;
+		if (checkre(3)) {
+			if (BaseLevel < 56) getexp 900,0;
+			else if ((BaseLevel > 55) && (BaseLevel < 61)) getexp 1200,0;
+			else if ((BaseLevel > 60) && (BaseLevel < 66)) getexp 2000,0;
+			else if ((BaseLevel > 65) && (BaseLevel < 71)) getexp 3500,0;
+			else if ((BaseLevel > 70) && (BaseLevel < 76)) getexp 7000,0;
+			else if ((BaseLevel > 75) && (BaseLevel < 81)) getexp 12000,0;
+			else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 16000,0;
+			else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 21000,0;
+			else getexp 35000,0;
+		} else {
+			if (BaseLevel < 56) getexp 9000,0;
+			else if ((BaseLevel > 55) && (BaseLevel < 61)) getexp 12000,0;
+			else if ((BaseLevel > 60) && (BaseLevel < 66)) getexp 20000,0;
+			else if ((BaseLevel > 65) && (BaseLevel < 71)) getexp 35000,0;
+			else if ((BaseLevel > 70) && (BaseLevel < 76)) getexp 70000,0;
+			else if ((BaseLevel > 75) && (BaseLevel < 81)) getexp 120000,0;
+			else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 160000,0;
+			else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 210000,0;
+			else getexp 350000,0;
+		}
 		close2;
 		warp "geffen",120,100;
 		end;
@@ -8458,7 +8537,7 @@ que_sign01,196,39,4	script	Serin#serin	90,{
 				mes "ask the Dark Lord to spare";
 				mes "you. Thank you so much...";
 				set sign_q,200;
-				getexp 20000,0;
+				getexp (checkre(3))?20000:200000,0;
 				set $@sign_w2,0;
 				donpcevent "Dark Lord#serin::OnDisable";
 				close2;
@@ -8729,7 +8808,7 @@ que_sign01,197,195,4	script	Serin#witch	90,{
 				mes "ask the Dark Lord to spare";
 				mes "you. Thank you so much...";
 				set sign_q,200;
-				getexp 20000,0;
+				getexp (checkre(3))?20000:200000,0;
 				set $@sign_w1,0;
 				close2;
 				warp "umbala,",132,203;
@@ -9475,7 +9554,7 @@ niflheim,313,70,4	script	Pleasant-Featured Lady#s	90,{
 				mes "the faint smile on her lips tell you that her memories of you";
 				mes "will always remain in her heart.^000000";
 				delitem 2643,1; //Serin's_Gold_Ring_
-				getexp 50000,0;
+				getexp (checkre(3))?50000:500000,0;
 				close;
 			case 2:
 				emotion e_sob;
@@ -10237,7 +10316,7 @@ que_sign01,122,141,4	script	Witch#s	792,{
 				mes "please visit our queen, Lady Hell. I believe she wants to see you for some reason, "+strcharinfo(0)+"...";
 				delitem 7313,5; //Seal_Of_Witch
 				set sign_q,129;
-				getexp 50000,0;
+				getexp (checkre(3))?50000:500000,0;
 				close;
 			}
 		}
@@ -10266,7 +10345,7 @@ que_sign01,122,141,4	script	Witch#s	792,{
 				mes "please visit our queen, Lady Hell. I believe she wants to see you for some reason...";
 				delitem 7313,5; //Seal_Of_Witch
 				set sign_q,130;
-				getexp 30000,0;
+				getexp (checkre(3))?30000:300000,0;
 				close;
 			}
 		}
@@ -10292,7 +10371,7 @@ que_sign01,122,141,4	script	Witch#s	792,{
 		mes "please visit our queen, Lady Hell. I believe she wants to see you for some reason...";
 		if (countitem(2643) == 1) set sign_q,129;
 		else set sign_q,130;
-		getexp 30000,0;
+		getexp (checkre(3))?30000:300000,0;
 		close;
 	}
 	else if (sign_q == 200) {
@@ -10322,7 +10401,7 @@ que_sign01,122,141,4	script	Witch#s	792,{
 		if (countitem(2642) > 0) delitem 2642,1; //Serin's_Gold_Ring
 		if (countitem(7308) > 0) delitem 7308,1; //Witch's_Potion
 		set sign_q,201;
-		getexp 20000,0;
+		getexp (checkre(3))?20000:200000,0;
 		close;
 	}
 	else if (sign_q > 200) {
@@ -12594,3 +12673,4 @@ function	script	F_UpdateSignVars	{
 //= 2.8 Fixed some bugs with itemids and leftover questitems [Fish0r]
 //= 2.9 Made a delitem causing script to fault use countitem when deleting. [L0ne_W0lf]
 //= 2.9a Added a check for Sign_Branch8A before attempting to run a delitem on items not needed based on Path taken. [Paradox924X]
+//============================================================

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini