Explorar o código

* Implemented HD ore refiners "Mighty Hammer" and "Basta" (hd_refiner). (bugreport:6577)
* Fixed coordinates of "Suhnbi" (advanced_refiner).
* Merged Hercules b17e2b7 (adapted):
-- Implemented official Port Malaya warps.
-- Fixed bug where players could not take the "Ring of the Wise King" and "Finding a Fairy" quests using the Cat Hand Agent warper inside Eden Group Headquarters.
-- Fixed bug where players could not complete the "Guardian of Yggdrasil" quest. (bugreport:6855)

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

euphyy %!s(int64=12) %!d(string=hai) anos
pai
achega
91475315b8

+ 2 - 2
db/pre-re/item_db.txt

@@ -3264,8 +3264,8 @@
 6237,Guarana_Fruit,Guarana Fruit,3,0,,0,,,,,,,,,,,,,{},{},{}
 6238,Guarantee_Weapon_11Up,Guarantee Weapon 11Up,3,0,,0,,,,,,,,,,,,,{},{},{}
 6239,Guarantee_Armor_11Up,Guarantee Armor 11Up,3,0,,0,,,,,,,,,,,,,{},{},{}
-6240,HD_Oridecon,Purified Oridecon,3,20,,10,,,,,,,,,,,,,{},{},{}
-6241,HD_Elunium,Purified Elunium,3,20,,10,,,,,,,,,,,,,{},{},{}
+6240,HD_Oridecon,HD Oridecon,3,20,,10,,,,,,,,,,,,,{},{},{}
+6241,HD_Elunium,HD Elunium,3,20,,10,,,,,,,,,,,,,{},{},{}
 6242,Midgard_Coin,Midgard Coin,3,20,,10,,,,,,,,,,,,,{},{},{}
 6243,Exchange_Coupon,Exchange Coupon,3,0,,0,,,,,,,,,,,,,{},{},{}
 6244,Gun_Powder,Gun Powder,3,10,,1,,,,,,,,,,,,,{},{},{}

+ 1 - 1
db/quest_db.txt

@@ -416,7 +416,7 @@
 3256,0,0,0,0,0,0,0,"Request - Ready for waiting summer"
 3257,0,1170,30,0,0,0,0,"Request - A grudge of women"
 3258,0,0,0,0,0,0,0,"Request - A material of delicacy"
-3259,0,1143,30,0,0,0,0,"Request - A agony of a doll maste"
+3259,0,1143,30,0,0,0,0,"Request - A agony of a doll master"
 3260,0,1035,30,0,0,0,0,"Request - Tiresome flies"
 3261,0,1026,30,0,0,0,0,"Request - Unclean girl"
 3262,0,0,0,0,0,0,0,"Request - Queer hobby"

+ 2 - 2
db/re/item_db.txt

@@ -3720,8 +3720,8 @@
 6237,Guarana_Fruit,Guarana Fruit,3,0,,0,,,,,,,,,,,,,{},{},{}
 6238,Guarantee_Weapon_11Up,Guarantee Weapon 11Up,3,0,,0,,,,,,,,,,,,,{},{},{}
 6239,Guarantee_Armor_11Up,Guarantee Armor 11Up,3,0,,0,,,,,,,,,,,,,{},{},{}
-6240,HD_Oridecon,Purified Oridecon,3,20,,10,,,,,,,,,,,,,{},{},{}
-6241,HD_Elunium,Purified Elunium,3,20,,10,,,,,,,,,,,,,{},{},{}
+6240,HD_Oridecon,HD Oridecon,3,20,,10,,,,,,,,,,,,,{},{},{}
+6241,HD_Elunium,HD Elunium,3,20,,10,,,,,,,,,,,,,{},{},{}
 6242,Midgard_Coin,Midgard Coin,3,20,,10,,,,,,,,,,,,,{},{},{}
 6243,Exchange_Coupon,Exchange Coupon,3,0,,0,,,,,,,,,,,,,{},{},{}
 6244,Gun_Powder,Gun Powder,3,10,,1,,,,,,,,,,,,,{},{},{}

+ 12 - 32
npc/instances/NydhoggsNest.txt

@@ -26,42 +26,21 @@ nyd_dun02,100,201,3	script	Yggdrasil Gatekeeper	111,8,8,{
 		next;
 		switch(select("Move closer to look more carefully.:Step back.")) {
 		case 1:
-			if (ep13_1_edq == 14) {
-				specialeffect2 EF_HOLYHIT;
-				pushpc 3,3;
+			specialeffect2 EF_HOLYHIT;
+			pushpc 3,3;
+			if (ep13_1_edq == 14)
 				set ep13_1_edq,15;
-				mes "A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door...";
-				next;
-				mes "Perhaps there's a great hidden secret beyond the gate, beyond expectation.";
-				next;
-				mes "It would be better to go back to camp and inform the others and ask for help.";
-				set ins_nyd,1;
-				close;
-			}
-			else if (ep13_1_edq == 15) {
-				specialeffect2 EF_HOLYHIT;
-				pushpc 3,3;
-				mes "A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door...";
-				next;
-				mes "Perhaps there's a great hidden secret beyond the gate, beyond expectation.";
-				next;
-				mes "It would be better to go back to camp and inform the others and ask for help.";
-				set ins_nyd,1;
-				close;
-			}
-			else {
-				specialeffect2 EF_HOLYHIT;
-				pushpc 3,3;
-				mes "A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door...";
-				next;
-				mes "Perhaps there's a great hidden secret beyond the gate, beyond expectation.";
-				next;
-				mes "It would be better to go back to camp and inform the others and ask for help.";
+			mes "A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door...";
+			next;
+			mes "Perhaps there's a great hidden secret beyond the gate, beyond expectation.";
+			next;
+			mes "It would be better to go back to camp and inform the others and ask for help.";
+			if (ep13_1_edq != 15) {
 				next;
 				mes "You'll have to obtain the others trust in the expendition camp by working hard.";
-				set ins_nyd,1;
-				close;
 			}
+			set ins_nyd,1;
+			close;
 		case 2:
 			close;
 		}
@@ -2136,6 +2115,7 @@ OnTimer180000:
 	switch(select("Please let me out.:I want to look around for a while.")) {
 	case 1:
 		set 'ins_nyd2,0;
+		set ins_nyd,203;
 		//setquest 3135;
 		warp "nyd_dun02",98,196;
 		end;

+ 3 - 2
npc/merchants/advanced_refiner.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= L0ne_W0lf
 //===== Current Version: =====================================
-//= 1.4a
+//= 1.4b
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
@@ -23,9 +23,10 @@
 //= 1.3 Typo fixes [Yommy]
 //= 1.4 Removed unnecessary dialogs [Zephyrus]
 //= 1.4a Added 'disable_items' command. [Euphy]
+//= 1.4b Fixed coordinates. [Euphy]
 //============================================================
 
-payon,174,138,0	script	Suhnbi#cash	85,{
+payon,157,146,6	script	Suhnbi#cash	85,{
 	disable_items;
 	mes "[Suhnbi]";
 	mes "I am the Armsmith";

+ 3 - 3
npc/quests/quests_13_1.txt

@@ -4646,7 +4646,7 @@ mid_camp,240,270,3	script	Botanist#ep13	750,{
 
 mid_camp,336,171,1	script	Camp Guard#man1	852,{
 	if (ep13_animal == 0) {
-		if (ep13_newbs == 6 || ep13_newbs == 19) goto OnHalt;
+		if (ep13_newbs == 6 || ep13_newbs == 19 || ep13_start == 100) goto OnHalt;
 		else {
 			mes "[Camp Guard]";
 			mes "Stop!";
@@ -4740,7 +4740,7 @@ OnHalt:
 
 mid_camp,13,143,5	script	Camp Guard#man2	852,{
 	if (ep13_animal == 0) {
-		if (ep13_newbs == 6 || ep13_newbs == 19) goto OnHalt;
+		if (ep13_newbs == 6 || ep13_newbs == 19 || ep13_start == 100) goto OnHalt;
 		else {
 			mes "[Camp Guard]";
 			mes "Stop!";
@@ -4802,7 +4802,7 @@ OnHalt:
 
 mid_camp,9,215,5	script	Camp Guard#man3	852,{
 	if (ep13_animal == 0) {
-		if (ep13_newbs == 6 || ep13_newbs == 19) goto OnHalt;
+		if (ep13_newbs == 6 || ep13_newbs == 19 || ep13_start == 100) goto OnHalt;
 		else {
 			mes "[Camp Guard]";
 			mes "Stop!";

+ 5 - 5
npc/quests/quests_13_2.txt

@@ -3323,23 +3323,23 @@ mid_camp,192,239,4	script	Wanted Sign#ep13_2ect01	857,{
 	if ((ep13_2_dayegg == 1) && (countitem(6093) < 10)) {
 		mes "We just got fresh eggs from the dragon nest.";
 		getitem 6093,1; //Egg_Of_Draco
-		disablenpc strnpcinfo(1);
+		disablenpc strnpcinfo(0);
 		initnpctimer;
 		close;
 	}
 	end;
 
 OnTimer420000:
-	enablenpc strnpcinfo(1);
+	enablenpc strnpcinfo(0);
 	stopnpctimer;
 	end;
 
 OnEnable:
-	enablenpc strnpcinfo(1);
+	enablenpc strnpcinfo(0);
 	end;
 
 OnDisable:
-	disablenpc strnpcinfo(1);
+	disablenpc strnpcinfo(0);
 	end;
 }
 
@@ -3559,7 +3559,7 @@ OnTimer300000:
 // Otherworld language
 //============================================================ 
 mid_camp,197,237,3	script	Schwartzvalt Mechanic#1	869,{
-	if (ep13_1_edq > 2) {
+	if (ep13_1_edq > 2 || ep13_start == 100) {
 		if (ep13_2_rhea < 1) {
 			mes "[Mechanic Engineer Dorance]";
 			mes "Do you know about the Ring of the Ancient Wise King? If you wear that Ring, you can talk to animals.";

+ 318 - 0
npc/re/merchants/hd_refiner.txt

@@ -0,0 +1,318 @@
+//===== rAthena Script ======================================= 
+//= HD Refiners
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= [Official Conversion]
+//= Refiners that use HD ores to refine equipment. Upon
+//= failure, the equipment is not destroyed; rather, its
+//= refine level decreases by 1. The success rate is identical
+//= to that for Enriched ores.
+//= - "Blacksmith Mighty Hammer" only refines from +7~9.
+//= - "Basta" only refines from +10 and up.
+//===== Additional Comments: =================================
+//= 1.0 First version. [Euphy]
+//============================================================
+
+// Blacksmith Mighty Hammer (+7~9)
+//============================================================
+-	script	::MightyHammer	-1,{
+	disable_items;
+	mes "[Blacksmith Mighty Hammer]";
+	mes "Unlike others, I am a blacksmith who refines a very limited number of items.";
+	mes "I refine only items that are ^CC0000+7 to +9^000000.";
+	next;
+	mes "[Blacksmith Mighty Hammer]";
+	mes "My specialty is that even if my refining fails, the refine level decreases by 1 without losing the gear. Isn't it great?";
+	next;
+	mes "[Blacksmith Mighty Hammer]";
+	mes "So lets kick this into overdrive, what d' ya say? What item do you want to refine?";
+	next;
+	setarray .@position$[1],"Head","Body","Left Hand","Right Hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
+	set .@menu$,"";
+	for(set .@i,1; .@i<=10; set .@i,.@i+1)
+		set .@menu$, .@menu$+((getequipisequiped(.@i))?getequipname(.@i):.@position$[.@i]+"-[Not equipped]")+":";
+	set .@part, select(.@menu$);
+	if (!getequipisequiped(.@part)) {
+		mes "[Blacksmith Mighty Hammer]";
+		switch(.@part) {
+		case 1:
+			mes "I'm a blacksmith, not a hairstylist.";
+			break;
+		case 2:
+			mes "With my hammer, I will make you a star of the sky.";
+			break;
+		case 3:
+		case 4:
+			mes "Making artificial hands is not my specialty.";
+			break;
+		case 5:
+			mes "Bring out the item so I can refine it!";
+			break;
+		case 6:
+			mes "Where is this foot order coming from?";
+			break;
+		case 7:
+		case 8:
+			mes "Where is the accessory?";
+			break;
+		case 9:
+			mes "What do you want me to refine?";
+			break;
+		case 10:
+			mes "Huh? What do you want me to do?";
+			break;
+		}
+		close;
+	}
+	if (!getequipisenableref(.@part)) {
+		mes "[Blacksmith Mighty Hammer]";
+		mes "This item can't be refined.";
+		close;
+	}
+	if (!getequipisidentify(.@part)) {
+		mes "[Blacksmith Mighty Hammer]";
+		mes "This item can't be refined because it has not been identified.";
+		close;
+	}
+	if (getequiprefinerycnt(.@part) < 7 || getequiprefinerycnt(.@part) > 9) {
+		mes "[Blacksmith Mighty Hammer]";
+		mes "I only handle items with refine levels from +7 to +9.";
+		close;
+	}
+	switch(getequipweaponlv(.@part)) {
+	default:
+	case 0:
+		set .@price,20000;
+		set .@material,6241; //HD_Elunium
+		break;
+	case 1:
+	case 2:
+	case 3:
+	case 4:
+		set .@price,20000;
+		set .@material,6240; //HD_Oridecon
+		break;
+	}
+	mes "[Blacksmith Mighty Hammer]";
+	mes "In order to refine the gear you selected you need ^ff9999"+getitemname(.@material)+"^000000 and 20,000 zeny as a fee.";
+	mes "Do you have them ready?";
+	next;
+	if(select("Yes:No") == 2) {
+		mes "[Blacksmith Mighty Hammer]";
+		mes "I will wait until you are ready.";
+		close;
+	}
+	if (getequiprefinerycnt(.@part) < 100) {
+		mes "[Blacksmith Mighty Hammer]";
+		mes "It looks like this item will likely fail to be refined.";
+		mes "Well, even if it fails, it only decreases by 1 refine level.";
+		mes "Would you like to continue refining?";
+		next;
+		if(select("Yes:No") == 2) {
+			mes "[Blacksmith Mighty Hammer]";
+			mes "Only those who overcome fear of failure will obtain a masterpiece.";
+			close;
+		}
+	}
+	if (countitem(.@material) == 0 || Zeny < .@price) {
+		mes "[Blacksmith Mighty Hammer]";
+		mes "Didn't you just say you had everything ready?";
+		close;
+	}
+	delitem .@material,1;
+	set Zeny, Zeny-.@price;
+	mes "[Blacksmith Mighty Hammer]";
+	mes "Tac! Tac! Tac!";
+	if (getequippercentrefinery(.@part) > rand(100) || getequippercentrefinery(.@part) > rand(100)) {
+		successrefitem .@part;
+		next;
+		emotion e_no1;
+		mes "[Blacksmith Mighty Hammer]";
+		mes "The sound refreshes my mind everytime I hear it.";
+		mes "Here, have it. Refine succeeded flawlessly!";
+		close;
+	}
+	downrefitem .@part;
+	next;
+	emotion e_omg;
+	mes "[Blacksmith Mighty Hammer]";
+	mes "Oops!!";
+	next;
+	mes "[Blacksmith Mighty Hammer]";
+	mes "I am sure a person like you would never blame me for a decrease in refine level by 1. Hmm.";
+	close;
+}
+prt_in,59,54,3	duplicate(MightyHammer)	Mighty Hammer#prt	826
+morocc_in,65,30,3	duplicate(MightyHammer)	Mighty Hammer#morocc	826
+payon,148,176,3	duplicate(MightyHammer)	Mighty Hammer#pay	826
+alberta_in,16,56,3	duplicate(MightyHammer)	Mighty Hammer#alb	826
+yuno_in01,171,18,3	duplicate(MightyHammer)	Mighty Hammer#yuno	826
+ein_in01,22,82,3	duplicate(MightyHammer)	Mighty Hammer#ein	826
+lhz_in02,280,19,3	duplicate(MightyHammer)	Mighty Hammer#lhz	826
+
+// iRO NPC locations:
+// moc_para01,38,185,4	duplicate(MightyHammer)	Mighty Hammer#ed	826
+// payon,174,133,4	duplicate(MightyHammer)	Mighty Hammer#im	826
+
+// Basta (+10 and up)
+//============================================================
+-	script	::Basta	-1,{
+	disable_items;
+	mes "[Basta]";
+	mes "I'm the best Blacksmith in the whole world, Basta.";
+	mes "But I don't provide a normal refine service.";
+	mes "I only refine equipment ^CC0000over +10^000000.";
+	next;
+	mes "[Basta]";
+	mes "Which equipment do you want to refine?";
+	next;
+	setarray .@position$[1],"Head","Body","Left Hand","Right Hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
+	set .@menu$,"";
+	for(set .@i,1; .@i<=10; set .@i,.@i+1)
+		set .@menu$, .@menu$+((getequipisequiped(.@i))?getequipname(.@i):.@position$[.@i]+"-[Unequipped]")+":";
+	set .@part, select(.@menu$);
+	if (!getequipisequiped(.@part)) {
+		mes "[Basta]";
+		switch(.@part) {
+		case 1:
+			mes "Is your head an equipment?";
+			break;
+		case 2:
+			mes "What do you want me to do?";
+			break;
+		case 3:
+		case 4:
+			mes "Making artificial hands is not my specialty.";
+			break;
+		case 5:
+			mes "Do you even know what a robe is?";
+			break;
+		case 6:
+			mes "If you want to refine your feet, don't come to me, try running a marathon.";
+			break;
+		case 7:
+		case 8:
+			mes "Where is the accessory?";
+			break;
+		case 9:
+			mes "Well... I don't see any equipment worth refining.";
+			break;
+		case 10:
+			mes "I can't make you smart. Go see a school teacher for that.";
+			break;
+		}
+		close;
+	}
+	if (!getequipisenableref(.@part)) {
+		mes "[Basta]";
+		mes "Even I cannot refine this item. There's no way.";
+		close;
+	}
+	if (!getequipisidentify(.@part)) {
+		mes "[Basta]";
+		mes "I can't do anything about unidentified items.";
+		close;
+	}
+	if (getequiprefinerycnt(.@part) < 10) {
+		mes "[Basta]";
+		mes "Haven't I told you? I only refine equipments that are +10 and above.";
+		close;
+	}
+	if (getequiprefinerycnt(.@part) == 20) {
+		mes "[Basta]";
+		mes "This weapon is perfect, no need to refine it anymore~";
+		close;
+	}
+	switch(getequipweaponlv(.@part)) {
+	default:
+	case 0:
+		set .@price,100000;
+		set .@material,6225; //HD_Carnium
+		set .@type$,"armor";
+		break;
+	case 1:
+	case 2:
+	case 3:
+	case 4:
+		set .@price,100000;
+		set .@material,6226; //HD_Bradium
+		set .@type$,"weapon";
+		break;
+	}
+	mes "[Basta]";
+	mes "Hmm... is this the one you want to refine?";
+	mes "To refine this equipment, I need 1 ^ff9999"+getitemname(.@material)+"^000000 and 100,000 zeny as a fee.";
+	mes "Do you really want to refine this?";
+	next;
+	if(select("Yes:No") == 2) {
+		mes "[Basta]";
+		mes "Okay. If that's what you want...";
+		close;
+	}
+	if (getequiprefinerycnt(.@part) < 100) {
+		mes "[Basta]";
+		mes "This "+.@type$+" has already been refined pretty high.";
+		mes "If you try to refine it more, the refine level could decrease.";
+		next;
+		mes "[Basta]";
+		mes "I am different from the blacksmiths in others places.";
+		mes "It is impossible that the refine level will drop by, say, 3 or 4... that sounds scary.";
+		mes "Here it can only decrease by 1 level.";
+		next;
+		mes "[Basta]";
+		mes "Compared to other blacksmiths, the risk is smaller.";
+		mes "I've given all precautions. Do you want to try it?";
+		next;
+		if(select("Yes:No") == 2) {
+			mes "[Basta]";
+			mes "Well~";
+			mes "Not challenging at all could also be a kind of wisdom in life.";
+			close;
+		}
+	}
+	if (countitem(.@material) == 0 || Zeny < .@price) {
+		mes "[Basta]";
+		mes "Hmm... You didn't bring all the materials needed.";
+		mes "Come back when you have them all.";
+		close;
+	}
+	delitem .@material,1;
+	set Zeny, Zeny-.@price;
+	mes "Pow! Pow! Pow! Pow!";
+	if (getequippercentrefinery(.@part) > rand(100) || getequippercentrefinery(.@part) > rand(100)) {
+		successrefitem .@part;
+		next;
+		emotion e_no1;
+		mes "[Basta]";
+		mes "Great! Nicely done!!";
+		mes "I really am the best blacksmith in the whole wide world!";
+		close;
+	}
+	downrefitem .@part;
+	next;
+	emotion (!rand(5))?e_cash:e_omg;
+	mes "[Basta]";
+	mes "Aaaaaaaaaaak!!!";
+	next;
+	mes "[Basta]";
+	mes "Damn it!";
+	mes "Refining failed and refine level has decreased!";
+	mes "Even the best blacksmith in the world doesn't guarantee 100% success!";
+	mes "Too bad.";
+	next;
+	mes "[Basta]";
+	mes "I'll do better next time! Don't worry!";
+	close;
+}
+prt_in,57,54,3	duplicate(Basta)	Basta#prt	826
+morocc_in,68,30,3	duplicate(Basta)	Basta#morocc	826
+payon,148,174,3	duplicate(Basta)	Basta#payon	826
+alberta_in,18,56,3	duplicate(Basta)	Basta#alberta	826
+yuno_in01,173,18,3	duplicate(Basta)	Basta#yuno	826
+ein_in01,24,82,3	duplicate(Basta)	Basta#einbroch	826
+lhz_in02,280,17,3	duplicate(Basta)	Basta#lighthalzen	826

+ 2 - 0
npc/re/quests/quests_dicastes.txt

@@ -7392,8 +7392,10 @@ moc_para01,44,19,3	script	Cat Hand Agent#gekk	496,{
 	if (BaseLevel < 70)	{
 		mes "[Cat Hand Agent]";
 		mes "Hey, human! Did you come to make a request, too? When will it be my turn?";
+		next;
 		mes "[Cat Hand Agent]";
 		mes "Our Cat Hand Merchant group really needs any help it can get. But by the looks of all those requests that Ebenor is holding in his hand, Cat Hand Merchant will be closed by the time my request is put up on the board!";
+		next;
 		mes "[Cat Hand Agent]";
 		mes "It breaks my heart to think my colleagues will be shivering in the blizzard. I hope I don't get into trouble since I can't do anything about it, right?";
 		close;

+ 1 - 0
npc/re/scripts_athena.conf

@@ -61,6 +61,7 @@ npc: npc/re/merchants/coin_exchange.txt
 npc: npc/re/merchants/diamond.txt
 npc: npc/re/merchants/enchan_mal.txt
 npc: npc/re/merchants/flute.txt
+npc: npc/re/merchants/hd_refiner.txt
 npc: npc/re/merchants/inn.txt
 npc: npc/re/merchants/quivers.txt
 npc: npc/re/merchants/refine.txt

+ 75 - 23
npc/re/warps/cities/malaya.txt

@@ -1,38 +1,90 @@
 //===== rAthena Script =======================================
-//= Malaya Port Warp Script
+//= Port Malaya Warp Script
 //===== By: ==================================================
 //= Chilly
 //===== Current Version: =====================================
-//= 1.0
+//= 1.1
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
-//= Warp Points for Malaya Port
+//= Warp Points for Port Malaya
 //===== Additional Comments: =================================
 //= 1.0 First Version.
+//= 1.1 Updated to match official scripts. [Masao]
 //============================================================
 
 // Town Warps
-malaya,309,70,0	warp	malaya_field0001	1,1,ma_in01,108,92
-ma_in01,105,92,0	warp	malaya_field0002	1,1,malaya,310,67
-malaya,300,211,0	warp	malaya_field0003	1,1,ma_in01,36,152
-ma_in01,33,152,0	warp	malaya_field0004	1,1,malaya,297,211
-malaya,178,211,0	warp	malaya_field0005	1,1,ma_in01,24,80
-ma_in01,24,77,0	warp	malaya_field0006	1,1,malaya,178,208
-malaya,112,212,0	warp	malaya_field0007	1,1,ma_in01,83,16
-ma_in01,86,16,0	warp	malaya_field0008	1,1,malaya,115,212
-malaya,299,167,0	warp	malaya_field0009	1,1,ma_in01,12,24
-ma_in01,9,24,0	warp	malaya_field0010	1,1,malaya,296,167
-malaya,261,240,0	warp	malaya_field0011	1,1,ma_in01,126,20
-ma_in01,126,17,0	warp	malaya_field0012	1,1,malaya,261,237
-malaya,370,277,0	warp	malaya_field0013	1,1,ma_fild01,40,272
-ma_fild01,37,272,0	warp	malaya_field0014	1,1,malaya,367,277
-ma_fild01,266,359,0	warp	malaya_field0015	1,1,ma_fild02,248,36
-ma_fild02,248,33,0	warp	malaya_field0016	1,1,ma_fild01,266,356
-ma_fild01,251,190,0	warp	malaya_field0017	1,1,ma_in01,108,160
-ma_in01,105,160,0	warp	malaya_field0018	1,1,ma_fild01,249,192
-ma_fild01,288,52,0	warp	malaya_field0019	1,1,ma_scene01,142,78
-ma_scene01,140,80,0	warp	malaya_field0020	1,1,ma_fild01,288,55
+ma_in01,86,16,0	warp	mal_in_ws	1,1,malaya,115,212
+ma_in01,24,77,0	warp	mal_in_inn	1,1,malaya,178,208
+malaya,370,277,0	warp	malaya_mal_fild01	1,1,ma_fild01,40,272
+ma_fild01,37,272,0	warp	mal_fild01_malaya	1,1,malaya,367,277
+ma_in01,33,152,0	warp	mal_in_house01	1,1,malaya,52,75
+malaya,309,70,0	warp	malaya_ship_mal_in_ship	1,1,ma_in01,108,92
+ma_in01,105,92,0	warp	mal_in_ship_malaya_ship	1,1,malaya,310,67
+ma_fild01,266,359,0	warp	mafild01_to02	1,1,ma_fild02,248,36
+ma_fild02,248,33,0	warp	mafild02_to01	1,1,ma_fild01,266,356
+ma_fild01,288,52,0	warp	mafild01_tobknw	1,1,ma_scene01,142,78
+ma_scene01,140,80,0	warp	bknw_tofild01	1,1,ma_fild01,288,55
+ma_in01,9,24,0	warp	mal_in_ts	1,1,malaya,296,167
+ma_in01,126,17,0	warp	mal_in_shop_malaya_shop	1,1,malaya,261,237
+ma_fild01,251,190,0	warp	mf_minga_mf_in_minga	1,1,ma_in01,108,160
+ma_in01,105,160,0	warp	mf_in_minga_mf_minga	1,1,ma_fild01,248,190
+
+// Locked Warps
+malaya,178,211,0	script	malaya_inn	45,1,1,{
+	end;
+OnTouch:
+	if (malaya_hi < 10) {
+		mes "Door is closed. It seems to be keeping its eyes on you.";
+		close;
+	}
+	warp "ma_in01",24,80;
+	end;
+}
+
+malaya,112,212,0	script	malaya_ws	45,1,1,{
+	end;
+OnTouch:
+	if (malaya_hi < 20) {
+		mes "Door is closed. It seems to be keeping its eyes on you.";
+		close;
+	}
+	warp "ma_in01",83,16;
+	end;
+}
+
+malaya,299,167,0	script	malaya_ts	45,1,1,{
+	end;
+OnTouch:
+	if (malaya_hi < 20) {
+		mes "Door is closed. It seems to be keeping its eyes on you.";
+		close;
+	}
+	warp "ma_in01",12,24;
+	end;
+}
+
+malaya,261,240,0	script	malaya_shop	45,1,1,{
+	end;
+OnTouch:
+	if (malaya_hi < 20) {
+		mes "Door is closed. It seems to be keeping its eyes on you.";
+		close;
+	}
+	warp "ma_in01",126,20;
+	end;
+}
+
+malaya,300,211,0	script	malaya_house01	45,1,1,{
+	end;
+OnTouch:
+	if (malaya_hi < 10) {
+		mes "Door is closed. It seems to be keeping its eyes on you.";
+		close;
+	}
+	warp "ma_in01",36,152;
+	end;
+}
 
 // Car Warps
 ma_zif01,30,22,0	warp	malaya_car0001	1,1,malaya,241,238

+ 2 - 2
sql-files/item_db.sql

@@ -3295,8 +3295,8 @@ REPLACE INTO `item_db` VALUES (6236,'Blue_Card_7','Blue Card 7',3,NULL,NULL,0,NU
 REPLACE INTO `item_db` VALUES (6237,'Guarana_Fruit','Guarana Fruit',3,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (6238,'Guarantee_Weapon_11Up','Guarantee Weapon 11Up',3,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (6239,'Guarantee_Armor_11Up','Guarantee Armor 11Up',3,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (6240,'HD_Oridecon','Purified Oridecon',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (6241,'HD_Elunium','Purified Elunium',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `item_db` VALUES (6240,'HD_Oridecon','HD Oridecon',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `item_db` VALUES (6241,'HD_Elunium','HD Elunium',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (6242,'Midgard_Coin','Midgard Coin',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (6243,'Exchange_Coupon','Exchange Coupon',3,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (6244,'Gun_Powder','Gun Powder',3,10,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);

+ 2 - 2
sql-files/item_db_re.sql

@@ -3751,8 +3751,8 @@ REPLACE INTO `item_db_re` VALUES (6236,'Blue_Card_7','Blue Card 7',3,NULL,NULL,0
 REPLACE INTO `item_db_re` VALUES (6237,'Guarana_Fruit','Guarana Fruit',3,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `item_db_re` VALUES (6238,'Guarantee_Weapon_11Up','Guarantee Weapon 11Up',3,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `item_db_re` VALUES (6239,'Guarantee_Armor_11Up','Guarantee Armor 11Up',3,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `item_db_re` VALUES (6240,'HD_Oridecon','Purified Oridecon',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `item_db_re` VALUES (6241,'HD_Elunium','Purified Elunium',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `item_db_re` VALUES (6240,'HD_Oridecon','HD Oridecon',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `item_db_re` VALUES (6241,'HD_Elunium','HD Elunium',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `item_db_re` VALUES (6242,'Midgard_Coin','Midgard Coin',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `item_db_re` VALUES (6243,'Exchange_Coupon','Exchange Coupon',3,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `item_db_re` VALUES (6244,'Gun_Powder','Gun Powder',3,10,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);