Browse Source

* Updated "Fish Tails" NPC in El Dicastes quests and some adjusting of official coordinates (Hercules).
* Updated custom Warper to v1.3, which adds full support for both Pre-Renewal and Renewal.
* Shifted some coordinates in custom Warper and Healer scripts to more closely match @go.

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

euphyy 12 years ago
parent
commit
54f41e69bc

+ 1 - 1
conf/help.txt

@@ -317,4 +317,4 @@ reload: "Params: <type>\n" "Reload a database or configuration file.\n"
 	"   atcommand       battleconf     statusdb\n"
 	"   atcommand       battleconf     statusdb\n"
 	"   pcdb                    motd             script\n"
 	"   pcdb                    motd             script\n"
 	"   questdb              msgconf       packetdb\n"
 	"   questdb              msgconf       packetdb\n"
-langtype: "Params: <lanauage>\n" "Changes your language setting."
+langtype: "Params: <language>\n" "Changes your language setting."

+ 29 - 18
npc/custom/healer.txt

@@ -3,15 +3,18 @@
 //===== By: ==================================================
 //===== By: ==================================================
 //= Euphy
 //= Euphy
 //===== Current Version: =====================================
 //===== Current Version: =====================================
-//= 1.0a
+//= 1.1
 //===== Compatible With: =====================================
 //===== Compatible With: =====================================
 //= rAthena SVN
 //= rAthena SVN
 //===== Description: =========================================
 //===== Description: =========================================
 //= Basic healer script.
 //= Basic healer script.
+//===== Additional Comments: =================================
+//= 1.0 Initial script.
+//= 1.1 Aligned coordinates with @go.
 //============================================================
 //============================================================
 
 
 -	script	Healer	-1,{
 -	script	Healer	-1,{
-	
+
 	set .@Price,0;	// Zeny required for heal
 	set .@Price,0;	// Zeny required for heal
 	set .@Buffs,0;	// Also buff players? (1: yes / 0: no)
 	set .@Buffs,0;	// Also buff players? (1: yes / 0: no)
 	set .@Delay,0;	// Heal delay, in seconds
 	set .@Delay,0;	// Heal delay, in seconds
@@ -32,37 +35,45 @@
 	end;
 	end;
 }
 }
 
 
+
+// Duplicates
+//============================================================
 alberta,25,240,6	duplicate(Healer)	Healer#alb	909
 alberta,25,240,6	duplicate(Healer)	Healer#alb	909
 aldebaran,135,118,6	duplicate(Healer)	Healer#alde	909
 aldebaran,135,118,6	duplicate(Healer)	Healer#alde	909
 amatsu,200,79,4	duplicate(Healer)	Healer#ama	909
 amatsu,200,79,4	duplicate(Healer)	Healer#ama	909
 ayothaya,207,169,6	duplicate(Healer)	Healer#ayo	909
 ayothaya,207,169,6	duplicate(Healer)	Healer#ayo	909
-brasilis,194,221,6	duplicate(Healer)	Healer#bra	909
 comodo,184,158,6	duplicate(Healer)	Healer#com	909
 comodo,184,158,6	duplicate(Healer)	Healer#com	909
-dewata,193,175,6	duplicate(Healer)	Healer#dew	909
-eclage,105,35,4	duplicate(Healer)	Healer#ecl	909
-einbech,142,244,4	duplicate(Healer)	Healer#einbe	909
+einbech,57,36,6	duplicate(Healer)	Healer#einbe	909
 einbroch,57,202,6	duplicate(Healer)	Healer#einbr	909
 einbroch,57,202,6	duplicate(Healer)	Healer#einbr	909
-dicastes01,201,194,4	duplicate(Healer)	Healer#dic	909
 geffen,115,72,6	duplicate(Healer)	Healer#gef	909
 geffen,115,72,6	duplicate(Healer)	Healer#gef	909
 gonryun,156,122,6	duplicate(Healer)	Healer#gon	909
 gonryun,156,122,6	duplicate(Healer)	Healer#gon	909
 hugel,89,150,6	duplicate(Healer)	Healer#hug	909
 hugel,89,150,6	duplicate(Healer)	Healer#hug	909
 izlude,125,118,5	duplicate(Healer)	Healer#izl	909
 izlude,125,118,5	duplicate(Healer)	Healer#izl	909
-lighthalzen,149,103,6	duplicate(Healer)	Healer#li	909
-louyang,225,103,4	duplicate(Healer)	Healer#lou	909
-malangdo,132,114,6	duplicate(Healer)	Healer#mal	909
-malaya,205,205,6	duplicate(Healer)	Healer#malay	909
-manuk,256,176,6	duplicate(Healer)	Healer#man	909
+jawaii,250,139,4	duplicate(Healer)	Healer#jaw	909
+lighthalzen,152,100,6	duplicate(Healer)	Healer#lhz	909
+louyang,226,103,4	duplicate(Healer)	Healer#lou	909
+manuk,272,144,6	duplicate(Healer)	Healer#man	909
 mid_camp,203,289,6	duplicate(Healer)	Healer#mid	909
 mid_camp,203,289,6	duplicate(Healer)	Healer#mid	909
-mora,55,152,4	duplicate(Healer)	Healer#mora	909
+moc_ruins,72,164,4	duplicate(Healer)	Healer#moc	909
 morocc,153,97,6	duplicate(Healer)	Healer#mor	909
 morocc,153,97,6	duplicate(Healer)	Healer#mor	909
-moscovia,215,194,6	duplicate(Healer)	Healer#mos	909
-niflheim,188,180,5	duplicate(Healer)	Healer#nif	909
+moscovia,220,191,4	duplicate(Healer)	Healer#mos	909
+niflheim,212,182,5	duplicate(Healer)	Healer#nif	909
 payon,179,106,4	duplicate(Healer)	Healer#pay	909
 payon,179,106,4	duplicate(Healer)	Healer#pay	909
-prontera,162,193,4	duplicate(Healer)	Healer#pront	909
+prontera,162,193,4	duplicate(Healer)	Healer#prt	909
 rachel,125,116,6	duplicate(Healer)	Healer#rac	909
 rachel,125,116,6	duplicate(Healer)	Healer#rac	909
 splendide,201,153,4	duplicate(Healer)	Healer#spl	909
 splendide,201,153,4	duplicate(Healer)	Healer#spl	909
 thor_camp,249,74,4	duplicate(Healer)	Healer#thor	909
 thor_camp,249,74,4	duplicate(Healer)	Healer#thor	909
-umbala,129,132,4	duplicate(Healer)	Healer#umb	909
+umbala,105,148,3	duplicate(Healer)	Healer#umb	909
 veins,217,121,4	duplicate(Healer)	Healer#ve	909
 veins,217,121,4	duplicate(Healer)	Healer#ve	909
-xmas,143,136,6	duplicate(Healer)	Healer#xmas	909
+xmas,143,136,4	duplicate(Healer)	Healer#xmas	909
 yuno,164,45,4	duplicate(Healer)	Healer#yuno	909
 yuno,164,45,4	duplicate(Healer)	Healer#yuno	909
+
+// Duplicates (Renewal)
+//============================================================
+brasilis,194,221,6	duplicate(Healer)	Healer#bra	909
+dewata,195,187,4	duplicate(Healer)	Healer#dew	909
+dicastes01,201,194,4	duplicate(Healer)	Healer#dic	909
+eclage,105,35,4	duplicate(Healer)	Healer#ecl	909
+malangdo,132,114,6	duplicate(Healer)	Healer#mal	909
+malaya,205,205,6	duplicate(Healer)	Healer#ma	909
+mora,55,152,4	duplicate(Healer)	Healer#mora	909

+ 5 - 4
npc/custom/jobmaster.txt

@@ -8,10 +8,11 @@
 //= rAthena SVN r16114+
 //= rAthena SVN r16114+
 //===== Description: =========================================
 //===== Description: =========================================
 //= A fully functional job changer.
 //= A fully functional job changer.
-//===== Additional Comments: =================================  
-//= 1.1 Fixed reset on Baby job change. [Euphy]
-//= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support. [Euphy]
-//= 1.3 Kagerou/Oboro added. [Euphy]
+//===== Additional Comments: =================================
+//= 1.0 Initial script.
+//= 1.1 Fixed reset on Baby job change.
+//= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support.
+//= 1.3 Kagerou/Oboro added.
 //============================================================
 //============================================================
 
 
 prontera,153,193,6	script	Job Master	123,{
 prontera,153,193,6	script	Job Master	123,{

+ 2 - 2
npc/custom/stylist.txt

@@ -8,12 +8,12 @@
 //= rAthena SVN
 //= rAthena SVN
 //===== Description: =========================================
 //===== Description: =========================================
 //= Changes your hair style, hair color, and cloth color.
 //= Changes your hair style, hair color, and cloth color.
-//===== Additional Comments: =================================  
+//===== Additional Comments: =================================
+//= 1.0 Initial script.
 //= 1.1 Switched to 'getbattleflag', credits to Saithis. [Euphy]
 //= 1.1 Switched to 'getbattleflag', credits to Saithis. [Euphy]
 //============================================================
 //============================================================
 
 
 prontera,170,180,1	script	Stylist#custom_stylist	122,{
 prontera,170,180,1	script	Stylist#custom_stylist	122,{
-
 	setarray .@Styles[1],getbattleflag("max_cloth_color"),getbattleflag("max_hair_style"),getbattleflag("max_hair_color");
 	setarray .@Styles[1],getbattleflag("max_cloth_color"),getbattleflag("max_hair_style"),getbattleflag("max_hair_color");
 	setarray .@Look[1],7,1,6;
 	setarray .@Look[1],7,1,6;
 	set .@s, select(" ~ Cloth color: ~ Hairstyle: ~ Hair color");
 	set .@s, select(" ~ Cloth color: ~ Hairstyle: ~ Hair color");

+ 278 - 197
npc/custom/warper.txt

@@ -3,27 +3,34 @@
 //===== By: ================================================== 
 //===== By: ================================================== 
 //= Euphy
 //= Euphy
 //===== Current Version: =====================================
 //===== Current Version: =====================================
-//= 1.2a
+//= 1.3
 //===== Compatible With: =====================================
 //===== Compatible With: =====================================
 //= rAthena SVN
 //= rAthena SVN
 //===== Description: ========================================= 
 //===== Description: ========================================= 
 //= A complete - but very condensed - warper script.
 //= A complete - but very condensed - warper script.
-//= Coordinates written largely by Tekno-Kanix and ToastOfDoom.
+//= Some coordinates written by Tekno-Kanix and ToastOfDoom.
+//===== Additional Comments: =================================
+//= 1.0 Initial script.
+//= 1.1 Added missing duplicates and fixed coordinates.
+//= 1.2 Added new episodes and simplified functions.
+//= 1.3 Added Renewal checks and Instances menu.
+//=     Aligned coordinates with @go.
 //============================================================
 //============================================================
 
 
 -	script	Warper	-1,{
 -	script	Warper	-1,{
-function Go; function Disp; function Pick;
+function Go; function Disp; function Pick; function Restrict;
 
 
 // --------------------------------------------------
 // --------------------------------------------------
 //	Main Menu:
 //	Main Menu:
 // --------------------------------------------------
 // --------------------------------------------------
 
 
 menu	"Last Warp ^777777["+lastwarp$+"]^000000",-,
 menu	"Last Warp ^777777["+lastwarp$+"]^000000",-,
-	" ~ Towns",Towns, " ~ Fields",Fields, " ~ Dungeons",Dungeons,
-	" ~ Guild Castles",Castles, " ~ Special Areas",Special;
+	" ~ Towns",Towns, " ~ Fields",Fields,
+	" ~ Dungeons",Dungeons, " ~ Guild Castles",Castles,
+	" ~ Instances",Instances, " ~ Special Areas",Special;
 
 
 	if (lastwarp$ == "")
 	if (lastwarp$ == "")
-		dispbottom "You have not warped anywhere yet.";
+		message strcharinfo(0),"You haven't warped anywhere yet.";
 	else
 	else
 		warp lastwarp$,lastwarpx,lastwarpy;
 		warp lastwarp$,lastwarpx,lastwarpy;
 	end;
 	end;
@@ -31,12 +38,19 @@ menu	"Last Warp ^777777["+lastwarp$+"]^000000",-,
 // ------------------- Functions -------------------
 // ------------------- Functions -------------------
 // * Go("<map>",<x>,<y>);
 // * Go("<map>",<x>,<y>);
 //	~ Warps directly to a map.
 //	~ Warps directly to a map.
+//
 // * Disp("<Menu Option>",<first option>,<last option>);
 // * Disp("<Menu Option>",<first option>,<last option>);
 // * Pick("<map_prefix>"{,<index offset>});
 // * Pick("<map_prefix>"{,<index offset>});
-//	~ Dynamic menu and map selection.
-// * Disp("","<Option 1>:<Option 2>:<etc.>");
+//	~ Dynamic menu and map selection (auto-numbered).
+//
+// * Disp("<Option 1>:<Option 2>:<etc.>");
 // * Pick("","<map1>","<map2>","<etc.>");
 // * Pick("","<map1>","<map2>","<etc.>");
-//	~ Manual menu and map selection.
+//	~ Manual menu and map selection (listed).
+//
+// * Restrict("<RE | Pre-RE>"{,<menu option numbers>});
+//	~ Only allows map for Renewal or Pre-Renewal modes.
+//     If menu option numbers are given, only those maps
+//     will be restricted (i.e. not for "Go").
 //
 //
 // Other notes:
 // Other notes:
 //   ~ Array @c[] holds all (x,y) coordinates.
 //   ~ Array @c[] holds all (x,y) coordinates.
@@ -50,147 +64,191 @@ function Go {
 	end;
 	end;
 }
 }
 function Disp {
 function Disp {
-	set @menu$,"";
-	if(getarg(0)=="") {
-		set @menu$,getarg(1);
-		return;
+	if (getargcount() < 3)
+		set @menu$, getarg(0);
+	else {
+		set @menu$,"";
+		for(set .@i,getarg(1); .@i<=getarg(2); set .@i,.@i+1)
+			set @menu$, @menu$+getarg(0)+" "+.@i+":";
 	}
 	}
-	for(set .@i,getarg(1); .@i<=getarg(2); set .@i,.@i+1)
-		set @menu$, @menu$+getarg(0)+" "+.@i+":";
 	return;
 	return;
 }
 }
 function Pick {
 function Pick {
-	if(getarg(0)=="") {
-		set .@i, select(@menu$);
-		warp getarg(.@i),@c[.@i*2],@c[.@i*2+1];
+	set .@warp_block,@warp_block;
+	set @warp_block,0;
+	if (getarg(0) == "") {
+		set .@select, select(@menu$);
+		set .@i, .@select;
+		set .@map$, getarg(.@i);
 	} else {
 	} else {
-		set .@i, select(@menu$)-getarg(1,0);
-		warp getarg(0)+((.@i<10)?"0":"")+.@i,@c[.@i*2],@c[.@i*2+1];
+		set .@select, select(@menu$);
+		set .@i, .@select-getarg(1,0);
+		set .@map$, getarg(0)+((.@i<10)?"0":"")+.@i;
+	}
+	if (.@warp_block & (1<<.@select)) {
+		message strcharinfo(0),"This map is not enabled in "+((checkre(0))?"":"Pre-")+"Renewal.";
+		end;
 	}
 	}
+	warp .@map$,@c[.@i*2],@c[.@i*2+1];
 	getmapxy(lastwarp$,lastwarpx,lastwarpy,0);
 	getmapxy(lastwarp$,lastwarpx,lastwarpy,0);
+	deletearray @c[0],getarraysize(@c);
 	end;
 	end;
 }
 }
+function Restrict {
+	if ((getarg(0) == "RE" && !checkre(0)) || (getarg(0) == "Pre-RE" && checkre(0))) {
+		if (getarg(1,0)) {
+			set @warp_block,0;
+			for(set .@i,1; .@i<getargcount(); set .@i,.@i+1)
+				set @warp_block, @warp_block | (1<<getarg(.@i));
+		} else {
+			message strcharinfo(0),"This map is not enabled in "+((checkre(0))?"":"Pre-")+"Renewal.";
+			end;
+		}
+	}
+	return;
+}
 
 
 // --------------------------------------------------
 // --------------------------------------------------
 	Towns:
 	Towns:
 // --------------------------------------------------
 // --------------------------------------------------
 menu	"Prontera",T1, "Alberta",T2, "Aldebaran",T3, "Amatsu",T4, "Ayothaya",T5,
 menu	"Prontera",T1, "Alberta",T2, "Aldebaran",T3, "Amatsu",T4, "Ayothaya",T5,
-	"Brasilis",T6, "Comodo",T7, "Dewata",T33, "Eclage",T34, "Einbech",T8, 
-	"Einbroch",T9, "El Dicastes",T10, "Geffen",T11, "Gonryun",T12, "Hugel",T13,
-	"Izlude",T14, "Jawaii",T15, "Lighthalzen",T16, "Louyang",T17, "Lutie",T18,
-	"Malangdo",T35, "Malaya",T36, "Manuk",T19, "Midgarts Expedition Camp",T20,
-	"Mora",T21, "Morroc",T22, "Moscovia",T23, "Nameless Island",T24,
-	"Niflheim",T25, "Payon",T26, "Rachel",T27, "Splendide",T28, "Thor Camp",T29,
-	"Umbala",T30, "Veins",T31, "Yuno",T32;
+	"Brasilis",T6, "Comodo",T7, "Dewata",T8, "Eclage",T9, "Einbech",T10, 
+	"Einbroch",T11, "El Dicastes",T12, "Geffen",T13, "Gonryun",T14, "Hugel",T15,
+	"Izlude",T16, "Jawaii",T17, "Lighthalzen",T18, "Louyang",T19, "Lutie",T20,
+	"Malangdo",T21, "Malaya",T22, "Manuk",T23, "Midgarts Expedition Camp",T24,
+	"Mora",T25, "Morroc",T26, "Moscovia",T27, "Nameless Island",T28,
+	"Niflheim",T29, "Payon",T30, "Rachel",T31, "Splendide",T32, "Thor Camp",T33,
+	"Umbala",T34, "Veins",T35, "Yuno",T36;
 
 
 T1: Go("prontera",155,183);
 T1: Go("prontera",155,183);
 T2: Go("alberta",28,234);
 T2: Go("alberta",28,234);
 T3: Go("aldebaran",140,131);
 T3: Go("aldebaran",140,131);
 T4: Go("amatsu",198,84);
 T4: Go("amatsu",198,84);
 T5: Go("ayothaya",208,166);
 T5: Go("ayothaya",208,166);
-T6: Go("brasilis",195,220);
+T6: Restrict("RE");
+	Go("brasilis",196,217);
 T7: Go("comodo",209,143);
 T7: Go("comodo",209,143);
-T8: Go("einbech",138,243);
-T9: Go("einbroch",64,200);
-T10: Go("dicastes01",197,187);
-T11: Go("geffen",120,68);
-T12: Go("gonryun",160,121);
-T13: Go("hugel",96,145);
-T14: Go("izlude",128,114);
-T15: Go("jawaii",213,230);
-T16: Go("lighthalzen",158,92);
-T17: Go("louyang",217,100);
-T18: Go("xmas",147,134);
-T19: Go("manuk",260,175);
-T20: Go("mid_camp",210,288);
-T21: Go("mora",111,97);
-T22: Go("morocc",156,93);
-T23: Go("moscovia",219,193);
-T24: Go("nameless_n",256,215);
-T25: Go("niflheim",202,174);
-T26: Go("payon",179,100);
-T27: Go("rachel",130,111);
-T28: Go("splendide",200,153);
-T29: Go("thor_camp",246,68);
-T30: Go("umbala",127,128);
-T31: Go("veins",216,123);
-T32: Go("yuno",157,51);
-T33: Go("dewata",199,179);
-T34: Go("eclage",111,39);
-T35: Go("malangdo",224,184);
-T36: Go("malaya",212,206);
+T8: Restrict("RE");
+	Go("dewata",200,180);
+T9: Restrict("RE");
+	Go("eclage",110,39);
+T10: Go("einbech",63,35);
+T11: Go("einbroch",64,200);
+T12: Restrict("RE");
+	Go("dicastes01",198,187);
+T13: Go("geffen",119,59);
+T14: Go("gonryun",160,120);
+T15: Go("hugel",96,145);
+T16: Go("izlude",128,114);
+T17: Go("jawaii",251,132);
+T18: Go("lighthalzen",158,92);
+T19: Go("louyang",217,100);
+T20: Go("xmas",147,134);
+T21: Restrict("RE");
+	Go("malangdo",140,114);
+T22: Restrict("RE");
+	Go("malaya",212,206);
+T23: Go("manuk",282,138);
+T24: Go("mid_camp",210,288);
+T25: Restrict("RE");
+	Go("mora",55,146);
+T26: Go("morocc",156,93);
+T27: Go("moscovia",223,184);
+T28: Go("nameless_n",256,215);
+T29: Go("niflheim",202,174);
+T30: Go("payon",179,100);
+T31: Go("rachel",130,110);
+T32: Go("splendide",201,147);
+T33: Go("thor_camp",246,68);
+T34: Go("umbala",97,153);
+T35: Go("veins",216,123);
+T36: Go("yuno",157,51);
 
 
 // --------------------------------------------------
 // --------------------------------------------------
 	Fields:
 	Fields:
 // --------------------------------------------------
 // --------------------------------------------------
 menu	"Amatsu Fields",F1, "Ayothaya Fields",F2, "Bifrost Fields", F3,
 menu	"Amatsu Fields",F1, "Ayothaya Fields",F2, "Bifrost Fields", F3,
-	"Brasilis Fields",F4, "Comodo Fields",F5, "Dewata Fields",F26,
-	"Eclage Fields",F27, "Einbroch Fields",F6, "El Dicastes Fields",F7,
-	"Geffen Fields",F8, "Gonryun Fields",F9, "Hugel Fields",F10,
-	"Lighthalzen Fields",F11, "Louyang Field",F12, "Lutie Field",F13,
-	"Malaya Fields",F28, "Manuk Fields",F14, "Mjolnir Fields",F15,
-	"Moscovia Fields",F16, "Niflheim Fields",F17, "Payon Forests",F18,
-	"Prontera Fields",F19, "Rachel Fields",F20, "Sograt Deserts",F21,
-	"Splendide Fields",F22, "Umbala Fields",F23, "Veins Fields",F24,
-	"Yuno Fields",F25;
+	"Brasilis Fields",F4, "Comodo Fields",F5, "Dewata Fields",F6,
+	"Eclage Fields",F7, "Einbroch Fields",F8, "El Dicastes Fields",F9,
+	"Geffen Fields",F10, "Gonryun Fields",F11, "Hugel Fields",F12,
+	"Lighthalzen Fields",F13, "Louyang Field",F14, "Lutie Field",F15,
+	"Malaya Fields",F16, "Manuk Fields",F17, "Mjolnir Fields",F18,
+	"Moscovia Fields",F19, "Niflheim Fields",F20, "Payon Forests",F21,
+	"Prontera Fields",F22, "Rachel Fields",F23, "Sograt Deserts",F24,
+	"Splendide Fields",F25, "Umbala Fields",F26, "Veins Fields",F27,
+	"Yuno Fields",F28;
 
 
 F1: setarray @c[2],190,197;
 F1: setarray @c[2],190,197;
 	Disp("Amatsu Field",1,1); Pick("ama_fild");
 	Disp("Amatsu Field",1,1); Pick("ama_fild");
 F2: setarray @c[2],173,134,212,150;
 F2: setarray @c[2],173,134,212,150;
 	Disp("Ayothaya Field",1,2); Pick("ayo_fild");
 	Disp("Ayothaya Field",1,2); Pick("ayo_fild");
-F3: setarray @c[2],193,220,220,187;
+F3: Restrict("RE");
+	setarray @c[2],193,220,220,187;
 	Disp("Bifrost Field",1,2); Pick("bif_fild");
 	Disp("Bifrost Field",1,2); Pick("bif_fild");
-F4: setarray @c[2],74,32;
+F4: Restrict("RE");
+	setarray @c[2],74,32;
 	Disp("Brasilis Field",1,1); Pick("bra_fild");
 	Disp("Brasilis Field",1,1); Pick("bra_fild");
-F5: setarray @c[2],180,178,231,160,191,172,228,194,224,203,190,223,234,177,194,175,172,172;
+F5: Restrict("Pre-RE",5);
+	setarray @c[2],180,178,231,160,191,172,228,194,224,203,190,223,234,177,194,175,172,172;
 	Disp("Comodo Field",1,9); Pick("cmd_fild");
 	Disp("Comodo Field",1,9); Pick("cmd_fild");
-F6: setarray @c[2],142,225,182,141,187,228,185,173,216,173,195,148,272,220,173,214,207,174,196,200;
+F6: Restrict("RE");
+	setarray @c[2],371,212;
+	Disp("Dewata Field",1,1); Pick("dew_fild");
+F7: Restrict("RE");
+	setarray @c[2],97,314;
+	Disp("Eclage Field",1,1); Pick("ecl_fild");
+F8: Restrict("Pre-RE",2,10);
+	setarray @c[2],142,225,182,141,187,228,185,173,216,173,195,148,272,220,173,214,207,174,196,200;
 	Disp("Einbroch Field",1,10); Pick("ein_fild");
 	Disp("Einbroch Field",1,10); Pick("ein_fild");
-F7: setarray @c[2],143,132,143,217;
+F9: Restrict("RE");
+	setarray @c[2],143,132,143,217;
 	Disp("El Dicastes Field",1,2); Pick("dic_fild");
 	Disp("El Dicastes Field",1,2); Pick("dic_fild");
-F8: setarray @c[0],46,199,213,204,195,212,257,192,188,171,166,263,248,158,195,191,186,183,221,117,178,218,136,328,240,181,235,235,211,185;
+F10: Restrict("Pre-RE",13,15);
+	setarray @c[0],46,199,213,204,195,212,257,192,188,171,166,263,248,158,195,191,186,183,221,117,178,218,136,328,240,181,235,235,211,185;
 	Disp("Geffen Field",0,14); Pick("gef_fild",1);
 	Disp("Geffen Field",0,14); Pick("gef_fild",1);
-F9: setarray @c[2],220,227;
+F11: setarray @c[2],220,227;
 	Disp("Gonryun Field",1,1); Pick("gon_fild");
 	Disp("Gonryun Field",1,1); Pick("gon_fild");
-F10: setarray @c[2],268,101,222,193,232,185,252,189,196,106,216,220,227,197;
+F12: Restrict("Pre-RE",3,7);
+	setarray @c[2],268,101,222,193,232,185,252,189,196,106,216,220,227,197;
 	Disp("Hugel Field",1,7); Pick("hu_fild");
 	Disp("Hugel Field",1,7); Pick("hu_fild");
-F11: setarray @c[2],240,179,185,235,240,226;
+F13: setarray @c[2],240,179,185,235,240,226;
 	Disp("Lighthalzen Field",1,3); Pick("lhz_fild");
 	Disp("Lighthalzen Field",1,3); Pick("lhz_fild");
-F12: setarray @c[2],229,187;
+F14: setarray @c[2],229,187;
 	Disp("Louyang Field",1,1); Pick("lou_fild");
 	Disp("Louyang Field",1,1); Pick("lou_fild");
-F13: setarray @c[2],115,145;
+F15: setarray @c[2],115,145;
 	Disp("Lutie Field",1,1); Pick("xmas_fild");
 	Disp("Lutie Field",1,1); Pick("xmas_fild");
-F14: setarray @c[2],35,236,35,262,84,365;
+F16: Restrict("RE");
+	setarray @c[2],40,272,207,180;
+	Disp("Malaya Field",1,2); Pick("ma_fild");
+F17: setarray @c[2],35,236,35,262,84,365;
 	Disp("Manuk Field",1,3); Pick("man_fild");
 	Disp("Manuk Field",1,3); Pick("man_fild");
-F15: setarray @c[2],204,120,175,193,208,213,179,180,181,240,195,270,235,202,188,215,205,144,245,223,180,206,196,208;
+F18: setarray @c[2],204,120,175,193,208,213,179,180,181,240,195,270,235,202,188,215,205,144,245,223,180,206,196,208;
 	Disp("Mjolnir Field",1,12); Pick("mjolnir_");
 	Disp("Mjolnir Field",1,12); Pick("mjolnir_");
-F16: setarray @c[2],82,104,131,147;
+F19: setarray @c[2],82,104,131,147;
 	Disp("Moscovia Field",1,2); Pick("mosk_fild");
 	Disp("Moscovia Field",1,2); Pick("mosk_fild");
-F17: setarray @c[2],215,229,167,234;
+F20: setarray @c[2],215,229,167,234;
 	Disp("Niflheim Field",1,2); Pick("nif_fild");
 	Disp("Niflheim Field",1,2); Pick("nif_fild");
-F18: setarray @c[2],158,206,151,219,205,148,186,247,134,204,193,235,200,177,137,189,201,224,160,205,194,150;
+F21: Restrict("Pre-RE",5,11);
+	setarray @c[2],158,206,151,219,205,148,186,247,134,204,193,235,200,177,137,189,201,224,160,205,194,150;
 	Disp("Payon Forest",1,11); Pick("pay_fild");
 	Disp("Payon Forest",1,11); Pick("pay_fild");
-F19: setarray @c[0],208,227,190,206,240,206,190,143,307,252,239,213,185,188,193,194,187,218,210,183,195,149,198,164;
+F22: setarray @c[0],208,227,190,206,240,206,190,143,307,252,239,213,185,188,193,194,187,218,210,183,195,149,198,164;
 	Disp("Prontera Field",0,11); Pick("prt_fild",1);
 	Disp("Prontera Field",0,11); Pick("prt_fild",1);
-F20: setarray @c[2],192,162,235,166,202,206,202,208,225,202,202,214,263,196,217,201,87,121,277,181,221,185,175,200,174,197;
+F23: Restrict("Pre-RE",2,7,9,10,11,13);
+	setarray @c[2],192,162,235,166,202,206,202,208,225,202,202,214,263,196,217,201,87,121,277,181,221,185,175,200,174,197;
 	Disp("Rachel Field",1,13); Pick("ra_fild");
 	Disp("Rachel Field",1,13); Pick("ra_fild");
-F21: setarray @c[2],219,205,177,206,194,182,224,170,198,216,156,187,185,263,206,228,208,238,209,223,85,97,207,202,31,195,38,195;
-	Disp("","Sograt Desert 1:Sograt Desert 2:Sograt Desert 3:Sograt Desert 7:Sograt Desert 11:Sograt Desert 12:Sograt Desert 13:Sograt Desert 16:Sograt Desert 17:Sograt Desert 18:Sograt Desert 19:Sograt Desert 20:Sograt Desert 21:Sograt Desert 22");
+F24: setarray @c[2],219,205,177,206,194,182,224,170,198,216,156,187,185,263,206,228,208,238,209,223,85,97,207,202,31,195,38,195;
+	Disp("Sograt Desert 1:Sograt Desert 2:Sograt Desert 3:Sograt Desert 7:Sograt Desert 11:Sograt Desert 12:Sograt Desert 13:Sograt Desert 16:Sograt Desert 17:Sograt Desert 18:Sograt Desert 19:Sograt Desert 20:Sograt Desert 21:Sograt Desert 22");
 	Pick("","moc_fild01","moc_fild02","moc_fild03","moc_fild07","moc_fild11","moc_fild12","moc_fild13","moc_fild16","moc_fild17","moc_fild18","moc_fild19","moc_fild20","moc_fild21","moc_fild22");
 	Pick("","moc_fild01","moc_fild02","moc_fild03","moc_fild07","moc_fild11","moc_fild12","moc_fild13","moc_fild16","moc_fild17","moc_fild18","moc_fild19","moc_fild20","moc_fild21","moc_fild22");
-F22: setarray @c[2],175,186,236,184,188,204;
+F25: setarray @c[2],175,186,236,184,188,204;
 	Disp("Splendide Field",1,3); Pick("spl_fild");
 	Disp("Splendide Field",1,3); Pick("spl_fild");
-F23: setarray @c[2],217,206,223,221,237,215,202,197;
+F26: setarray @c[2],217,206,223,221,237,215,202,197;
 	Disp("Umbala Field",1,4); Pick("um_fild");
 	Disp("Umbala Field",1,4); Pick("um_fild");
-F24: setarray @c[2],186,175,196,370,222,45,51,250,202,324,150,223,149,307;
+F27: Restrict("Pre-RE",5);
+	setarray @c[2],186,175,196,370,222,45,51,250,202,324,150,223,149,307;
 	Disp("Veins Field",1,7); Pick("ve_fild");
 	Disp("Veins Field",1,7); Pick("ve_fild");
-F25: setarray @c[2],189,224,192,207,221,157,226,199,223,177,187,232,231,174,196,203,183,214,200,124,195,226,210,304;
+F28: Restrict("Pre-RE",5,10);
+	setarray @c[2],189,224,192,207,221,157,226,199,223,177,187,232,231,174,196,203,183,214,200,124,195,226,210,304;
 	Disp("Yuno Field",1,12); Pick("yuno_fild");
 	Disp("Yuno Field",1,12); Pick("yuno_fild");
-F26: setarray @c[2],371,212;
-	Disp("Dewata Field",1,1); Pick("dew_fild");
-F27: setarray @c[2],97,314;
-	Disp("Eclage Field",1,1); Pick("ecl_fild");
-F28: setarray @c[2],40,272,207,180;
-	Disp("Malaya Field",1,2); Pick("ma_fild");
 
 
 // --------------------------------------------------
 // --------------------------------------------------
 	Dungeons:
 	Dungeons:
@@ -198,16 +256,15 @@ F28: setarray @c[2],40,272,207,180;
 menu	"Abyss Lakes",D1, "Amatsu Dungeon",D2, "Anthell",D3,
 menu	"Abyss Lakes",D1, "Amatsu Dungeon",D2, "Anthell",D3,
 	"Ayothaya Dungeon",D4, "Beach Dungeon",D5, "Bio Labs",D6,
 	"Ayothaya Dungeon",D4, "Beach Dungeon",D5, "Bio Labs",D6,
 	"Brasilis Dungeon",D7, "Byalan Dungeon",D8, "Clock Tower",D9,
 	"Brasilis Dungeon",D7, "Byalan Dungeon",D8, "Clock Tower",D9,
-	"Coal Mines",D10, "Culvert",D11, "Cursed Abbey",D12, "Dewata Dungeon",D41,
-	"Einbroch Dungeon",D13, "Endless Tower",D14, "Gefenia",D15,
-	"Geffen Dungeon",D16, "Glast Heim",D17, "Gonryun Dungeon",D18,
-	"Guild Dungeons",GD, "Hidden Dungeon",D19, "Ice Dungeon",D20,
-	"Juperos",D21, "Kiel Dungeon",D22, "Louyang Dungeon",D23,
-	"Magma Dungeon",D24, "Malangdo Dungeon",D42, "Moscovia Dungeon",D25,
-	"Nidhogg's Dungeon",D26, "Odin Temple",D27, "Orc Dungeon",D28, "Payon Dungeon",D29,
-	"Pyramids",D30, "Rachel Sanctuary",D31, "Scaraba Hole",D32, "Sealed Shrine",D33,
-	"Sphinx",D34, "Sunken Ship",D35, "Thanatos Tower",D36, "Thor Volcano",D37,
-	"Toy Factory",D38, "Turtle Dungeon",D39, "Umbala Dungeon",D40;
+	"Coal Mines",D10, "Culvert",D11, "Cursed Abbey",D12, "Dewata Dungeon",D13,
+	"Einbroch Dungeon",D14, "Gefenia",D15, "Geffen Dungeon",D16,
+	"Glast Heim",D17, "Gonryun Dungeon",D18, "Guild Dungeons",GD,
+	"Hidden Dungeon",D19, "Ice Dungeon",D20, "Juperos",D21, "Kiel Dungeon",D22,
+	"Louyang Dungeon",D23, "Magma Dungeon",D24, "Malangdo Dungeon",D25,
+	"Moscovia Dungeon",D26, "Nidhogg's Dungeon",D27, "Odin Temple",D28,
+	"Orc Dungeon",D29, "Payon Dungeon",D30, "Pyramids",D31, "Rachel Sanctuary",D32,
+	"Scaraba Hole",D33, "Sphinx",D34, "Sunken Ship",D35, "Thanatos Tower",D36,
+	"Thor Volcano",D37, "Toy Factory",D38, "Turtle Dungeon",D39, "Umbala Dungeon",D40;
 
 
 D1: setarray @c[2],261,272,275,270,116,27;
 D1: setarray @c[2],261,272,275,270,116,27;
 	Disp("Abyss Lakes",1,3); Pick("abyss_");
 	Disp("Abyss Lakes",1,3); Pick("abyss_");
@@ -216,17 +273,20 @@ D2: setarray @c[2],228,11,34,41,119,14;
 D3: setarray @c[2],35,262,168,170;
 D3: setarray @c[2],35,262,168,170;
 	Disp("Anthell",1,2); Pick("anthell");
 	Disp("Anthell",1,2); Pick("anthell");
 D4: setarray @c[2],275,19,24,26;
 D4: setarray @c[2],275,19,24,26;
-	Disp("","Ancient Shrine Maze:Inside Ancient Shrine"); Pick("ayo_dun");
+	Disp("Ancient Shrine Maze:Inside Ancient Shrine"); Pick("ayo_dun");
 D5: setarray @c[2],266,67,255,244,23,260;
 D5: setarray @c[2],266,67,255,244,23,260;
 	Disp("Beach Dungeon",1,3); Pick("","beach_dun","beach_dun2","beach_dun3");
 	Disp("Beach Dungeon",1,3); Pick("","beach_dun","beach_dun2","beach_dun3");
-D6: setarray @c[2],150,288,150,18,140,134;
-	Disp("Bio Lab",1,3); Pick("lhz_dun");
-D7: setarray @c[2],87,47,262,262;
+D6: Restrict("RE",4);
+	setarray @c[2],150,288,150,18,140,134,244,52;
+	Disp("Bio Lab",1,4); Pick("lhz_dun");
+D7: Restrict("RE");
+	setarray @c[2],87,47,262,262;
 	Disp("Brasilis Dungeon",1,2); Pick("bra_dun");
 	Disp("Brasilis Dungeon",1,2); Pick("bra_dun");
-D8: setarray @c[0],168,168,253,252,236,204,32,63,26,27;
-	Disp("Byalan Dungeon",1,5); Pick("iz_dun",1);
+D8: Restrict("RE",6);
+	setarray @c[0],168,168,253,252,236,204,32,63,26,27,141,187;
+	Disp("Byalan Dungeon",1,6); Pick("iz_dun",1);
 D9: setarray @c[2],199,159,148,283,65,147,56,155,297,25,127,169,277,178,268,74;
 D9: setarray @c[2],199,159,148,283,65,147,56,155,297,25,127,169,277,178,268,74;
-	Disp("","Clock Tower 1:Clock Tower 2:Clock Tower 3:Clock Tower 4:Basement 1:Basement 2:Basement 3:Basement 4");
+	Disp("Clock Tower 1:Clock Tower 2:Clock Tower 3:Clock Tower 4:Basement 1:Basement 2:Basement 3:Basement 4");
 	Pick("","c_tower1","c_tower2","c_tower3","c_tower4","alde_dun01","alde_dun02","alde_dun03","alde_dun04");
 	Pick("","c_tower1","c_tower2","c_tower3","c_tower4","alde_dun01","alde_dun02","alde_dun03","alde_dun04");
 D10: setarray @c[2],52,17,381,343,302,262;
 D10: setarray @c[2],52,17,381,343,302,262;
 	Disp("Coal Mines",1,3); Pick("mjo_dun");
 	Disp("Coal Mines",1,3); Pick("mjo_dun");
@@ -234,16 +294,17 @@ D11: setarray @c[2],131,247,19,19,180,169,100,92;
 	Disp("Culvert",1,4); Pick("","prt_sewb1","prt_sewb2","prt_sewb3","prt_sewb4");
 	Disp("Culvert",1,4); Pick("","prt_sewb1","prt_sewb2","prt_sewb3","prt_sewb4");
 D12: setarray @c[2],51,14,150,11,120,10;
 D12: setarray @c[2],51,14,150,11,120,10;
 	Disp("Cursed Abbey",1,3); Pick("abbey");
 	Disp("Cursed Abbey",1,3); Pick("abbey");
-D13: setarray @c[2],22,14,292,290;
+D13: Restrict("RE");
+	setarray @c[2],285,160,299,29;
+	Disp("Dewata Dungeon",1,2); Pick("dew_dun");
+D14: setarray @c[2],22,14,292,290;
 	Disp("Einbroch Dungeon",1,2); Pick("ein_dun");
 	Disp("Einbroch Dungeon",1,2); Pick("ein_dun");
-D14: setarray @c[2],72,112;
-	Disp("","Misty Island"); Pick("","e_tower");
 D15: setarray @c[2],40,103,203,34,266,168,130,272;
 D15: setarray @c[2],40,103,203,34,266,168,130,272;
 	Disp("Gefenia",1,4); Pick("gefenia",0);
 	Disp("Gefenia",1,4); Pick("gefenia",0);
 D16: setarray @c[0],104,99,115,236,106,132,203,200;
 D16: setarray @c[0],104,99,115,236,106,132,203,200;
 	Disp("Geffen Dungeon",1,4); Pick("gef_dun",1);
 	Disp("Geffen Dungeon",1,4); Pick("gef_dun",1);
 D17: setarray @c[2],370,304,199,29,104,25,150,15,157,287,147,15,258,255,108,291,171,283,68,277,156,7,12,7,133,271,224,274,14,70,150,14;
 D17: setarray @c[2],370,304,199,29,104,25,150,15,157,287,147,15,258,255,108,291,171,283,68,277,156,7,12,7,133,271,224,274,14,70,150,14;
-	Disp("","Entrance:Castle 1:Castle 2:Chivalry 1:Chivalry 2:Churchyard:Culvert 1:Culvert 2:Culvert 3:Culvert 4:St. Abbey:Staircase Dungeon:Underground Cave 1:Underground Cave 2:Underground Prison 1:Underground Prison 2");
+	Disp("Entrance:Castle 1:Castle 2:Chivalry 1:Chivalry 2:Churchyard:Culvert 1:Culvert 2:Culvert 3:Culvert 4:St. Abbey:Staircase Dungeon:Underground Cave 1:Underground Cave 2:Underground Prison 1:Underground Prison 2");
 	Pick("","glast_01","gl_cas01","gl_cas02","gl_knt01","gl_knt02","gl_chyard","gl_sew01","gl_sew02","gl_sew03","gl_sew04","gl_church","gl_step","gl_dun01","gl_dun02","gl_prison","gl_prison1");
 	Pick("","glast_01","gl_cas01","gl_cas02","gl_knt01","gl_knt02","gl_chyard","gl_sew01","gl_sew02","gl_sew03","gl_sew04","gl_church","gl_step","gl_dun01","gl_dun02","gl_prison","gl_prison1");
 D18: setarray @c[2],153,53,28,113,68,16;
 D18: setarray @c[2],153,53,28,113,68,16;
 	Disp("Gonryun Dungeon",1,3); Pick("gon_dun");
 	Disp("Gonryun Dungeon",1,3); Pick("gon_dun");
@@ -252,32 +313,34 @@ D19: setarray @c[2],176,7,93,20,23,8;
 D20: setarray @c[2],157,14,151,155,149,22,33,158;
 D20: setarray @c[2],157,14,151,155,149,22,33,158;
 	Disp("Ice Dungeon",1,4); Pick("ice_dun");
 	Disp("Ice Dungeon",1,4); Pick("ice_dun");
 D21: setarray @c[2],140,51,53,247,37,63,150,285;
 D21: setarray @c[2],140,51,53,247,37,63,150,285;
-	Disp("","Entrance:Juperos 1:Juperos 2:Core");
+	Disp("Entrance:Juperos 1:Juperos 2:Core");
 	Pick("","jupe_cave","juperos_01","juperos_02","jupe_core");
 	Pick("","jupe_cave","juperos_01","juperos_02","jupe_core");
 D22: setarray @c[2],28,226,41,198;
 D22: setarray @c[2],28,226,41,198;
 	Disp("Kiel Dungeon",1,2); Pick("kh_dun");
 	Disp("Kiel Dungeon",1,2); Pick("kh_dun");
 D23: setarray @c[2],218,196,282,20,165,38;
 D23: setarray @c[2],218,196,282,20,165,38;
-	Disp("","The Royal Tomb:Inside the Royal Tomb:Suei Long Gon"); Pick("lou_dun");
+	Disp("The Royal Tomb:Inside the Royal Tomb:Suei Long Gon"); Pick("lou_dun");
 D24: setarray @c[2],126,68,47,30;
 D24: setarray @c[2],126,68,47,30;
 	Disp("Magma Dungeon",1,2); Pick("mag_dun");
 	Disp("Magma Dungeon",1,2); Pick("mag_dun");
-D25: setarray @c[2],189,48,165,30,32,135;
+D25: Restrict("RE");
+	setarray @c[2],33,230;
+	Disp("Malangdo Dungeon",1,1); Pick("mal_dun");
+D26: setarray @c[2],189,48,165,30,32,135;
 	Disp("Moscovia Dungeon",1,3); Pick("mosk_dun");
 	Disp("Moscovia Dungeon",1,3); Pick("mosk_dun");
-D26: setarray @c[2],61,239,60,271;
+D27: setarray @c[2],61,239,60,271;
 	Disp("Nidhogg's Dungeon",1,2); Pick("nyd_dun");
 	Disp("Nidhogg's Dungeon",1,2); Pick("nyd_dun");
-D27: setarray @c[2],298,167,224,149,266,280;
+D28: setarray @c[2],298,167,224,149,266,280;
 	Disp("Odin Temple",1,3); Pick("odin_tem");
 	Disp("Odin Temple",1,3); Pick("odin_tem");
-D28: setarray @c[2],32,170,21,185;
+D29: setarray @c[2],32,170,21,185;
 	Disp("Orc Dungeon",1,2); Pick("orcsdun");
 	Disp("Orc Dungeon",1,2); Pick("orcsdun");
-D29: setarray @c[0],21,183,19,33,19,63,155,159,201,204;
+D30: setarray @c[0],21,183,19,33,19,63,155,159,201,204;
 	Disp("Payon Dungeon",1,5); Pick("pay_dun",1);
 	Disp("Payon Dungeon",1,5); Pick("pay_dun",1);
-D30: setarray @c[2],192,9,10,192,100,92,181,11,94,96,192,8;
-	Disp("","Pyramids 1:Pyramids 2:Pyramids 3:Pyramids 4:Basement 1:Basement 2"); Pick("moc_pryd");
-D31: setarray @c[2],140,11,32,21,4,149,204,218,150,9;
+D31: setarray @c[2],192,9,10,192,100,92,181,11,94,96,192,8;
+	Disp("Pyramids 1:Pyramids 2:Pyramids 3:Pyramids 4:Basement 1:Basement 2"); Pick("moc_pryd");
+D32: setarray @c[2],140,11,32,21,4,149,204,218,150,9;
 	Disp("Rachel Sanctuary",1,5); Pick("ra_san");
 	Disp("Rachel Sanctuary",1,5); Pick("ra_san");
-D32: setarray @c[2],364,44,101,141;
+D33: Restrict("RE");
+	setarray @c[2],364,44,101,141;
 	Disp("Scaraba Hole",1,2); Pick("dic_dun");
 	Disp("Scaraba Hole",1,2); Pick("dic_dun");
-D33: setarray @c[2],306,143;
-	Disp("","Friar Patrick"); Pick("","monk_test");
 D34: setarray @c[2],288,9,149,81,210,54,10,222,100,99;
 D34: setarray @c[2],288,9,149,81,210,54,10,222,100,99;
 	Disp("Sphinx",1,5); Pick("","in_sphinx1","in_sphinx2","in_sphinx3","in_sphinx4","in_sphinx5");
 	Disp("Sphinx",1,5); Pick("","in_sphinx1","in_sphinx2","in_sphinx3","in_sphinx4","in_sphinx5");
 D35: setarray @c[2],69,24,102,27;
 D35: setarray @c[2],69,24,102,27;
@@ -289,16 +352,13 @@ D37: setarray @c[2],21,228,75,205,34,272;
 D38: setarray @c[2],205,15,129,133;
 D38: setarray @c[2],205,15,129,133;
 	Disp("Toy Factory",1,2); Pick("xmas_dun");
 	Disp("Toy Factory",1,2); Pick("xmas_dun");
 D39: setarray @c[2],154,49,148,261,132,189,100,192;
 D39: setarray @c[2],154,49,148,261,132,189,100,192;
-	Disp("","Entrance:Turtle Dungeon 1:Turtle Dungeon 2:Turtle Dungeon 3"); Pick("tur_dun");
-D40: setarray @c[2],42,31,48,30,204,78;
-	Disp("","Carpenter's Shop in the Tree:Passage to a Foreign World:Hvergermil's Fountain");
+	Disp("Entrance:Turtle Dungeon 1:Turtle Dungeon 2:Turtle Dungeon 3"); Pick("tur_dun");
+D40: Restrict("Pre-RE",1,2);
+	setarray @c[2],42,31,48,30,204,78;
+	Disp("Carpenter's Shop in the Tree:Passage to a Foreign World:Hvergermil's Fountain");
 	Pick("","um_dun01","um_dun02","yggdrasil01");
 	Pick("","um_dun01","um_dun02","yggdrasil01");
-D41: setarray @c[2],285,160,299,29;
-	Disp("Dewata Dungeon",1,2); Pick("dew_dun");
-D42: setarray @c[2],33,230;
-	Disp("Malangdo Dungeon",1,1); Pick("mal_dun");
 GD: setarray @c[2],119,93,39,161,50,44,116,45,199,195,200,124;
 GD: setarray @c[2],119,93,39,161,50,44,116,45,199,195,200,124;
-	Disp("","Baldur:Luina:Valkyrie:Britoniah:Arunafeltz:Schwaltzvalt");
+	Disp("Baldur:Luina:Valkyrie:Britoniah:Arunafeltz:Schwaltzvalt");
 	Pick("","gld_dun01","gld_dun02","gld_dun03","gld_dun04","arug_dun01","schg_dun01");
 	Pick("","gld_dun01","gld_dun02","gld_dun03","gld_dun04","arug_dun01","schg_dun01");
 
 
 // --------------------------------------------------
 // --------------------------------------------------
@@ -308,86 +368,107 @@ menu	"Aldebaran Castles",C1, "Geffen Castles",C2, "Payon Castles",C3,
 	"Prontera Castles",C4, "Arunafeltz Castles",C5, "Schwaltzvalt Castles",C6;
 	"Prontera Castles",C4, "Arunafeltz Castles",C5, "Schwaltzvalt Castles",C6;
 
 
 C1: setarray @c[2],48,83,95,249,142,85,239,242,264,90;
 C1: setarray @c[2],48,83,95,249,142,85,239,242,264,90;
-	Disp("","Neuschwanstein:Hohenschwangau:Nuenberg:Wuerzburg:Rothenburg");
+	Disp("Neuschwanstein:Hohenschwangau:Nuenberg:Wuerzburg:Rothenburg");
 	Pick("","alde_gld","alde_gld","alde_gld","alde_gld","alde_gld");
 	Pick("","alde_gld","alde_gld","alde_gld","alde_gld","alde_gld");
 C2: setarray @c[2],214,75,308,240,143,240,193,278,305,87;
 C2: setarray @c[2],214,75,308,240,143,240,193,278,305,87;
-	Disp("","Repherion:Eeyolbriggar:Yesnelph:Bergel:Mersetzdeitz");
+	Disp("Repherion:Eeyolbriggar:Yesnelph:Bergel:Mersetzdeitz");
 	Pick("","gef_fild13","gef_fild13","gef_fild13","gef_fild13","gef_fild13");
 	Pick("","gef_fild13","gef_fild13","gef_fild13","gef_fild13","gef_fild13");
 C3: setarray @c[2],121,233,295,116,317,293,140,160,204,266;
 C3: setarray @c[2],121,233,295,116,317,293,140,160,204,266;
-	Disp("","Bright Arbor:Scarlet Palace:Holy Shadow:Sacred Altar:Bamboo Grove Hill");
+	Disp("Bright Arbor:Scarlet Palace:Holy Shadow:Sacred Altar:Bamboo Grove Hill");
 	Pick("","pay_gld","pay_gld","pay_gld","pay_gld","pay_gld");
 	Pick("","pay_gld","pay_gld","pay_gld","pay_gld","pay_gld");
 C4: setarray @c[2],134,65,240,128,153,137,111,240,208,240;
 C4: setarray @c[2],134,65,240,128,153,137,111,240,208,240;
-	Disp("","Kriemhild:Swanhild:Fadhgridh:Skoegul:Gondul");
+	Disp("Kriemhild:Swanhild:Fadhgridh:Skoegul:Gondul");
 	Pick("","prt_gld","prt_gld","prt_gld","prt_gld","prt_gld");
 	Pick("","prt_gld","prt_gld","prt_gld","prt_gld","prt_gld");
 C5: setarray @c[2],158,272,83,47,68,155,299,345,292,107;
 C5: setarray @c[2],158,272,83,47,68,155,299,345,292,107;
-	Disp("","Mardol:Cyr:Horn:Gefn:Banadis");
+	Disp("Mardol:Cyr:Horn:Gefn:Banadis");
 	Pick("","aru_gld","aru_gld","aru_gld","aru_gld","aru_gld");
 	Pick("","aru_gld","aru_gld","aru_gld","aru_gld","aru_gld");
 C6: setarray @c[2],293,100,288,252,97,196,137,90,71,315;
 C6: setarray @c[2],293,100,288,252,97,196,137,90,71,315;
-	Disp("","Himinn:Andlangr:Viblainn:Hljod:Skidbladnir");
+	Disp("Himinn:Andlangr:Viblainn:Hljod:Skidbladnir");
 	Pick("","sch_gld","sch_gld","sch_gld","sch_gld","sch_gld");
 	Pick("","sch_gld","sch_gld","sch_gld","sch_gld","sch_gld");
 
 
+// --------------------------------------------------
+	Instances:
+// --------------------------------------------------
+
+menu	"Endless Tower",I1, "Hazy Forest",I2, "Malangdo Culvert",I3,
+	"Nidhoggur's Nest",I4, "Octopus Cave",I5, "Orc's Memory",I6, "Sealed Shrine",I7;
+
+I1: Go("e_tower",72,112);
+I2: Restrict("RE");
+	Go("bif_fild01",161,334);
+I3: Restrict("RE");
+	Go("mal_in01",164,21);
+I4: Go("nyd_dun02",95,193);
+I5: Restrict("RE");
+	Go("mal_dun01",152,230);
+I6: Go("gef_fild10",240,198);
+I7: Go("monk_test",306,143);
+
 // --------------------------------------------------
 // --------------------------------------------------
 	Special:
 	Special:
 // --------------------------------------------------
 // --------------------------------------------------
-menu	"Auction Hall",S1, "Battlegrounds",S2, "Casino",S3, "Gonryun Arena",S4,
-	"Izlude Arena",S5, "Monster Race Arena",S6, "Turbo Track",S7;
+menu	"Auction Hall",S1, "Battlegrounds",S2, "Casino",S3, "Eden Group Headquarters",S4,
+	"Gonryun Arena",S4, "Izlude Arena",S5, "Monster Race Arena",S6, "Turbo Track",S7;
 
 
 S1: Go("auction_01",22,68);
 S1: Go("auction_01",22,68);
 S2: Go("bat_room",154,150);
 S2: Go("bat_room",154,150);
 S3: Go("cmd_in02",179,129);
 S3: Go("cmd_in02",179,129);
-S4: Go("gon_test",48,10);
-S5: Go("arena_room",100,88);
-S6: Go("p_track01",62,41);
-S7: Go("turbo_room",99,114);
+S4: Restrict("RE");
+	Go("moc_para01",31,14);
+S5: Go("gon_test",48,10);
+S6: Go("arena_room",100,88);
+S7: Go("p_track01",62,41);
+S8: Go("turbo_room",99,114);
 }
 }
 
 
 // --------------------------------------------------
 // --------------------------------------------------
 //	Duplicates:
 //	Duplicates:
 // --------------------------------------------------
 // --------------------------------------------------
-prontera,159,192,4	duplicate(Warper)	Warper#1	811
-rachel,135,116,4	duplicate(Warper)	Warper#2	811
-alberta,28,240,4	duplicate(Warper)	Warper#3	811
-aldebaran,145,118,4	duplicate(Warper)	Warper#4	811
-amatsu,203,87,4	duplicate(Warper)	Warper#5	811
-ayothaya,209,169,6	duplicate(Warper)	Warper#6	811
-comodo,194,158,4	duplicate(Warper)	Warper#7	811
-einbech,142,246,4	duplicate(Warper)	Warper#8	811
-einbroch,69,202,4	duplicate(Warper)	Warper#9	811
-hugel,101,151,4	duplicate(Warper)	Warper#10	811
-lighthalzen,151,101,6	duplicate(Warper)	Warper#11	811
-geffen,124,72,4	duplicate(Warper)	Warper#12	811
-izlude,132,120,4	duplicate(Warper)	Warper#13	811
-xmas,150,136,4	duplicate(Warper)	Warper#14	811
-morocc,159,97,4	duplicate(Warper)	Warper#15	811
-payon,182,108,4	duplicate(Warper)	Warper#16	811
-yuno,162,47,4	duplicate(Warper)	Warper#17	811
-moc_fild04,207,331,4	duplicate(Warper)	Warper#18	811
-izlu2dun,104,82,4	duplicate(Warper)	Warper#19	811
-mjolnir_02,85,363,4	duplicate(Warper)	Warper#20	811
-prt_fild05,273,215,4	duplicate(Warper)	Warper#21	811
-glast_01,370,308,4	duplicate(Warper)	Warper#22	811
-yuno_fild03,37,135,4	duplicate(Warper)	Warper#23	811
-gef_fild10,71,339,4	duplicate(Warper)	Warper#24	811
-pay_arche,39,135,4	duplicate(Warper)	Warper#25	811
-moc_ruins,64,166,4	duplicate(Warper)	Warper#26	811
-moc_fild19,106,97,4	duplicate(Warper)	Warper#27	811
-alb2trea,73,101,4	duplicate(Warper)	Warper#28	811
-tur_dun01,148,239,4	duplicate(Warper)	Warper#29	811
-gonryun,162,122,4	duplicate(Warper)	Warper#30	811
-louyang,208,103,6	duplicate(Warper)	Warper#31	811
-umbala,132,130,4	duplicate(Warper)	Warper#32	811
-brasilis,201,222,4	duplicate(Warper)	Warper#33	811
-manuk,262,177,4	duplicate(Warper)	Warper#34	811
-splendide,205,153,4	duplicate(Warper)	Warper#35	811
-mid_camp,216,288,4	duplicate(Warper)	Warper#36	811
-dicastes01,194,194,6	duplicate(Warper)	Warper#37	811
-mora,57,152,4	duplicate(Warper)	Warper#38	811
-moscovia,216,196,6	duplicate(Warper)	Warper#39	811
-nameless_n,259,213,4	duplicate(Warper)	Warper#40	811
-niflheim,205,179,4	duplicate(Warper)	Warper#41	811
-thor_camp,249,76,4	duplicate(Warper)	Warper#42	811
-veins,214,123,4	duplicate(Warper)	Warper#43	811
-dewata,194,178,6	duplicate(Warper)	Warper#44	811
-eclage,107,37,4	duplicate(Warper)	Warper#45	811
-malaya,210,205,4	duplicate(Warper)	Warper#46	811
-malangdo,134,117,6	duplicate(Warper)	Warper#47	811
+alb2trea,57,70,6	duplicate(Warper)	Warper#tre	811
+alberta,28,240,4	duplicate(Warper)	Warper#alb	811
+aldebaran,145,118,4	duplicate(Warper)	Warper#alde	811
+amatsu,203,87,4	duplicate(Warper)	Warper#ama	811
+ayothaya,209,169,6	duplicate(Warper)	Warper#ayo	811
+comodo,194,158,4	duplicate(Warper)	Warper#com	811
+einbech,59,38,6	duplicate(Warper)	Warper#einbe	811
+einbroch,69,202,4	duplicate(Warper)	Warper#einbr	811
+gef_fild10,71,339,4	duplicate(Warper)	Warper#orc	811
+geffen,124,72,4	duplicate(Warper)	Warper#gef	811
+glast_01,372,308,4	duplicate(Warper)	Warper#glh	811
+gonryun,162,122,4	duplicate(Warper)	Warper#gon	811
+hugel,101,151,4	duplicate(Warper)	Warper#hug	811
+izlu2dun,110,92,4	duplicate(Warper)	Warper#izd	811
+izlude,132,120,4	duplicate(Warper)	Warper#izl	811
+jawaii,253,138,4	duplicate(Warper)	Warper#jaw	811
+lighthalzen,162,102,4	duplicate(Warper)	Warper#lhz	811
+louyang,208,103,6	duplicate(Warper)	Warper#lou	811
+manuk,274,146,6	duplicate(Warper)	Warper#man	811
+mid_camp,216,288,4	duplicate(Warper)	Warper#mid	811
+mjolnir_02,85,364,4	duplicate(Warper)	Warper#mjo	811
+moc_ruins,64,164,4	duplicate(Warper)	Warper#moc	811
+morocc,159,97,4	duplicate(Warper)	Warper#mor	811
+moscovia,229,191,4	duplicate(Warper)	Warper#mos	811
+nameless_n,259,213,4	duplicate(Warper)	Warper#nam	811
+niflheim,205,179,4	duplicate(Warper)	Warper#nif	811
+pay_arche,42,134,4	duplicate(Warper)	Warper#arc	811
+payon,182,108,4	duplicate(Warper)	Warper#pay	811
+prontera,159,192,4	duplicate(Warper)	Warper#prt	811
+prt_fild05,279,223,6	duplicate(Warper)	Warper#cul	811
+rachel,135,116,4	duplicate(Warper)	Warper#rac	811
+splendide,205,153,4	duplicate(Warper)	Warper#spl	811
+thor_camp,249,76,4	duplicate(Warper)	Warper#thor	811
+umbala,106,150,3	duplicate(Warper)	Warper#umb	811
+veins,214,123,4	duplicate(Warper)	Warper#ve	811
+xmas,150,136,6	duplicate(Warper)	Warper#xmas	811
+yuno,162,47,4	duplicate(Warper)	Warper#yuno	811
+
+// --------------------------------------------------
+//	Duplicates (Renewal):
+// --------------------------------------------------
+brasilis,201,222,4	duplicate(Warper)	Warper#bra	811
+dewata,204,186,6	duplicate(Warper)	Warper#dew	811
+dicastes01,194,194,6	duplicate(Warper)	Warper#dic	811
+eclage,107,37,4	duplicate(Warper)	Warper#ecl	811
+malangdo,134,117,6	duplicate(Warper)	Warper#mal	811
+malaya,210,205,4	duplicate(Warper)	Warper#ma	811
+mora,57,152,4	duplicate(Warper)	Warper#mora	811

+ 1 - 1
npc/re/cities/izlude.txt

@@ -18,7 +18,7 @@ izlude,71,92,2	duplicate(Bonne_izlude)	Bonne#izlude	90
 izlude,172,215,4	duplicate(Charfri_izlude)	Charfri#izlude	91
 izlude,172,215,4	duplicate(Charfri_izlude)	Charfri#izlude	91
 izlude,127,175,4	duplicate(Cuskoal_izlude)	Cuskoal#izlude	124
 izlude,127,175,4	duplicate(Cuskoal_izlude)	Cuskoal#izlude	124
 izlude,85,103,4	duplicate(Dega_izlude)	Dega#izlude	84
 izlude,85,103,4	duplicate(Dega_izlude)	Dega#izlude	84
-izlude,141,185,4	duplicate(Kylick_izlude)	Kylick#izlude	97
+izlude,140,186,4	duplicate(Kylick_izlude)	Kylick#izlude	97
 izlude,56,156,2	duplicate(Red_izlude)	Red#izlude	85
 izlude,56,156,2	duplicate(Red_izlude)	Red#izlude	85
 izlude,58,156,2	duplicate(Cebalis_izlude)	Cebalis#izlude	98
 izlude,58,156,2	duplicate(Cebalis_izlude)	Cebalis#izlude	98
 izlude,165,156,2	duplicate(Soldier_izlude)	Soldier#izlude	105
 izlude,165,156,2	duplicate(Soldier_izlude)	Soldier#izlude	105

+ 1 - 1
npc/re/merchants/renters.txt

@@ -148,7 +148,7 @@ prontera,125,208,5	script	Peco Peco Remover	105,{
 
 
 // Magic Gear Renter
 // Magic Gear Renter
 //============================================================
 //============================================================
-prontera,163,178,4	script	Magic Gear Master	105,{
+prontera,163,178,3	script	Magic Gear Master	105,{
 	mes "[Magic Gear Master]";
 	mes "[Magic Gear Master]";
 	if (Class == Job_Mechanic || Class == Job_Mechanic_T || Class == Job_Baby_Mechanic) {
 	if (Class == Job_Mechanic || Class == Job_Mechanic_T || Class == Job_Baby_Mechanic) {
 		mes "Welcome. Would you like to rent a Magic Gear?";
 		mes "Welcome. Would you like to rent a Magic Gear?";

+ 1 - 1
npc/re/quests/eden/eden_common.txt

@@ -231,7 +231,7 @@ yuno,144,189,5	duplicate(eto)	Eden Teleport Officer#15	729
 rachel,125,144,3	duplicate(eto)	Eden Teleport Officer#16	729
 rachel,125,144,3	duplicate(eto)	Eden Teleport Officer#16	729
 morocc,161,97,6	duplicate(eto)	Eden Teleport Officer#17	729
 morocc,161,97,6	duplicate(eto)	Eden Teleport Officer#17	729
 comodo,202,151,4	duplicate(eto)	Eden Teleport Officer#18	729
 comodo,202,151,4	duplicate(eto)	Eden Teleport Officer#18	729
-umbala,104,158,4	duplicate(eto)	Eden Teleport Officer#19	729
+umbala,96,160,3	duplicate(eto)	Eden Teleport Officer#19	729
 veins,220,109,4	duplicate(eto)	Eden Teleport Officer#20	729
 veins,220,109,4	duplicate(eto)	Eden Teleport Officer#20	729
 lighthalzen,164,86,4	duplicate(eto)	Eden Teleport Officer#21	729
 lighthalzen,164,86,4	duplicate(eto)	Eden Teleport Officer#21	729
 einbroch,250,211,4	duplicate(eto)	Eden Teleport Officer#22	729
 einbroch,250,211,4	duplicate(eto)	Eden Teleport Officer#22	729

+ 5 - 4
npc/re/quests/quests_dicastes.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //===== By: ==================================================
 //= Gennosuke Kouga, Muad_Dib
 //= Gennosuke Kouga, Muad_Dib
 //===== Current Version: =====================================
 //===== Current Version: =====================================
-//= 1.8b
+//= 1.9
 //===== Compatible With: =====================================
 //===== Compatible With: =====================================
 //= rAthena SVN
 //= rAthena SVN
 //===== Description: =========================================
 //===== Description: =========================================
@@ -26,6 +26,7 @@
 //= 1.8 Optimized and fixed invalid checkquest. [Joseph]
 //= 1.8 Optimized and fixed invalid checkquest. [Joseph]
 //= 1.8a Disabled "Fish Tails" until Izlude RE coordinates are found. [Euphy]
 //= 1.8a Disabled "Fish Tails" until Izlude RE coordinates are found. [Euphy]
 //= 1.8b Updated "Calyon" NPC and fixed a check. [Euphy]
 //= 1.8b Updated "Calyon" NPC and fixed a check. [Euphy]
+//= 1.9 Updated "Fish Tails" with RE coordinates.
 //============================================================
 //============================================================
 
 
 // Entrance
 // Entrance
@@ -1028,7 +1029,7 @@ dic_in01,40,193,1	script	Papyrus#0001	453,{
 	else if (.@doc == 11) eldicastes_dp(12169,"Stem","There is nothing like Midgard plants in Manuk.","These plants are used for food and medicine and some are even poisonous.");
 	else if (.@doc == 11) eldicastes_dp(12169,"Stem","There is nothing like Midgard plants in Manuk.","These plants are used for food and medicine and some are even poisonous.");
 	else if (.@doc == 12) eldicastes_dp(12170,"Pointed Scale","Stem from a bumpy life form. Research required as the usage is unknown.","");
 	else if (.@doc == 12) eldicastes_dp(12170,"Pointed Scale","Stem from a bumpy life form. Research required as the usage is unknown.","");
 	else if (.@doc == 13) eldicastes_dp(12171,"Resin","Sap from an old tree collected and solidified. Very valuable in the human world.","");
 	else if (.@doc == 13) eldicastes_dp(12171,"Resin","Sap from an old tree collected and solidified. Very valuable in the human world.","");
-	//else if (.@doc == 14) eldicastes_dp(12174,"Fish Tail","Humans eat meat called fish.","Can be used as important food supply for foreign adventurers visiting in the city.");
+	else if (.@doc == 14) eldicastes_dp(12174,"Fish Tail","Humans eat meat called fish.","Can be used as important food supply for foreign adventurers visiting in the city.");
 	else if (.@doc == 15) eldicastes_dp(12175,"Worm Peeling","They say some Worm Peelings are valuable.","But this is based on the human's standard of value. Research required.");
 	else if (.@doc == 15) eldicastes_dp(12175,"Worm Peeling","They say some Worm Peelings are valuable.","But this is based on the human's standard of value. Research required.");
 	else if (.@doc == 16) eldicastes_dp(12176,"Gill","There are Midgard creatures that live in the sea and breathe through gills.","Further research on their ecology will be useful.");
 	else if (.@doc == 16) eldicastes_dp(12176,"Gill","There are Midgard creatures that live in the sea and breathe through gills.","Further research on their ecology will be useful.");
 	else if (.@doc == 17) eldicastes_dp(12177,"Tooth of Bat","Traces of a nocturnal creature unknown to Manuk. Not a strong creature from the size of its teeth.","");
 	else if (.@doc == 17) eldicastes_dp(12177,"Tooth of Bat","Traces of a nocturnal creature unknown to Manuk. Not a strong creature from the size of its teeth.","");
@@ -1091,7 +1092,7 @@ dic_in01,25,187,0	duplicate(Document Package#main)	Document Package#0004	844
 
 
 function	script	unknown_d	{
 function	script	unknown_d	{
 	if (checkquest(getarg(0)) == -1) {
 	if (checkquest(getarg(0)) == -1) {
-		mes "You see some traces of digging";
+		mes "You see some traces of digging.";
 		close;
 		close;
 	}
 	}
 	specialeffect2 EF_SPRINKLESAND;
 	specialeffect2 EF_SPRINKLESAND;
@@ -1116,7 +1117,7 @@ pay_fild02,105,113,0	script	Pointed Scales	844,{ unknown_d(12170,906); }
 pay_fild01,152,171,0	script	Resin	844,{ unknown_d(12171,907); }
 pay_fild01,152,171,0	script	Resin	844,{ unknown_d(12171,907); }
 gef_fild01,104,111,0	script	Spawn	844,{ unknown_d(12172,908); }
 gef_fild01,104,111,0	script	Spawn	844,{ unknown_d(12172,908); }
 prt_fild08,299,332,0	script	Jellopy	844,{ unknown_d(12173,909); }
 prt_fild08,299,332,0	script	Jellopy	844,{ unknown_d(12173,909); }
-//izlude,132,136,0	script	Fish Tails	844,{ unknown_d(12174,1023); }
+izlude,136,160,0	script	Fish Tails	844,{ unknown_d(12174,1023); }	// Pre-RE: izlude (132,136)
 prt_fild05,303,169,0	script	Worm Peelings	844,{ unknown_d(12175,955); }
 prt_fild05,303,169,0	script	Worm Peelings	844,{ unknown_d(12175,955); }
 iz_dun03,155,165,0	script	Gills	844,{ unknown_d(12176,956); }
 iz_dun03,155,165,0	script	Gills	844,{ unknown_d(12176,956); }
 mjo_dun01,222,226,0	script	Tooth of Bat	844,{ unknown_d(12177,913); }
 mjo_dun01,222,226,0	script	Tooth of Bat	844,{ unknown_d(12177,913); }

+ 1 - 1
src/map/atcommand.c

@@ -1731,7 +1731,7 @@ ACMD_FUNC(go)
 		{ MAP_MOSCOVIA,    223, 184 }, // 25=Moscovia
 		{ MAP_MOSCOVIA,    223, 184 }, // 25=Moscovia
 		{ MAP_MIDCAMP,     180, 240 }, // 26=Midgard Camp
 		{ MAP_MIDCAMP,     180, 240 }, // 26=Midgard Camp
 		{ MAP_MANUK,       282, 138 }, // 27=Manuk
 		{ MAP_MANUK,       282, 138 }, // 27=Manuk
-		{ MAP_SPLENDIDE,   197, 176 }, // 28=Splendide
+		{ MAP_SPLENDIDE,   201, 147 }, // 28=Splendide
 		{ MAP_BRASILIS,    182, 239 }, // 29=Brasilis
 		{ MAP_BRASILIS,    182, 239 }, // 29=Brasilis
 		{ MAP_DICASTES,    198, 187 }, // 30=El Dicastes
 		{ MAP_DICASTES,    198, 187 }, // 30=El Dicastes
 		{ MAP_MORA,         44, 151 }, // 31=Mora
 		{ MAP_MORA,         44, 151 }, // 31=Mora