//===== rAthena Script =======================================
//= Nightmare Biolab NPCs
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Nightmare Biolab exchange NPCs
//===== Changelogs: ==========================================
//= 1.0 First version. [Capuche]
//============================================================

// Item Functions
//============================================================
function	script	F_Pieces_Of_Sentiment	{	// 22687
	specialeffect2 EF_HIT4;
	.@r = rand(6);
	if (.@r == 0)
		warp "lhz_dun_n",40,212;
	else if (.@r == 1)
		warp "lhz_dun_n",87,84;
	else if (.@r == 2)
		warp "lhz_dun_n",140,89;
	else if (.@r == 3)
		warp "lhz_dun_n",162,252;
	else if (.@r == 4)
		warp "lhz_dun_n",201,101;
	else
		warp "lhz_dun_n",230,138;
	delitem 22687,1;
	return;
}

function	script	F_Cursed_Crystal	{	// 23080
	// custom rates
	.@r = rand(500);
	if (.@r < 10)		getitem 23016,100;// Cursed_Fragment
	else if (.@r < 352)	getitem 23016,200;// Cursed_Fragment
	else if (.@r < 469)	getitem 23016,300;// Cursed_Fragment
	else if (.@r < 498)	getitem 23016,400;// Cursed_Fragment
	else				getitem 23016,500;// Cursed_Fragment
	return;
}

function	script	F_Cursed_Fragment	{	// 23016
	// custom rates
	.@r = rand(981);
	if (.@r < 166) {
		if (rand(2) == 0)
			showscript "Please... stay with me...";
		else
			showscript "Stay... here with me...";
		sleep2 200;
		warp "Random",0,0;
	}
	else if (.@r < 231)	{
		showscript "It's so cold in here...";
		sc_start SC_FREEZE,8000,0;
	}
	else if (.@r < 304) {
		showscript "I'm sorry... I will leave now... thank you...";
		getitem 6820,1;// Energy_Fragment
	}
	else if (.@r < 317)
		sc_start SC_CONFUSION,3000,0;
	else if (.@r < 328) {
		showscript "Somebody please help me...";
		sc_start SC_CURSE,3000,0;
	}
	else if (.@r < 408) {
		showscript "Dear Odin...";
		sc_start SC_ASSUMPTIO,100000,5;
		specialeffect2 EF_ASSUMPTIO;
	}
	else if (.@r < 496) {
		showscript "I will never forgive you...!";
		sc_start SC_ATKPOTION,600000,10;
		sc_start SC_MATKPOTION,600000,10;
	}
	else {
		.@rand = rand(5);
		if (.@rand == 0)
			showscript "Wake up!";
		else if (.@rand == 1)
			showscript "Stop it... It hurts...";
		else if (.@rand == 2)
			showscript "I'm so scared... scared...";
		else if (.@rand == 3)
			showscript "You shouldn't have come here...";
		else
			showscript "Hello... Is anyone there... ?";
	}
	return;
}


// Nightmare Biolab Entrances
lighthalzen,321,218,4	script	Ohno Tohiro#1	4_M_RASWORD,{
	disable_items;
	mes "[Ohno Tohiro]";
	mes "I was asked to collect some kind of research charts...";
	next;
	mes "[Ohno Tohiro]";
	mes "Uh...? I didn't realize someone is here already...";
	mes "hmm... hmm...";
	mes "Is there something you want from me?";
	while(true) {
		next;
		switch( select( "End the conversation.", "Ask him about the tomb of honor.", "Return to the tomb of honor.", "Say that Zeny is not enough." ) ) {
		case 1:
			mes "[Ohno Tohiro]";
			mes "There are many adventurers looking for this crevice, except for you!";
			mes "If you change your mind, come back to me again!";
			close;
		case 2:
			mes "[Ohno Tohiro]";
			mes "You also heard about the crevice that leads to that place, right?";
			mes "There are many adventurers like you these days!";
			next;
			mes "[Ohno Tohiro]";
			mes "I entered this crevice for the first time and guess what? It led to a place where there are so many monsters swarming around.";
			next;
			mes "[Ohno Tohiro]";
			mes "I gave a heads up to one adventurer I know. Then, he showed a high interest in it!";
			mes "He kept muttering to himself about biomedical research, labs something like that.";
			next;
			mes "[Ohno Tohiro]";
			mes "He kept asking me to show him how to get there. I felt reluctant to let him know about this crevice because I didn't want others to know about it. But I traded this info for 100,000 Zeny.";
			next;
			mes "[Ohno Tohiro]";
			mes "Not much later, he came back with his body thoroughly injured. It was a miracle that he came back alive... It was horrible...";
			mes "However, he was holding several items. At first glance, they looked so powerful that even I felt scared.";
			next;
			mes "[Ohno Tohiro]";
			mes "After that, many adventurers entered this dangerous place through this crevice after hearing the rumor. I hardly found any adventurers coming out of this crevice again. Since then, this place has been called the tomb of honor.";
			mes "I earned some money thanks to them, though.";
			next;
			mes "[Ohno Tohiro]";
			mes "You want to know why I earned money?";
			mes "I found this place for the first time, so its ownership belongs to me as well! You got a problem with that?";
			next;
			mes "[Ohno Tohiro]";
			mes "Hmm hmm... Anyway, give me 100,000 Zeny. Then, I'll open the door which leads to the crevice for adventurers like you...";
			continue;
		case 3:
			if (Zeny < 100000) {
				mes "[Ohno Tohiro]";
				mes "You don't have enough money!";
				mes "There is nothing free in this world!";
				continue;
			}
			mes "[Ohno Tohiro]";
			mes "Let me see... one... two... three";
			mes "Alright. Now that I received the Zeny, I'll open the crevice.";
			mes "I hope you can come back alive!...";
			next;
			Zeny = Zeny - 100000;
			warp "lhz_dun_n",100,202;
			end;
		case 4:
			mes "[Ohno Tohiro]";
			mes "What? You don't have enough Zeny, but you want to enter?";
			mes "Hmm... Then... by any chance, you have a research chart?";
			next;
			mes "[Ohno Tohiro]";
			mes "Hush, speak quietly. People around here may hear us. Do you have it or not?";
			next;
			mes "[Ohno Tohiro]";
			mes "Don't ask me why I need it. Just bring me 10 research charts. Then, I'll send you to the tomb of honor for nothing. What you do think?";
			next;
			if (select( "Go back to the previous menu.", "Hand over 10 research charts." ) == 1) {
				mes "[Ohno Tohiro]";
				mes "You got any other business with me?";
				continue;
			}
			if (countitem(7347) < 10) {
				mes "[Ohno Tohiro]";
				mes "It seems 10 research charts are missing now.";
				mes "Maybe you didn't pick them up from the warehouse.";
				next;
				mes "[Ohno Tohiro]";
				mes "Is there something else you want from me?";
				continue;
			}
			mes "[Ohno Tohiro]";
			mes "Oh... yes, this is it... This is what I need... hoo hoo...";
			next;
			mes "[Ohno Tohiro]";
			mes "I'll send you to the crevice as promised.";
			mes "I want you alive. See you again!";
			next;
			delitem 7347,10;// Research Chart
			warp "lhz_dun_n",100,202;
			end;
		}
	}
}

lighthalzen,320,204,3	script	A kid with black finger	4_F_04,{
	disable_items;
	mes "[Lunar]";
	mes "What are you looking for? Are you looking for the place where all the dead men roam?";
	next;
	mes "[Lunar]";
	mes "I can take you there if you want. You will need ^0000cd20 Sentimental Fragment and 150K Zeny^000000.";
	next;
	mes "[Lunar]";
	mes "Or you can just see sentiment safely without the interruption of the dead. That will cost you ^0000cd30 Sentimental Fragment and 2M Zeny^000000.";
	next;
	mes "[Lunar]";
	mes "Where do you want to go?";
	next;
	switch( select( "Where all the dead men roam.", "Only thoughts can be met.", "What kind of place is it?", "I don't mind." ) ) {
	case 1:
		mes "[Lunar]";
		mes "You have everything right?";
		next;
		if (countitem(22687) < 20 || Zeny < 150000) {
			mes "[Lunar]";
			mes "Let me see.";
			next;
			mes "[Lunar]";
			mes "It's not enough. You need ^0000cd20 Sentimental Fragment and 150K Zeny^000000. I can't take you there for free.";
			close;
		}
		mes "[Lunar]";
		mes "You have everything right?";
		next;
		mes "[Lunar]";
		mes "Good. You have everything. I'll take you there.";
		next;
		mes "[Lunar]";
		mes "But... I'm taking you there for money... you should be careful.";
		next;
		mes "[Lunar]";
		mes "So.. if you go inside, you'll see a ^0000cdStrange Machine that looks like a crystal^000000.";
		next;
		mes "[Lunar]";
		mes "This machine will recover your HP if you use it. It helped me survive. I have no idea why it's in that kind of place though...";
		next;
		mes "[Lunar]";
		mes "I turned off the machine so no one can use it, but I'll let you use it as my special treat.";
		next;
		mes "[Lunar]";
		mes "Please be careful and use the machine if you need to!!";
		delitem 22687,20;// Sentimental Fragment
		Zeny = Zeny - 150000;
		if (isbegin_quest(14683) > 0)
			erasequest 14683;
		setquest 14683;// Mysterious Device
		close2;
		warp "lhz_dun_n",162,254;
		end;
	case 2:
		mes "[Lunar]";
		mes "You've got all the items and money??";
		next;
		if (countitem(22687) < 30 || Zeny < 2000000) {
			mes "[Lunar]";
			mes "Let me see.";
			next;
			mes "[Lunar]";
			mes "It's not enough. ^0000cd30 Sentimental Fragment and 2M Zeny^000000 are needed. I can't take you for free.";
			close;
		}
		mes "[Lunar]";
		mes "Good. You have everything. I'll take you there.";
		next;
		mes "[Lunar]";
		mes "The exit is outside of the wall.";
		next;
		mes "[Lunar]";
		mes "^EE0000Well, I also have a warning. Your location can't be saved in there, so if you log off or get disconnected, you'll be moved to your save point.";
		close2;
		delitem 22687,30;
		Zeny = Zeny - 2000000;
		warp "lhz_d_n2",60,44;
		end;
	case 3:
		mes "[Lunar]";
		mes "I dug in the ground to find something to eat and I found something even better.";
		next;
		mes "[Lunar]";
		mes "The living can't survive there. Only the dead roam around.";
		next;
		mes "[Lunar]";
		mes "There's a rumor.. that people who went there never came back...";
		next;
		mes "[Lunar]";
		mes "I was so scared but.. it became clear that it's a popular place for adventurers to visit.";
		next;
		mes "[Lunar]";
		mes "The place I arrived at was ^0000cdnear Strange Sentiment^000000.";
		next;
		mes "[Lunar]";
		mes "I ran away since so many dead men tried to kill me.";
		next;
		mes "[Lunar]";
		mes "But then I got lost and fell down to a weird place.";
		next;
		mes "[Lunar]";
		mes "The place was the same as where the dead men roam ^0000cdbut there are only sentiments^000000. I was so scared, so I got out right away.";
		next;
		mes "[Lunar]";
		mes "I will take you there if you give me the money and items.";
		next;
		mes "[Lunar]";
		mes "You might go easier without his help.";
		close;
	case 4:
		mes "[Lunar]";
		mes "Please visit me any time. We have nothing to lose anyway.";
		close;
	}
}

lighthalzen,327,216,3	script	Crevice#1	4_CRACK,{
	end;
OnInit:
	while(true) {
		sleep 6000;
		specialeffect EF_AGIUP3;
	}
	end;
}

// Dungeon exit
lhz_dun_n,96,203,3	script	Dungeon gateway#1	4_CRACK,{
	if (select( "Don't exit the dungeon.", "Exit the dungeon." ) == 1) {
		mes "- You still have business to deal with here -";
		close;
	}
	warp "lighthalzen",310,228;
	end;

OnInit:
	while(true) {
		sleep 6000;
		specialeffect EF_AGIUP3;
	}
	end;
}

// Lighthalzen Exchange NPCs
lighthalzen,319,213,4	script	Veteran Adventurer#JCv2	4_M_MELODY,2,2,{
	disable_items;
	mes "[Veteran Adventurer]";
	mes "Oh! You want to exchange mind or grudge pieces?";
	next;
	setarray .@items[0],
		6469,200,	// Will of Warrior
		6470,200,	// Blood Thirst
		6471,300;	// Ghost Chill
	.@color$[0] = countitem(6820) < 200 ? "^777777" : "^000000";
	.@color$[1] = countitem(6820) < 300 ? "^777777" : "^000000";
	.@s = select( "Listen to the story.", .@color$[0] + "1 Will of Warrior (200 Energy pieces)", .@color$[0] + "1 Blood Thirst (200 energy pieces)", .@color$[1] + "1 Ghost Chill (300 energy pieces)^000000" ) - 2;
	if (.@s == -1) {
		emotion ET_QUESTION;
		mes "[Veteran Adventurer]";
		mes "You look like you have free time, don't you? Well, my business is slow these days too...";
		next;
		mes "[Veteran Adventurer]";
		mes "One day, the guild master entered in my guild all of a sudden...";
		next;
		mes "[Veteran Adventurer]";
		mes "'^1F294DI'll make all members in all guilds wear the Cloak of the Fallen Soldier!!^000000'.";
		next;
		mes "[Veteran Adventurer]";
		mes "As you know, this equipment requires a large amount of material, so all guild members had no choice but to be stuck in the dungeon and forced to work.";
		next;
		mes "[Veteran Adventurer]";
		mes "You never know what luck you eventually may have. I flung myself into this digging work with determination and found so many rare pieces.";
		next;
		mes "[Veteran Adventurer]";
		mes "Ms. Sub-guild master sent me to exchange things with others as a pile kept forming.";
		next;
		mes "[Veteran Adventurer]";
		mes "Of course, the amount of exchange was decided by the guild master emphasizing";
		mes "'^1F294DI'll never accept it if it's below this amount!!^000000'...";
		next;
		emotion ET_HNG;
		mes "[Veteran Adventurer]";
		mes "Ms. Sub-guild master tried to throw dirt into the guild master's eyes. We really had a hard time stopping her.";
		next;
		mes "[Veteran Adventurer]";
		mes "I guess we can take care of it quickly if he adjusts it to a low amount. (sigh)... That's what happened.";
		close;
	}
	.@s *= 2;
	mes "[Veteran Adventurer]";
	mes "^3300661 " + getitemname(.@items[.@s]) + "^000000 is exchanged with ^CC3333" + .@items[.@s+1] + " Energy Pieces^000000.";
	next;
	if (select( "Exchange.", "Do not exchange." ) == 2) {
		emotion ET_OTL;
		mes "[Veteran Adventurer]";
		mes "What?... I thought you were going to exchange it.";
		close;
	}
	while(true) {
		if (countitem(6820) < .@items[.@s+1]) {
			emotion ET_SORRY;
			mes "[Veteran Adventurer]";
			mes "Sorry. I don't have a choice because the guild master ordered it. You need " + .@items[.@s+1] + " items, if he says no, I'm not at liberty to exchange it.";
			close;
		}
		delitem 6820, .@items[.@s+1];// Energy Pieces
		getitem .@items[.@s],1;
		mes "[Veteran Adventurer]";
		mes "Would you like to continue to exchange it?";
		next;
		if (select( "Continue with the exchange.", "Stop the exchange." ) == 2) {
			emotion ET_THANKS;
			mes "[Veteran Adventurer]";
			mes "Thank you... I guess I won't be punished by the guild master, thanks to you.";
			close;
		}
	}
	end;

OnTouch:
	.@r = rand(4);
	if (.@r == 0)
		npctalk "I would like to exchange 1 Will of Warrior for 200 energy pieces.", "", bc_self;
	else if (.@r == 1)
		npctalk "I would like to exchange 1 Ghost Chill with 300 energy pieces.", "", bc_self;
	else if (.@r == 2)
		npctalk "I would like to exchange 1 Blood Thirst with 200 energy pieces.", "", bc_self;
	else {
		emotion ET_OHNO;
		npctalk "Oh!... Why is it so difficult to find pieces?", "", bc_self;
	}
	end;
}

lighthalzen,312,296,4	script	Bully#JCv2	4_M_LGTPOOR,{
	disable_items;
	mes "[Bully]";
	mes "Hey, buddy. Do you have some remaining Energy pieces? I'll exchange them with something appropriate if you want.";
	next;
	.@s = select(
		"Listen to the story.",
		( countitem(25127) < 2000 ? "^777777" : "^000000" ) + "1 Energy Fragment (2000 Silent E Particles)",
		( countitem(25128) < 1000 ? "^777777" : "^000000" ) + "1 Energy Fragment (1000 Weak E Particles)",
		( countitem(25129) < 500 ? "^777777" : "^000000" ) + "1 Energy Fragment (500 Unstable E Particles)",
		( countitem(25130) < 500 ? "^777777" : "^000000" ) + "1 Energy Fragment (500 Sinister E Particles)",
		( countitem(25131) < 50 ? "^777777" : "^000000" ) + "1 Energy Fragment (50 Fallen E Particles)",
		( countitem(6820) < 50 ? "^777777" : "^000000" ) + "1 Sentimental Fragment (50 Energy Fragments)",
		( countitem(6820) < 666 ? "^777777" : "^000000" ) + "1 Cursed Fragment (666 Energy Fragments)"
	) - 2;
	if (.@s == -1) {
		emotion ET_THINK;
		mes "[Bully]";
		mes ". . . . . . .";
		next;
		mes "[Bully]";
		mes "Hmm... this is quite unexpected.";
		mes "Normally he ignores me and goes on to do his work.";
		next;
		mes "[Bully]";
		mes "I'm sorry, but I've got nothing to say. I'm just doing this because I can earn lots of money.";
		close;
	}
	setarray .@exchange[0],
		6820, 25127,2000,	// Silent Energy Particle -> Energy Fragment
		6820, 25128,1000,	// Weak Energy Particles -> Energy Fragment
		6820, 25129,500,	// Unstable Energy Particle -> Energy Fragment
		6820, 25130,500,	// Sinister Energy Particle -> Energy Fragment
		6820, 25131,50,		// Fallen Energy Particle -> Energy Fragment
		22687, 6820,50,		// Energy Fragment -> Sentimental Fragment
		23016, 6820,666;	// Energy Fragment -> Cursed Fragment
	.@index = .@s * 3;
	mes "[Bully]";
	mes "Are you sure you want to exchange ^330066" + .@exchange[.@index+2] + " " + getitemname(.@exchange[.@index+1]) + "^000000 with ^CC33331 " + getitemname(.@exchange[.@index]) + "^000000?";
	next;
	if (select( "Exchange.", "Do not exchange." ) == 2) {
		emotion ET_HNG;
		mes "[Bully]";
		mes "Well... if you don't like it, never mind.";
		close;
	}
	while(true) {
		if (countitem(.@exchange[.@index+1]) < .@exchange[.@index+2]) {
			emotion ET_SCRATCH;
			mes "[Bully]";
			mes "No... No... you shouldn't do this.";
			mes "You told me you would exchange it with " + .@exchange[.@index+2] + " (item)s.";
			close;
		}
		delitem .@exchange[.@index+1], .@exchange[.@index+2];
		getitem .@exchange[.@index], 1;
		emotion ET_SEXY;
		mes "[Bully]";
		mes "Oh thank you. Is there something else you want to exchange?";
		next;
		if (select( "Continue with the exchange.", "Stop the exchange." ) == 2) {
			mes "[Bully]";
			mes "When you have some energy piece left, come to me again.";
			close;
		}
	}
}

// Enchants NPCs
lhz_dun_n,145,265,4	script	Silent Mind#JCv2	4_CENERE,{
	disable_items;
	mes "[Silent Mind]";
	mes ". . . . . .!";
	mes "...";
	mes "^FF0000*You can obtain the Death's Chest when you give 3 of the same types of souls to the mind.*^000000";
	next;
	setarray .@item[0],6814,6815,6816,6817,6818,6819;
	for ( .@i = 0; .@i < 6; ++.@i ) {
		if (countitem(.@item[.@i]) < 3)
			.@menu$ += "^777777Not enough " + getitemname(.@item[.@i]) + ".^000000:";
		else
			.@menu$ += "Hand over 3 " + getitemname(.@item[.@i]) + ".:";
	}
	.@s = select(.@menu$) - 1;
	while(true) {
		if (countitem(.@item[.@s]) < 3) {
			emotion ET_HNG;
			mes "[Silent Mind]";
			mes "!. . . . . .";
			mes "^FF0000*You need 3 of the same types of souls to trade with the Death's Chest.*^000000";
			close;
		}
		delitem .@item[.@s],3;
		getitem 22679,1;// Chest_of_Death
		emotion ET_HUNGRY;
		mes "[Silent Mind]";
		mes ". . . . . .";
		mes "...";
		mes "^FF0000*You've obtained the Death's Chest. Would you like to continue the trade?*^000000";
		next;
		if (select( "Continue with the exchange.", "Stop the exchange." ) == 2) {
			mes "[Silent Mind]";
			mes ". . . . . .";
			close;
		}
	}
}

lhz_dun_n,134,265,2	script	Wandering Mind#JCv2	4_CENERE,{
	disable_items;
	npctalk "Kkk... I can... sense...", "", bc_self;
	mes "[Wandering Mind]";
	mes "Kkk... I can... sense...the grudges...of countless...subjects...";
	next;
	npctalk "Who... am... I?...", "", bc_self;
	mes "[Wandering Mind]";
	mes "Where is... here?... here?... Aaargh... Who... am... I?... I cannot... remember...";
	next;
	mes "[Wandering Mind]";
	mes "I need... grudge's... grudge's... strong... power... It will help... both me... and you... all... Kkk...";
	next;
	switch( select( "Old Helmet enchant", "Old Helmet reset", "Old Helmet enchant description" ) ) {
	case 1:
		npctalk "Hand over... grudge... grudge...", "", bc_self;
		mes "[Wandering Mind]";
		mes "Krrr... hehe... hand over... grudge's... grudge's... strong power... I'll enchant... a special power... into the helmet...";
		mes "^FF0000*If you bring Cursed Fragment, you can enchant it into the Old Helmet.*^000000";
		next;
		.@equip_id = getequipid(EQI_HEAD_TOP);
		switch(.@equip_id) {
			case 18971:// Old_Rune_Circlet
			case 18972:// Old_Mitra
			case 18973:// Old_Driver_Band_R
			case 18974:// Old_Driver_Band_Y
			case 18975:// Old_Shadow_Handicraft
			case 18976:// Old_Minstrel_Song_Hat
			case 18977:// Old_Midas_Whisper
			case 18978:// Old_Magic_Stone_Hat
			case 18979:// Old_Blazing_Soul
			case 18980:// Old_Wind_Whisper
			case 18981:// Old_Dying_Swan
			case 18982:// Old_Circlet_Of_Bone
			case 18983:// Old_Protect_Of_Crown
			case 18984:// Old_Camo_RabbitHood
				break;
			default:
				npctalk "Destroy it... Destroy it...", "", bc_self;
				mes "[Wandering Mind]";
				mes "This is... interesting... In that helmet... there is no fragrance... filled with a special power... Do you want... destruction...? kkk...";
				mes "^FF0000*Enchantment using Cursed Fragment is only possible in the Old Helmet.*^000000";
				close;
		}
		mes "[Wandering Mind]";
	
		.@requirement = 10;	// 10 Cursed Fragments by default
		setarray .@card[0], getequipcardid(EQI_HEAD_TOP,0), getequipcardid(EQI_HEAD_TOP,1), getequipcardid(EQI_HEAD_TOP,2), getequipcardid(EQI_HEAD_TOP,3);
		.@refine = getequiprefinerycnt(EQI_HEAD_TOP);
	
		if (.@card[3] == 0) {
			.@slot = 3;
			mes "How about... we begin... lightly?... Test... your luck... Kr..hehe...";
			mes "^FF0000*Attempts enchantment to 4th slot. One of 6 statuses is randomly enchanted.*^000000";
		}
		else if (.@card[2] == 0) {
			.@slot = 2;
			mes "Kr... hehe... Do... you like... your... first... enchantment?...";
			mes "^FF0000*Attempts enchantment to 3rd slot. One of 6 statuses is randomly enchanted.*^000000";
		}
		else if (.@card[1] == 0) {
			.@slot = 1;
			mes "Kr... hehe... Whether there will be... a door... to acquire... a much stronger power... will be... decided... now...";
			mes "^FF0000*Attempts enchantment to 2nd slot.";
			mes "Once you succeed in Mettle, Magic Essence, Acute, Master Archer, Adamantine, Affection enchantments, it can be reinforced.*^000000";
		}
		else {
			// enchant leveling
			switch( .@card[1] ) {
			case 29061:	// Ambition1Lv
			case 29071:	// Tab1Lv
			case 29081:	// Expect1Lv
			case 29091:	// ArchLine1Lv
			case 29101:	// Steel1Lv
			case 29111:	// Mercy1Lv
				mes "Kr... he... he... You are... lucky... I wish... you all the success!... Only then... will you come and visit me... with more grudges... I suppose...";
				.@requirement = 20;
				.@enchant_level = 1;
				.@enchant_rate = 80;
				break;
			case 29062:	// Ambition2Lv
			case 29072:	// Tab2Lv
			case 29082:	// Expect2Lv
			case 29092:	// ArchLine2Lv
			case 29102:	// Steel2Lv
			case 29112:	// Mercy2Lv
				mes "3rd... level... reinforcement?... If you succeed... you will... gain... much stronger powers... but if you fail... you'll lose the powers... that you've gathered... so far...";
				.@requirement = 40;
				.@enchant_level = 2;
				.@enchant_rate = 70;
				break;
			case 29063:	// Ambition3Lv
			case 29073:	// Tab3Lv
			case 29083:	// Expect3Lv
			case 29093:	// ArchLine3Lv
			case 29103:	// Steel3Lv
			case 29113:	// Mercy3Lv
				mes "4th... level... reinforcement?... If you succeed... you will... gain... much stronger powers... but if you fail... you'll lose the powers... that you've gathered... so far...";
				.@requirement = 50;
				.@enchant_level = 3;
				.@enchant_rate = 50;
				break;
			case 29064:	// Ambition4Lv
			case 29074:	// Tab4Lv
			case 29084:	// Expect4Lv
			case 29094:	// ArchLine4Lv
			case 29104:	// Steel4Lv
			case 29114:	// Mercy4Lv
				mes "5th... level... reinforcement?... Are you... ready... to control... such huge... powers?... but if you fail... the result will be... worth... seeing...";
				.@requirement = 70;
				.@enchant_level = 4;
				.@enchant_rate = 20;
				break;
			case 29065:	// Ambition5Lv
			case 29075:	// Tab5Lv
			case 29085:	// Expect5Lv
			case 29095:	// ArchLine5Lv
			case 29105:	// Steel5Lv
			case 29115:	// Mercy5Lv
				mes "6th... level... reinforcement?... Are you... ready... to control... such huge... powers?... but if you fail... the result will be... worth... seeing...";
				.@requirement = 100;
				.@enchant_level = 5;
				.@enchant_rate = 20;	// unknown rates
				break;
			case 29066:	// Ambition6Lv
			case 29076:	// Tab6Lv
			case 29086:	// Expect6Lv
			case 29096:	// ArchLine6Lv
			case 29106:	// Steel6Lv
			case 29116:	// Mercy6Lv
				// custom text
				mes "7th... level... reinforcement?... Are you... ready... to control... such huge... powers?... but if you fail... the result will be... worth... seeing...";
				.@requirement = 150;
				.@enchant_level = 6;
				.@enchant_rate = 20;	// unknown rates
				break;
			case 29067:	// Ambition7Lv
			case 29077:	// Tab7Lv
			case 29087:	// Expect7Lv
			case 29097:	// ArchLine7Lv
			case 29107:	// Steel7Lv
			case 29117:	// Mercy7Lv
				// custom text
				mes "8th... level... reinforcement?... Are you... ready... to control... such huge... powers?... but if you fail... the result will be... worth... seeing...";
				.@requirement = 250;
				.@enchant_level = 7;
				.@enchant_rate = 20;	// unknown rates
				break;
			case 29068:	// Ambition8Lv
			case 29078:	// Tab8Lv
			case 29088:	// Expect8Lv
			case 29098:	// ArchLine8Lv
			case 29108:	// Steel8Lv
			case 29118:	// Mercy8Lv
				// custom text
				mes "9th... level... reinforcement?... Are you... ready... to control... such huge... powers?... but if you fail... the result will be... worth... seeing...";
				.@requirement = 500;
				.@enchant_level = 8;
				.@enchant_rate = 20;	// unknown rates
				break;
			case 29069:	// Ambition9Lv
			case 29079:	// Tab9Lv
			case 29089:	// Expect9Lv
			case 29099:	// ArchLine9Lv
			case 29109:	// Steel9Lv
			case 29119:	// Mercy9Lv
				// custom text
				mes "10th... level... reinforcement?... Are you... ready... to control... such huge... powers?... but if you fail... the result will be... worth... seeing...";
				.@requirement = 1000;
				.@enchant_level = 9;
				.@enchant_rate = 20;	// unknown rates
				break;
			case 29070:	// Ambition10Lv
			case 29080:	// Tab10Lv
			case 29090:	// Expect10Lv
			case 29100:	// ArchLine10Lv
			case 29110:	// Steel10Lv
			case 29120:	// Mercy10Lv
				// custom text
			default:
				mes "Krr hehe... It's impossible... to reinforce... this power... The only way left is... to reset...";
				mes "^FF0000*Mettle, Magic Spirit, Vigor, Bull's Eye, Adamantine, Benevolence";
				mes "You can reinforce the enchantment level only when the equipment is enchanted.*^000000";
				close;
			}
			.@slot = 999;
		}
		next;
		mes "[Wandering Mind]";
		mes "However...before that happens... I need to check... whether or not you have... sufficient Cursed Fragments... ";
		next;
		mes "[Wandering Mind]";
		mes "Cursed... Fragments..." + .@requirement + " are... needed... I wonder... whether... you can afford... them?... kk... kk...";
		mes "^FF0000*In enchantment, " + .@requirement + " Cursed Fragment(s) is(are) required.*^000000";
		next;
		if (select( "Pay fee.", "Do not pay fee." ) == 2) {
			mes "[Wandering Mind]";
			mes "K...kk... It seems... you're not... ready to accept... such a huge power... yet...";
			close;
		}
		if (countitem(23016) < .@requirement) {// Cursed Fragment
			mes "[Wandering Mind]";
			mes "K...kk... are you... kidding... me?... How come... you... crave for... the power... with such a trivial grudge?...";
			mes "^FF0000*In enchantment, Cursed Fragment(s) 10 item(s) is(are) required.";
			mes "Check the amount of Cursed Fragments you possess.*^000000";
			close;
		}
		mes "[Wandering Mind]";
		mes "Krr.. hehe... It's... the power of the grudge... I think... this power... is strong... enough to...";
		mes "^FF0000*Equipment smelting level, card, equipment loss doesn't occur. However, the enchantment level may be downgraded, depending on the success or failure.*^000000";
		next;
		if (select( "Perform the enchantment.", "Do not perform the enchantment." ) == 2) {
			mes "[Wandering Mind]";
			mes "K...kk... It seems... you're not... ready to accept... such a huge power... yet...";
			close;
		}
		progressbar "000000",1;
		delitem 23016, .@requirement;// Cursed Fragment

		// anti-hack
		if (callfunc("F_IsEquipIDHack", EQI_HEAD_TOP, .@equip_id) || callfunc("F_IsEquipCardHack", EQI_HEAD_TOP, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", EQI_HEAD_TOP, .@refine))
			close;

		switch(.@slot) {
		case 3:
		case 2:
			setarray .@enchant[0],
				4700,	// Strength1
				4701,	// Strength2
				4702,	// Strength3
				4703,	// Strength4
				4704,	// Strength5
				4710,	// Inteligence1
				4711,	// Inteligence2
				4712,	// Inteligence3
				4713,	// Inteligence4
				4714,	// Inteligence5
				4720,	// Dexterity1
				4721,	// Dexterity2
				4722,	// Dexterity3
				4723,	// Dexterity4
				4724,	// Dexterity5
				4730,	// Agility1
				4731,	// Agility2
				4732,	// Agility3
				4733,	// Agility4
				4734,	// Agility5
				4740,	// Vitality1
				4741,	// Vitality2
				4742,	// Vitality3
				4743,	// Vitality4
				4744,	// Vitality5
				4750,	// Luck1
				4751,	// Luck2
				4752,	// Luck3
				4753,	// Luck4
				4754;	// Luck5
			.@card[.@slot] = .@enchant[ rand( getarraysize(.@enchant) ) ];	// unknown rates
			break;
		case 1:
			setarray .@enchant[0],
				4703,	// Strength4
				4704,	// Strength5
				4713,	// Inteligence4
				4714,	// Inteligence5
				4723,	// Dexterity4
				4724,	// Dexterity5
				4733,	// Agility4
				4734,	// Agility5
				4743,	// Vitality4
				4744,	// Vitality5
				4753,	// Luck4
				4754,	// Luck5
				29061,	// Ambition1Lv
				29071,	// Tab1Lv
				29081,	// Expect1Lv
				29091,	// ArchLine1Lv
				29101,	// Steel1Lv
				29111;	// Mercy1Lv
			.@card[1] = .@enchant[ rand( getarraysize(.@enchant) ) ];	// unknown rates
			break;
		case 999:
			// enchant leveling
			if (.@enchant_rate > rand(100))
				.@level_dt = 1;
			else
				.@level_dt = -1;
			.@enchant_level += .@level_dt;
			.@card[1] += .@level_dt;
			if (.@card[1] < 29061 || .@card[1] > 29120) {
				mes "[Wandering Mind]";
				mes "Something bad happened.";
				close;
			}
			if (.@enchant_level < 1 || .@enchant_level > 10) {
				// item not deleted
				specialeffect2 EF_SUI_EXPLOSION;
				mes "[Wandering Mind]";
				mes "K..aargh...!! The power of the grudge... was driven... into a frenzy... However... fortunately it didn't explode because the power... was.... weak.";
				close;
			}
			break;
		default:
			mes "[Wandering Mind]";
			mes "Something bad happened.";
			close;
		}
		delequip EQI_HEAD_TOP;
		getitem2 .@equip_id,1,1,.@refine,0,.@card[0],.@card[1],.@card[2],.@card[3];
		if (.@level_dt == -1) {// can only happens during enchant leveling
			specialeffect2 EF_SUI_EXPLOSION;
			mes "[Wandering Mind]";
			mes "K..aargh...!! The power of the grudge... was driven... to a frenzy... The power... which used to be... stable... also fell... one level down...";
			mes "^FF0000*Due to enchantment failure, it has been downgraded one level down.*^000000";
			close;
		}
		specialeffect2 EF_FIREHIT;
		mes "[Wandering Mind]";
		mes "It... is a success. I can sense that the power of the grudge has become stronger.";
		mes "^FF0000*Congratulation. You've succeeded in enchantment.*^000000";
		close;
	case 2:
		.@equip_id = getequipid(EQI_HEAD_TOP);
		switch(.@equip_id) {
			case 18971:// Old_Rune_Circlet
			case 18972:// Old_Mitra
			case 18973:// Old_Driver_Band_R
			case 18974:// Old_Driver_Band_Y
			case 18975:// Old_Shadow_Handicraft
			case 18976:// Old_Minstrel_Song_Hat
			case 18977:// Old_Midas_Whisper
			case 18978:// Old_Magic_Stone_Hat
			case 18979:// Old_Blazing_Soul
			case 18980:// Old_Wind_Whisper
			case 18981:// Old_Dying_Swan
			case 18982:// Old_Circlet_Of_Bone
			case 18983:// Old_Protect_Of_Crown
			case 18984:// Old_Camo_RabbitHood
				break;
			default:
				npctalk "Destroy it... Destroy it...", "", bc_self;
				mes "[Wandering Mind]";
				mes "This is... interesting... In that helmet... there is no fragrance... filled with a special power... Do you want... destruction...? kkk...";
				mes "^FF0000*Enchantment using Cursed Fragments is only possible in the Old Helmet.*^000000";
				close;
		}
		setarray .@card[0], getequipcardid(EQI_HEAD_TOP,0), getequipcardid(EQI_HEAD_TOP,1), getequipcardid(EQI_HEAD_TOP,2), getequipcardid(EQI_HEAD_TOP,3);
		.@refine = getequiprefinerycnt(EQI_HEAD_TOP);

		if (.@card[3] < 1) {// one enchant required
			npctalk "You are... very calm...", "", bc_self;
			mes "[Wandering Mind]";
			mes "kkk... You look pretty calm... There is no power... contained... in the thing... I gave... to you...";
			mes "^FF0000*This helmet is not enchanted, so it cannot be reset.*^000000";
			close;
		}
		npctalk "Krr... hehe... I will eat... well... today...", "", bc_self;
		mes "[Wandering Mind]";
		mes "Kkk... You don't... like this power?... Bring me 10 mind powers... Then, I'll make this power... disappear...";
		mes "^FF0000*You need 10 Sentimental Fragments to reset it.";
		mes "All enchantments applied to the helmet, except for the smelting level of equipment and 1 slot card, will be reset.*^000000";
		next;
		if (select( "Ignore him.", "Pay fee." ) == 1) {
			npctalk "Forever...", "", bc_self;
			mes "[Wandering Mind]";
			mes "I'll... wait for... you... If you need me to... I'll wait for you... forever... kkk...";
			close;
		}
		if (countitem(22687) < 10) {// Sentimental Fragment
			mes "Kk..k... If you... don't bring...";
			mes "10 mind powers... I will be... in trouble...";
			mes "^FF0000*You need 10 Sentimental Fragments to reset it.";
			mes "Check the amount of Sentimental Fragments that you possess.*^000000";
			close;
		}
		npctalk "K... kk...", "", bc_self;
		mes "[Wandering Mind]";
		mes "Fine!... I'll... reset... the enchantment... of the old helmet... I think... we may be able to absorb... a strong mind...";
		next;
		progressbar "000000",2;
		specialeffect2 EF_FIREHIT;
		delitem 22687,10;// Sentimental Fragment

		if (callfunc("F_IsEquipIDHack", EQI_HEAD_TOP, .@equip_id) || callfunc("F_IsEquipCardHack", EQI_HEAD_TOP, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", EQI_HEAD_TOP, .@refine))
			close;

		delequip EQI_HEAD_TOP;
		getitem2 .@equip_id,1,1,.@refine,0,.@card[0],0,0,0;
		mes "[Wandering Mind]";
		mes "K..kk... The power... of a strong grudge... has been... absorbed... Things I've lost... K.. aargh...";
		close;
	case 3:
		for ( .@i = 18971; .@i <= 18984; ++.@i ) {
			if (.@i < 18977)
				.@string$[0] += getitemname(.@i) + ", ";
			else if (.@i < 18984)
				.@string$[1] += getitemname(.@i) + ", ";
			else
				.@string$[2] = getitemname(.@i);
		}
		mes "[Wandering Mind]";
		mes "Do you want... power?... If so, you... need to have... the old Helmet..";
		mes "^FF0000*You can enchant it into the " + .@string$[0];
		mes "" + .@string$[1];
		mes "" + .@string$[2] + ".*^000000";
		next;
		mes "[Wandering Mind]";
		mes "If you... bring grudge's... power... I'll... give you... great power...";
		mes "^FF0000*You need Cursed Fragments in order to enchant it.*^000000";
		next;
		mes "[Wandering Mind]";
		mes "Kkk... Of course... in order to obtain... great power... you may need... a countless amount of... grudge's... power...";
		mes "^FF0000*Enchantment is proceeded in the order of 4, 3, 2 slots. You need 10 Cursed Fragments when you enchant each slot for the first time.*^000000";
		next;
		mes "[Wandering Mind]";
		mes "If you have... the opportunity... you might be... able to upgrade... the enchantment level... ";
		mes "^FF0000*When reinforcing the enchant level, 50, 70, 100, 150, 250, 500, 1000 Cursed Fragments are consumed, depending on the enchant level";
		mes "increase after 20 Cursed Fragments in the 2nd step, and 40 Cursed Fragments in the 3rd step.*^000000";
		close;
	}
}

lhz_dun_n,143,269,4	script	Victimized Soul's Mind#1	4_M_DEATH2,{
	disable_items;
	.@r = rand(5);
	if (.@r == 0)
		npctalk "You... are the ones... who turned... me... into a monster...", "", bc_self;
	else if (.@r == 1)
		npctalk "Please save me... I'll... do whatever... you order...", "", bc_self;
	else if (.@r == 2)
		npctalk "My beloved... wife and daughter... are waiting for... me... at home...", "", bc_self;
	else if (.@r == 3)
		npctalk "After such... a terrible thing.. you... did", "", bc_self;
	else
		npctalk "My...leg...my...arm...", "", bc_self;
	mes "[Victimized Soul's Mind]";
	mes "Countless... subjects'... minds...";
	mes "Past...present...and revenge...";
	mes "Who are you...";
	mes "Can...you console... us who... are tormented in sadness?...";
	next;
	if (.@r == 0)
		npctalk "Even after I die... or in my dream...", "", bc_self;
	else if (.@r == 1)
		npctalk "Please... save me... Please put away... that knife... It scares me...", "", bc_self;
	else if (.@r == 2)
		npctalk "Please... just... let me go... I'll give you money... as much as you want...", "", bc_self;
	else if (.@r == 3)
		npctalk "Aren't... you afraid of... God's... wrath?...", "", bc_self;
	else
		npctalk "Aargh... Ah... Urgh...", "", bc_self;
	mes "[Victimized Soul's Mind]";
	mes "If you... can... do it... maybe... I can... give... you guys help...";
	next;
	if (.@r == 0)
		npctalk "I'll munch you... into pieces...", "", bc_self;
	else if (.@r == 1)
		npctalk "Please... Aaargh...", "", bc_self;
	else if (.@r == 2)
		npctalk "Please...", "", bc_self;
	else if (.@r == 3)
		npctalk "God... will protect... you... if you... repent... your sin... just now...", "", bc_self;
	else
		npctalk "...shrieking...", "", bc_self;
	mes "[Victimized Soul's Mind]";
	mes "Weapon which appears... to be filled with... strong minds... our sadness... and resentment...";
	mes "If you... bring... one... I'll restore... it... to energy... pieces...";
	while(true) {
		next;
		if (select( "Hand over the weapon.", "End the conversation." ) == 2) {
			mes "[Victimized Soul's Mind]";
			mes "...You... will... find me... again...";
			close;
		}
		mes "[Victimized Soul's Mind]";
		mes "What kind... of mind... is contained... in this... weapon?...";
		next;
		while(true) {
			switch( select( "Go back to previous menu.", "Katar", "Bow", "Axe, Mace, Book", "Wand", "Sword, Dagger", "Spear, Two-handed sword", "Musical instrument, Whip, Knuckle" ) ) {
			case 1:
				break;
			case 2:
				callsub S_Exchange,
					1284,	// Krishna
					1290,	// Agent_Katar
					1285,	// Chakram
					1291;	// Guillotine_Katar
				continue;
			case 3:
				callsub S_Exchange,
					18109,	// Catapult
					18110,	// Big_CrossBow
					1745,	// Falken_Blitz
					18103,	// Mystic_Bow
					18111;	// Creeper_Bow
				continue;
			case 4:
				callsub S_Exchange,
					1311,	// Vecer_Axe
					1392,	// Ygnus_Stale
					1393,	// End_Sektura
					16017,	// Bloody_Cross
					16010,	// Red_Ether_Bag
					2161,	// Geffenia_Book_Water
					1584,	// Chilly_Spell_Book
					16000,	// Erde
					16001;	// Red_Square_Bag
				continue;
			case 5:
				callsub S_Exchange,
					2005,	// Dea_Staff
					2004,	// Kronos
					1647,	// Croce_Staff
					1659,	// Recovery_Light
					1646,	// La'cryma_Stick
					1654;	// Mental_Stick
				continue;
			case 6:
				callsub S_Exchange,
					13431,	// Chrome_Sword
					13421,	// Ruber
					13061,	// Black_Wing
					13062,	// Ancient_Dagger
					13070,	// Scarletto_Nail
					13069,	// Aztoe_Nail
					13046,	// Krieg
					13047;	// Weihna
				continue;
			case 7:
				callsub S_Exchange,
					1433,	// Imperial_Spear
					1435,	// Cannon_Spear
					1490,	// Giant_Lance
					1196,	// Chrome_Twohand_Sword
					1189;	// Krasnaya
				continue;
			case 8:
				callsub S_Exchange,
					1930,	// Green_Whistle
					1984,	// Stem_Whip
					1985,	// Rosebine
					1830;	// Sura_Rampage
				continue;
			}
			break;
		}
	}
	end;

S_Exchange:
	.@size = getargcount();
	.@menu$ = "Go back to previous menu.:";
	for ( .@i = 0; .@i < .@size; .@i++ ) {
		if (countitem(getarg(.@i)) < 1)
			.@menu$ += "^777777Not enough " + getitemname(getarg(.@i)) + ".^000000:";
		else
			.@menu$ += "You have " + getitemname(getarg(.@i)) + ".:";
	}
	.@s = select(.@menu$) - 2;
	if (.@s == -1)
		return;
	mes "[Victimized Soul's Mind]";
	mes "You...have chosen... the weapon... which appears to be... filled with... strong minds... I'm... trying to restore it... into Energy Fragments... Do you... agree with it?";
	next;
	if (select( "Disagree with it.", "Acquire Energy Fragments." ) == 2) {
		if (countitem(getarg(.@s)) < 1) {
			mes "[Victimized Soul's Mind]";
			mes "You don't... have... ^006400" + getitemname(getarg(.@s)) + "^000000...";
			mes "Do you have... any other business... with me?...";
			next;
			return;
		}
		progressbar "000000",5;
		specialeffect EF_BLACKBODY;
		specialeffect EF_GUMGANG4;
		specialeffect EF_DARKCASTING2;
		specialeffect EF_RG_COIN7;
		percentheal -50,-50;
		specialeffect2 EF_POISONSMOKE;
		specialeffect2 EF_NPC_BURNT;
		delitem getarg(.@s),1;
		getitem 6820, rand(1,3);// Energy Fragment
		mes "[Victimized Soul's Mind]";
		mes "I have made... Energy... Fragment... by restoring ^006400" + getitemname(getarg(.@s)) + "^000000...";
		next;
		mes "- I got critical damage - - by mind's powerful wavelength - - which seeped into my body. -";
		next;
	}
	mes "[Victimized Soul's Mind]";
	mes "Do you have... any other business... with me?...";
	next;
	return;
}

lhz_dun_n,136,269,6	script	Sorrowful Soul's Mind#1	4_M_DEATH,{
	disable_items;
	.@r = rand(5);
	if (.@r == 0)
		npctalk "Mom...It hurts...", "", bc_self;
	else if (.@r == 1)
		npctalk "Go to hell...all of you...", "", bc_self;
	else if (.@r == 2)
		npctalk "I don't get it. Why...me?...", "", bc_self;
	else if (.@r == 3)
		npctalk "Ughhh...I don't... deserve this...", "", bc_self;
	else
		npctalk "You guys are all...demons...", "", bc_self;
	mes "[Sorrowful Soul's Mind]";
	mes "Countless... subjects'... minds...";
	mes "Past...present...and revenge...";
	next;
	if (.@r == 0)
		npctalk "My heart... is too painful...", "", bc_self;
	else if (.@r == 1)
		npctalk "I... will... send you there...", "", bc_self;
	else if (.@r == 2)
		npctalk "I... don't have much time left... to stay here.", "", bc_self;
	else if (.@r == 3)
		npctalk "You thought... you would stay alive... after everything you've done?...", "", bc_self;
	else
		npctalk "I'm innocent... I... don't deserve this...", "", bc_self;
	mes "[Sorrowful Soul's Mind]";
	mes "Who are you?...";
	mes "Can...you take back our souls again... tormented... in sadness?...";
	next;
	if (.@r == 0)
		npctalk "I want to... go... home...", "", bc_self;
	else if (.@r == 1)
		npctalk "I'll... curse you... even after... I die...", "", bc_self;
	else if (.@r == 2)
		npctalk "I have...nothing...", "", bc_self;
	else if (.@r == 3)
		npctalk "What are you... thinking?...", "", bc_self;
	else
		npctalk "You... don't even... have... a family?...", "", bc_self;
	mes "[Sorrowful Soul's Mind]";
	mes "If you... can... do it... maybe... I can... give... you guys... what... you need...";
	next;
	setarray .@item_name$[0],
		getitemname(18971),	// Old_Rune_Circlet
		getitemname(18972),	// Old_Mitra
		getitemname(18973),	// Old_Driver_Band_R
		getitemname(18974),	// Old_Driver_Band_Y
		getitemname(18975),	// Old_Shadow_Handicraft
		getitemname(18976),	// Old_Minstrel_Song_Hat
		getitemname(18977),	// Old_Midas_Whisper
		getitemname(18978),	// Old_Magic_Stone_Hat
		getitemname(18979),	// Old_Blazing_Soul
		getitemname(18980),	// Old_Wind_Whisper
		getitemname(18981),	// Old_Dying_Swan
		getitemname(18984),	// Old_Camo_RabbitHood
		getitemname(18982),	// Old_Circlet_Of_Bone
		getitemname(18983),	// Old_Protect_Of_Crown
		getitemname(20749);	// Cloak of the Fallen Soldier[1]
	while(true) {
		if (select( "Hand over the soul.", "End the conversation." ) == 2) {
			mes "[Sorrowful Soul's Mind]";
			mes "...I wish... you... can come back... to me again...";
			close;
		}
		mes "[Sorrowful Soul's Mind]";
		mes "If you hand over... our soul...I'll make something... filled with... special powers.. using a combination...";
		mes "What... do you... want?...";
		while(true) {
			next;
			switch( select( "Go back to the previous menu.", .@item_name$[0], .@item_name$[1], .@item_name$[2], .@item_name$[3], .@item_name$[4], .@item_name$[5], .@item_name$[6], .@item_name$[7], .@item_name$[8], .@item_name$[9], .@item_name$[10], .@item_name$[11], .@item_name$[12], .@item_name$[13], .@item_name$[14] + "[1]" ) ) {
			case 1:
				break;
			case 2:
				mes "- " + .@item_name$[0] + " -";
				mes "^006400This item cannot be traded with other accounts.^000000";
				mes "^006400All State + 1, MDEF+ 5^000000";
				mes "^006400ATK + 4 per 1 refinement level increase^000000";
				mes "^006400ASPD + 1 per 5 refinement level increase^000000";
				mes "^006400Increases MHP, MSP by 1% 2 each refinement level increase^000000";
				mes "^006400Increases Ignition Break damage by 20%^000000";
				mes "^006400per 2 refinement level increase^000000";
				mes "^006400Increases Hundred Spear damage by 15%^000000";
				mes "^006400per 2 refinement level increase^000000";
				mes "^006400Type: Helmet Defense: 10^000000";
				mes "^006400Location: Top Weight: 10^000000";
				mes "^006400SLOT: 1^000000";
				mes "^006400Required Level: 170 Job: Rune Knight^000000";
				callsub S_Make,
					18971,	// Old_Rune_Circlet
					19961,	// C_Rune_Circlet
					6814;	// Swordman_Soul
				continue;
			case 3:
				mes "- " + .@item_name$[1] + " -";
				mes "^006400This item cannot be traded with other accounts.^000000";
				mes "^006400All State + 1, MDEF+ 5^000000";
				mes "^006400MATK + 2, ATK + 4, Heal Amount + 2% per 1 refinement level increase.^000000";
				mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
				mes "^006400Increases Judex damage by 20% per 2 refinement level increase.^000000";
				mes "^006400Increases Magnus Exorcismus damage by 10% per 2 refinement level increase.^000000";
				mes "^006400Type: Helmet Defense: 10^000000";
				mes "^006400Location: Top Weight: 10^000000";
				mes "^006400SLOT: 1^000000";
				mes "^006400Required Level: 170 Job: Archbishop^000000";
				callsub S_Make,
					18972,	// Old_Mitra
					19962,	// C_Mitra
					6819;	// Acolyte_Soul
				continue;
			case 4:
				mes "- " + .@item_name$[2] + " -";
				mes "^006400This item cannot be traded with other accounts.^000000";
				mes "^006400All State + 1^000000";
				mes "^006400ATK + 4 per 1 refinement level increase^000000";
				mes "^006400ASPD + 1 per 5 refinement level increase^000000";
				mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
				mes "^006400Increases Power Swing damage by 20% per 2 refinement level increase.^000000";
				mes "^006400Increases Axe Tornado damage by 20% per 2 refinement level increase.^000000";
				mes "^006400Type: Helmet Defense: 10^000000";
				mes "^006400Location: Top Weight: 10^000000";
				mes "^006400SLOT: 1^000000";
				mes "^006400Required Level: 170 Job: Mechanic^000000";
				callsub S_Make,
					18973,	// Old_Driver_Band_R
					19963,	// C_Driver_Band_R
					6815;	// Merchant_Soul
				continue;
			case 5:
				mes "- " + .@item_name$[3] + " -";
				mes "^006400This item cannot be traded with other accounts.^000000";
				mes "^006400All State + 1^000000";
				mes "^006400ATK + 4 per 1 refinement level increase^000000";
				mes "^006400ASPD + 1 per 5 refinement level increase^000000";
				mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
				mes "^006400Increases Arm Cannon damage by 5% per 2 refinement level increase.^000000";
				mes "^006400Reduces Suicidal Destruction cooldown by 10 seconds per 4 refinement level increase.^000000";
				mes "^006400Type: Helmet Defense: 10^000000";
				mes "^006400Location: Top Weight: 10^000000";
				mes "^006400SLOT: 1^000000";
				mes "^006400Required Level: 170 Job: Mechanic^000000";
				callsub S_Make,
					18974,	// Old_Driver_Band_Y
					19964,	// C_Driver_Band_Y
					6815;	// Merchant_Soul
				continue;
			case 6:
				mes "- " + .@item_name$[4] + " -";
				mes "^006400This item cannot be traded with other accounts.^000000";
				mes "^006400All State + 1^000000";
				mes "^006400ATK + 4, MATK + 4 per each refinement level increase.^000000";
				mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
				mes "^006400Increases Triangle Shot damage by 25% per 2 refinement level increase.^000000";
				mes "^006400Reduces Masquerade-unlock key, Enervation cooldown by 1 second when your character's refinement level reaches 6.^000000";
				mes "^006400Reduces Masquerade-Laziness, Weakness cooldown by 1 second when your character's refinement level reaches 8.^000000";
				mes "^006400Reduces Masquerade-Ignorance, Gloomy cooldown by 1 second when your character's refinement level reaches 10.^000000";
				mes "^006400Type: Helmet Defense: 10^000000";
				mes "^006400Location: Top Weight: 10^000000";
				mes "^006400SLOT: 1^000000";
				mes "^006400Required Level: 170 Job: Shadow_Chaser^000000";
				callsub S_Make,
					18975,	// Old_Shadow_Handicraft
					19965,	// C_Shadow_Handicraft
					6816;	// Thief_Soul
				continue;
			case 7:
				mes "- " + .@item_name$[5] + " -";
				mes "^006400This item cannot be traded with other accounts.^000000";
				mes "^006400All State + 1^000000";
				mes "^006400Increases ranged physical damage by 1% per each refinement level increase.^000000";
				mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
				mes "^006400Increases Arrow Vulcan damage by 20% per 2 refinement level increase.^000000";
				mes "^006400Increases Severe Rainstorm damage by 5% per 2 refinement level increase.^000000";
				mes "^006400Type: Helmet Defense: 10^000000";
				mes "^006400Location: Top Weight: 10^000000";
				mes "^006400SLOT: 1^000000";
				mes "^006400Required Level: 170 Job: Minstrel^000000";
				callsub S_Make,
					18976,	// Old_Minstrel_Song_Hat
					19966,	// C_Minstrel_Song_Hat
					6818;	// Archer_Soul
				continue;
			case 8:
				mes "- " + .@item_name$[6] + " -";
				mes "^006400This item cannot be traded with other accounts.^000000";
				mes "^006400All State + 1^000000";
				mes "^006400ATK + 4 per 1 refinement level increase^000000";
				mes "^006400Increases ranged physical damage by 1% per 2 refinement level increase.^000000";
				mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
				mes "^006400Increases Cart Cannon damage by 15% per 2 refinement level increase.^000000";
				mes "^006400Type: Helmet Defense: 10^000000";
				mes "^006400Location: Top Weight: 10^000000";
				mes "^006400SLOT: 1^000000";
				mes "^006400Required Level: 170 Job: Generic^000000";
				callsub S_Make,
					18977,	// Old_Midas_Whisper
					19967,	// C_Midas_Whisper
					6815;	// Merchant_Soul
				continue;
			case 9:
				mes "- " + .@item_name$[7] + " -";
				mes "^006400This item cannot be traded with other accounts.^000000";
				mes "^006400All State + 1 MDEF+ 5^000000";
				mes "^006400Increases SP regen by 20%.^000000";
				mes "^006400MATK + 1% per each refinement level increase.^000000";
				mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
				mes "^006400Increases Soul Expansion damage by 5% per 2 refinement level increase.^000000";
				mes "^006400Reduces Crimson Rock cooldown by 1 second.^000000";
				mes "^006400Reduces Crimson Rock cooldown by 0.1 depending on refinement level.^000000";
				mes "^006400Type: Helmet Defense: 10^000000";
				mes "^006400Location: Top Weight: 10^000000";
				mes "^006400SLOT: 1^000000";
				mes "^006400Required Level: 170 Job: Warlock^000000";
				callsub S_Make,
					18978,	// Old_Magic_Stone_Hat
					19968,	// C_Magic_Stone_Hat
					6817;	// Mage_Soul
				continue;
			case 10:
				mes "- " + .@item_name$[8] + " -";
				mes "^006400This item cannot be traded with other accounts.^000000";
				mes "^006400All State + 1^000000";
				mes "^006400ATK + 4, CRI + 2 per each refinement level increase.^000000";
				mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
				mes "^006400Increases Rampage Blaster damage by 15% per 2 refinement level increase.^000000";
				mes "^006400Increases Lightning Shot damage by 20% per 2 refinement level increase.^000000";
				mes "^006400Type: Helmet Defense: 10^000000";
				mes "^006400Location: Top Weight: 10^000000";
				mes "^006400SLOT: 1^000000";
				mes "^006400Required Level: 170 Job: Sura^000000";
				callsub S_Make,
					18979,	// Old_Blazing_Soul
					19969,	// C_Blazing_Soul
					6819;	// Acolyte_Soul
				continue;
			case 11:
				mes "- " + .@item_name$[9] + " -";
				mes "^006400This item cannot be traded with other accounts.^000000";
				mes "^006400All State + 1 MDEF+ 5.^000000";
				mes "^006400MATK + 1%, ATK + 4 per each refinement level increase.^000000";
				mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
				mes "^006400Increases Poison Burst damage by 15% per 2 refinement level increase.^000000";
				mes "^006400Increases Varetyr Spear damage by 20% per 2 refinement level increase.^000000";
				mes "^006400Type: Helmet Defense: 10^000000";
				mes "^006400Location: Top Weight: 10^000000";
				mes "^006400SLOT: 1^000000";
				mes "^006400Required Level: 170 Job: Sorcerer^000000";
				callsub S_Make,
					18980,	// Old_Wind_Whisper
					19970,	// C_Wind_Whisper
					6817;	// Mage_Soul
				continue;
			case 12:
				mes "- " + .@item_name$[10] + " -";
				mes "^006400This item cannot be traded with other accounts.^000000";
				mes "^006400All State + 1^000000";
				mes "^006400Increases ranged physical damage by 1% per each refinement level increase.^000000";
				mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
				mes "^006400Increases Arrow Vulcan damage by 20% per 2 refinement level increase.^000000";
				mes "^006400Increases Severe Rainstorm damage by 5% per 2 refinement level increase.^000000";
				mes "^006400Type: Helmet Defense: 10^000000";
				mes "^006400Location: Top Weight: 10^000000";
				mes "^006400SLOT: 1^000000";
				mes "^006400Required Level: 170 Job: Wanderer^000000";
				callsub S_Make,
					18981,	// Old_Dying_Swan
					19971,	// C_Dying_Swan
					6818;	// Archer_Soul
				continue;
			case 13:
				mes "- " + .@item_name$[11] + " -";
				mes "^006400This item cannot be traded with other accounts.^000000";
				mes "^006400All State + 1^000000";
				mes "^006400Increases ranged physical damage by 1% per each refinement level increase.^000000";
				mes "^006400Complete evasion +1 per 3 refinement level increase.^000000";
				mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
				mes "^006400Increases Cluster Bomb damage by 15% per 2 refinement level increase.^000000";
				mes "^006400Increases Warg Strike damage by 10% per 2 refinement level increase.^000000";
				mes "^006400Type: Helmet Defense: 10^000000";
				mes "^006400Location: Top Weight: 10^000000";
				mes "^006400SLOT: 1^000000";
				mes "^006400Required Level: 170 Job: Ranger^000000";
				callsub S_Make,
					18984,	// Old_Camo_RabbitHood
					19974,	// C_Camouflage_RabbitHood
					6818;	// Archer_Soul
				continue;
			case 14:
				mes "- " + .@item_name$[12] + " -";
				mes "^006400This item cannot be traded with other accounts.^000000";
				mes "^006400All State + 1^000000";
				mes "^006400Increases critical damage by 1% and attack speed per each refinement level increase (Reduces attack delay 1%)^000000";
				mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
				mes "^006400Increases Cross Impact damage by 10% per 2 refinement level increase.^000000";
				mes "^006400Increases Cross Reaper Slash damage by 20% per 2 refinement level increase.^000000";
				mes "^006400Type: Helmet Defense: 10^000000";
				mes "^006400Location: Top Weight: 10^000000";
				mes "^006400SLOT: 1^000000";
				mes "^006400Required Level: 170 Job: Guillotine_Cross^000000";
				callsub S_Make,
					18982,	// Old_Circlet_Of_Bone
					19973,	// C_Circlet_Of_Bone
					6816;	// Thief_Soul
				continue;
			case 15:
				mes "- " + .@item_name$[13] + " -";
				mes "^006400This item cannot be traded with other accounts.^000000";
				mes "^006400All State + 1 MDEF+ 5.^000000";
				mes "^006400ATK + 4 per 1 refinement level increase^000000";
				mes "^006400ASPD + 1 per 5 refinement level increase^000000";
				mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
				mes "^006400Increases Cannon Spear damage by 20% per 2 refinement level increase.^000000";
				mes "^006400Increases Over Brand damage by 5% per 2 refinement level increase.^000000";
				mes "^006400Type: Helmet Defense: 10^000000";
				mes "^006400Location: Top Weight: 10^000000";
				mes "^006400SLOT: 1^000000";
				mes "^006400Required Level: 170 Job: Royal Guard^000000";
				callsub S_Make,
					18983,	// Old_Protect_Of_Crown
					19972,	// C_Protect_Of_Crown
					6814;	// Swordman_Soul
				continue;
			case 16:
				mes "- " + .@item_name$[14] + "[1] -";
				mes "^006400Legendary clock known to have been worn by those^000000 ^006400who fought bravely and were killed in the battle.";
				mes "Increases MHP, MSP by 1% per 2 refinement level increase";
				mes "ATK + 10 when your character's pure STR reaches 90.";
				mes "(Additional ATK + 2 per each refinement level increase)";
				mes "MATK + 20 when your character's pure INT reaches 90.";
				mes "(Additional MATK + 3 per each refinement level increase)";
				mes "when your character's pure VIT reaches 90";
				mes "3% resistance against normal attack";
				mes "(Additional 3% when refinement level reaches 8,";
				mes "Additional 4% when refinement level reaches 10)";
				mes "when your character's pure AGI reaches 90";
				mes "Increased attack speed (3% attack delay reduction)";
				mes "(Attack delay additionally decreased by 1% per 2 refinement level increase)";
				mes "(Additional ASPD + 1 when your character's refinement level reaches 10.)";
				mes "When your character's pure DEX reaches 90";
				mes "Increases ranged attack power by 3%";
				mes "(Additional 1% per 2 refinement level increase)";
				mes "When your character's LUK reaches 90";
				mes "Increases critical damage by 5%.";
				mes "(Additional 1% per each refinement level increase)";
				mes "Type: Robe Defense: 30";
				mes "Weight: 60";
				mes "SLOT: 1";
				mes "Required Level: 170 Job: All^000000";
				callsub S_Make,
					20749,	// Manteau_Of_Fallen_
					20748,	// Manteau_Of_Fallen
					6471,	// Goast_Chill
					true;
				continue;
			}
			break;
		}
	}

S_Make:
	.@reward_id = getarg(0);
	.@equipment_req = getarg(1);
	.@item_misc_req = getarg(2);
	if (getarg(3,0)) {
		setarray .@string$[0], "chill", "cloak";
		setarray .@material[0],20,100;	// chill, energy
	}
	else {
		setarray .@string$[0], "soul", "hat";
		setarray .@material[0],1,20;	// soul, energy
	}
	next;
	mes "[Sorrowful Soul's Mind]";
	mes "In order to make... ^006400" + getitemname(.@reward_id) + "^000000...";
	mes "Bring their... wandering " + .@string$[0] + ", " + .@string$[1] + "... the vessel to hold the soul and... the dark energy... filling up this place...";
	next;
	mes "[Sorrowful Soul's Mind]";
	mes "I need 1 " + getitemname(.@equipment_req) + ", " + .@material[0] + " " + getitemname(.@item_misc_req) + "... " + .@material[1] + " " + getitemname(6820) + "..";
	mes "If 5 times of " + getitemname(6820) + " and " + .@string$[0] + "s are collected... you... will never fail...";
	mes "How... would... you do it?";
	next;
	switch( select( "Go back to the previous menu.", "Use " + .@material[1] + " energies, " + .@material[0] + " " + .@string$[0], "Use " + (.@material[1] * 5) + " energies, " + (.@material[0] * 5) + " " + .@string$[0] + "s" ) ) {
	case 1:
		mes "[Sorrowful Soul's Mind]";
		mes "I hoped that... you could... see... other things... as well...";
		return;
	case 2:
		.@rate = 1;
		break;
	case 3:
		.@rate = 5;
		break;
	}
	if (countitem(.@equipment_req) < 1 || countitem(.@item_misc_req) < (.@material[0] * .@rate) || countitem(6820) < (.@material[1] * .@rate)) {
		mes "[Sorrowful Soul's Mind]";
		mes "You don't... have... enough material... to make... ^006400" + getitemname(.@reward_id) + "^000000...";
		return;
	}
	progressbar "000000",5;
	percentheal -50,-50;
	specialeffect2 EF_POISONSMOKE;
	specialeffect2 EF_NPC_BURNT;
	delitem .@equipment_req, 1;
	delitem .@item_misc_req, (.@material[0] * .@rate);
	delitem 6820, (.@material[1] * .@rate);// Energy Fragment

	if ((20*.@rate) > rand(100)) {
		specialeffect EF_BLACKBODY;
		specialeffect EF_GUMGANG4;
		specialeffect EF_DARKCASTING2;
		specialeffect EF_RG_COIN7;
		mes "[Sorrowful Soul's Mind]";
		mes "Here is... ^006400" + getitemname(.@reward_id) + "^000000...";
		getitem .@reward_id,1;
	}
	else {
		specialeffect EF_POISONSMOKE;
		specialeffect EF_GUMGANG4;
		mes "[Sorrowful Soul's Mind]";
		mes "^006400" + getitemname(.@reward_id) + "^000000... failed...";
	}
	next;
	mes "- I got critical damage - - by the mind's powerful wavelength - - which seeped into my body. -";
	next;
	mes "[Sorrowful Soul's Mind]";
	mes "Is there... anything... I can... help you with?...";
	return;
}

// Exchange npcs - safe map (no mobs)
lhz_d_n2,53,49,4	duplicate(Silent Mind#JCv2)	Silent Mind#JCv2C	4_CENERE
lhz_d_n2,42,49,2	duplicate(Wandering Mind#JCv2)	Wandering Mind#JCv2C	4_CENERE
lhz_d_n2,51,53,4	duplicate(Victimized Soul's Mind#1)	Victimized Soul's Mind#1C	4_M_DEATH2
lhz_d_n2,44,53,6	duplicate(Sorrowful Soul's Mind#1)	Sorrowful Soul's Mind#1C	4_M_DEATH

// Safe map - Exit
lhz_d_n2,34,45,3	script	#lhzdw	1_SHADOW_NPC,{
	mes "[Bastets]";
	mes "You can see the exit.";
	next;
	if (select( "Go back to Lighthalzen.", "Don't go back." ) == 1)
		warp "lighthalzen",310,228;
	end;
}

// Heal
lhz_dun_n,167,259,2	script	A Questionable Device#l	4_SYSTEM_BOX,3,3,{
	if (isbegin_quest(14683) == 1) {
		mes "[System Message]";
		mes "Emergency Protocol activated. The user will be able to run RT-223.";
		next;
		if (select( "Do not run.", "Run." ) == 2) {
			mes "[System Message]";
			mes "All personnel should act in accordance with the emergency rules.";
			close;
		}
		specialeffect EF_MAPPILLAR;
		mes "[System Message]";
		mes "Running RT-223 to the user. Standby mode will be activated after this process.";
		specialeffect2 EF_BABY;
		percentheal 100,100;
		completequest 14683;// Mysterious Device
		close;
	}
	end;

OnTouch:
	npctalk "All personnel should act in accordance with the emergency rules.", "", bc_self;
	end;

OnInit:
	// questinfo 14683,QTYPE_QUEST,1;	// display when quest 14683 active
	end;
}

// Misc
lhz_dun_n,75,121,0	script	#Alphoccio_Basil_A1	HIDDEN_WARP_NPC,3,3,{
	end;
OnTouch:
	specialeffect EF_BAT2;
	disablenpc strnpcinfo(0);
	initnpctimer;
	end;
OnTimer1000:
	.@npc_name$ = strnpcinfo(0);
	if (.@npc_name$ == "#Alphoccio_Basil_A1")			npctalk "It was my mistake to think that this will be just traveling...", "#lhz_dun_talk_A23";
	else if (.@npc_name$ == "#Alphoccio_Basil_A2")		npctalk "I thought we could make songs and travel around the world forever...", "#lhz_dun_talk_A24";
	else if (.@npc_name$ == "#Catherine Cheiron_A1")	npctalk "It's a very strange trick...", "#lhz_dun_talk_A5";
	else if (.@npc_name$ == "#Flamel_Emule_A1")			npctalk "I've never felt so helpless before...", "#lhz_dun_talk_A15";
	else if (.@npc_name$ == "#Gertie_Wie_A1")			npctalk "We have been used...", "#lhz_dun_talk_A21";
	else if (.@npc_name$ == "#Gertie_Wie_A2")			npctalk "I should have received more money if I knew this would happen...", "#lhz_dun_talk_A22";
	else if (.@npc_name$ == "#Harword Alt-Eisen_A2")	npctalk "I cannot see my future anymore...", "#lhz_dun_talk_A10";
	else if (.@npc_name$ == "#Shecil_Damon_A2")			npctalk "I cannot die like this here...", "#lhz_dun_talk_A12";
	else if (.@npc_name$ == "#Flamel_Emule_A2")			npctalk "I feel like... my consciousness... is no longer me...", "#lhz_dun_talk_A16";
	// incomplete
	end;
OnTimer40000:
	stopnpctimer;
	enablenpc strnpcinfo(0);
	end;
}

lhz_dun_n,92,102,0	duplicate(#Alphoccio_Basil_A1)	#Alphoccio_Basil_A2	HIDDEN_WARP_NPC,3,3
lhz_dun_n,150,74,0	duplicate(#Alphoccio_Basil_A1)	#Catherine Cheiron_A1	HIDDEN_WARP_NPC,3,3
lhz_dun_n,174,98,0	duplicate(#Alphoccio_Basil_A1)	#Katrinn Chiron_A2	HIDDEN_WARP_NPC,3,3
lhz_dun_n,25,65,0	duplicate(#Alphoccio_Basil_A1)	#Celia_Alde_A1	HIDDEN_WARP_NPC,3,3
lhz_dun_n,60,102,0	duplicate(#Alphoccio_Basil_A1)	#Celia_Alde_A2	HIDDEN_WARP_NPC,3,3
lhz_dun_n,194,188,0	duplicate(#Alphoccio_Basil_A1)	#Chen_Liu_A1	HIDDEN_WARP_NPC,3,3
lhz_dun_n,255,206,0	duplicate(#Alphoccio_Basil_A1)	#Chen_Liu_A2	HIDDEN_WARP_NPC,3,3
lhz_dun_n,81,184,0	duplicate(#Alphoccio_Basil_A1)	#Eremes_Guille_A1	HIDDEN_WARP_NPC,3,3
lhz_dun_n,113,191,0	duplicate(#Alphoccio_Basil_A1)	#Eremes_Guille_A2	HIDDEN_WARP_NPC,3,3
lhz_dun_n,84,87,0	duplicate(#Alphoccio_Basil_A1)	#Flamel_Emule_A1	HIDDEN_WARP_NPC,3,3
lhz_dun_n,39,55,0	duplicate(#Alphoccio_Basil_A1)	#Flamel_Emule_A2	HIDDEN_WARP_NPC,3,3
lhz_dun_n,232,198,0	duplicate(#Alphoccio_Basil_A1)	#Gertie_Wie_A1	HIDDEN_WARP_NPC,3,3
lhz_dun_n,130,148,0	duplicate(#Alphoccio_Basil_A1)	#Gertie_Wie_A2	HIDDEN_WARP_NPC,3,3
lhz_dun_n,119,195,0	duplicate(#Alphoccio_Basil_A1)	#Harword Alt-Eisen_A1	HIDDEN_WARP_NPC,3,3
lhz_dun_n,158,210,0	duplicate(#Alphoccio_Basil_A1)	#Harword Alt-Eisen_A2	HIDDEN_WARP_NPC,3,3
lhz_dun_n,159,122,0	duplicate(#Alphoccio_Basil_A1)	#Magaleta_Sorin_A1	HIDDEN_WARP_NPC,3,3
lhz_dun_n,133,39,0	duplicate(#Alphoccio_Basil_A1)	#Magaleta_Sorin_A2	HIDDEN_WARP_NPC,3,3
lhz_dun_n,168,193,0	duplicate(#Alphoccio_Basil_A1)	#Randel_Lawrence_A1	HIDDEN_WARP_NPC,3,3
lhz_dun_n,188,188,0	duplicate(#Alphoccio_Basil_A1)	#Randel_Lawrence_A2	HIDDEN_WARP_NPC,3,3
lhz_dun_n,44,155,0	duplicate(#Alphoccio_Basil_A1)	#Seyren Windsor_A1	HIDDEN_WARP_NPC,3,3
lhz_dun_n,54,221,0	duplicate(#Alphoccio_Basil_A1)	#Seyren Windsor_A2	HIDDEN_WARP_NPC,3,3
lhz_dun_n,249,66,0	duplicate(#Alphoccio_Basil_A1)	#Shecil_Damon_A1	HIDDEN_WARP_NPC,3,3
lhz_dun_n,213,97,0	duplicate(#Alphoccio_Basil_A1)	#Shecil_Damon_A2	HIDDEN_WARP_NPC,3,3
lhz_dun_n,191,129,0	duplicate(#Alphoccio_Basil_A1)	#Trentini_A1	HIDDEN_WARP_NPC,3,3
lhz_dun_n,259,132,0	duplicate(#Alphoccio_Basil_A1)	#Trentini_A2	HIDDEN_WARP_NPC,3,3

lhz_dun_n,44,155,6	script	#lhz_dun_talk_A1	CLEAR_NPC,{ end; }
lhz_dun_n,54,221,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A2	CLEAR_NPC
lhz_dun_n,159,122,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A3	CLEAR_NPC
lhz_dun_n,133,39,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A4	CLEAR_NPC
lhz_dun_n,150,74,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A5	CLEAR_NPC
lhz_dun_n,174,98,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A6	CLEAR_NPC
lhz_dun_n,81,184,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A7	CLEAR_NPC
lhz_dun_n,113,191,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A8	CLEAR_NPC
lhz_dun_n,119,195,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A9	CLEAR_NPC
lhz_dun_n,158,210,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A10	CLEAR_NPC
lhz_dun_n,249,66,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A11	CLEAR_NPC
lhz_dun_n,213,97,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A12	CLEAR_NPC
lhz_dun_n,168,193,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A13	CLEAR_NPC
lhz_dun_n,188,188,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A14	CLEAR_NPC
lhz_dun_n,84,87,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A15	CLEAR_NPC
lhz_dun_n,39,55,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A16	CLEAR_NPC
lhz_dun_n,25,65,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A17	CLEAR_NPC
lhz_dun_n,60,102,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A18	CLEAR_NPC
lhz_dun_n,194,188,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A19	CLEAR_NPC
lhz_dun_n,255,206,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A20	CLEAR_NPC
lhz_dun_n,232,198,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A21	CLEAR_NPC
lhz_dun_n,130,148,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A22	CLEAR_NPC
lhz_dun_n,75,121,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A23	CLEAR_NPC
lhz_dun_n,92,102,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A24	CLEAR_NPC
lhz_dun_n,191,129,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A25	CLEAR_NPC
lhz_dun_n,259,132,6	duplicate(#lhz_dun_talk_A1)	#lhz_dun_talk_A26	CLEAR_NPC

// npc location -> quest ID inaccurate
lhz_dun_n,132,61,2	script	A Questionable Device#14684	4_SYSTEM_BOX,5,5,{
	end;
OnTouch:
	.@quest_id = atoi(strnpcinfo(2));
	switch( checkquest(.@quest_id,PLAYTIME) ) {
	case -1:
		break;
	case 0:
	case 1:
		npctalk "... Current... Required... Cool.. Down..Time..";
		end;
	case 2:
		erasequest .@quest_id;
		break;
	}
	specialeffect EF_MAPPILLAR;
	npctalk "Emergency Protocol... Activated.. to.. RT..017... Cooldown... 1 hour......";
	specialeffect2 EF_BABY;
	setquest .@quest_id;// Mysterious Device
	switch( .@quest_id ) {
	case 14684:
		// atk dmg+10%, def+10% on monsters (inaccurates, unknown values)
		// atk+: Swordman, Thief / def+: Acolyte, Merchant
		sc_start2 SC_LHZ_DUN_N1,1800000,10,10,10000,SCSTART_NOTICKDEF;	/// last 30 mins
		break;
	case 14685:
		// atk+: Acolyte, Merchant / def+: Mage, Archer
		sc_start2 SC_LHZ_DUN_N2,1800000,10,10,10000,SCSTART_NOTICKDEF;
		break;
	case 14686:
		// atk+: Mage, Archer / def+: Swordman, Thief
		sc_start2 SC_LHZ_DUN_N3,1800000,10,10,10000,SCSTART_NOTICKDEF;
		break;
	case 14687:
		// atk+: MvPs / def+: MvPs
		sc_start2 SC_LHZ_DUN_N4,1800000,10,10,10000,SCSTART_NOTICKDEF;
		break;
	}
	end;

OnInit:
	questinfo atoi(strnpcinfo(2)),QTYPE_QUEST,1;
	end;
}

lhz_dun_n,53,127,2	duplicate(A Questionable Device#14684)	A Questionable Device#14685	4_SYSTEM_BOX,5,5
lhz_dun_n,214,127,2	duplicate(A Questionable Device#14684)	A Questionable Device#14686	4_SYSTEM_BOX,5,5
lhz_dun_n,148,148,2	duplicate(A Questionable Device#14684)	A Questionable Device#14687	4_SYSTEM_BOX,5,5

/*
// Unknown effects
lhz_dun_n,130,204,2	script	Dead Man#lhzd01	4_TOWER_06,5,5
lhz_dun_n,78,133,2	script	Dead Man#lhzd02	4_TOWER_06,5,5
lhz_dun_n,47,65,2	script	Dead Man#lhzd03	4_TOWER_06,5,5
lhz_dun_n,141,39,2	script	Dead Man#lhzd04	4_TOWER_06,5,5
lhz_dun_n,123,85,2	script	Dead Man#lhzd05	4_TOWER_06,5,5
lhz_dun_n,212,71,2	script	Dead Man#lhzd06	4_TOWER_06,5,5
lhz_dun_n,213,109,2	script	Dead Man#lhzd07	4_TOWER_06,5,5
lhz_dun_n,145,179,2	script	Dead Man#lhzd08	4_TOWER_06,5,5
lhz_dun_n,233,135,2	script	Dead Man#lhzd09	4_TOWER_06,5,5
lhz_dun_n,241,201,2	script	Dead Man#lhzd10	4_TOWER_06,5,5
lhz_dun_n,150,211,2	script	Dead Man#lhzd11	4_TOWER_03,5,5
lhz_dun_n,69,144,2	script	Dead Man#lhzd12	4_TOWER_03,5,5
lhz_dun_n,113,81,2	script	Dead Man#lhzd13	4_TOWER_03,5,5
lhz_dun_n,144,64,2	script	Dead Man#lhzd14	4_TOWER_03,5,5
lhz_dun_n,157,93,2	script	Dead Man#lhzd15	4_TOWER_03,5,5
lhz_dun_n,231,69,2	script	Dead Man#lhzd16	4_TOWER_03,5,5
lhz_dun_n,179,107,2	script	Dead Man#lhzd17	4_TOWER_03,5,5
lhz_dun_n,172,175,2	script	Dead Man#lhzd18	4_TOWER_03,5,5
lhz_dun_n,228,149,2	script	Dead Man#lhzd19	4_TOWER_03,5,5
lhz_dun_n,248,218,2	script	Dead Man#lhzd20	4_TOWER_03,5,5
lhz_dun_n,139,233,2	script	Dead Man#lhzd21	4_TOWER_08,5,5
lhz_dun_n,69,110,2	script	Dead Man#lhzd22	4_TOWER_08,5,5
lhz_dun_n,100,109,2	script	Dead Man#lhzd23	4_TOWER_08,5,5
lhz_dun_n,137,72,2	script	Dead Man#lhzd24	4_TOWER_08,5,5
lhz_dun_n,169,85,2	script	Dead Man#lhzd25	4_TOWER_08,5,5
lhz_dun_n,245,63,2	script	Dead Man#lhzd26	4_TOWER_08,5,5
lhz_dun_n,182,126,2	script	Dead Man#lhzd27	4_TOWER_08,5,5
lhz_dun_n,182,154,2	script	Dead Man#lhzd28	4_TOWER_08,5,5
lhz_dun_n,246,141,2	script	Dead Man#lhzd29	4_TOWER_08,5,5
lhz_dun_n,236,226,2	script	Dead Man#lhzd30	4_TOWER_08,5,5
lhz_dun_n,38,200,2	script	Dead Man#lhzd31	4_TOWER_11,5,5
lhz_dun_n,95,86,2	script	Dead Man#lhzd32	4_TOWER_11,5,5
lhz_dun_n,98,138,2	script	Dead Man#lhzd33	4_TOWER_11,5,5
lhz_dun_n,145,89,2	script	Dead Man#lhzd34	4_TOWER_11,5,5
lhz_dun_n,186,92,2	script	Dead Man#lhzd35	4_TOWER_11,5,5
lhz_dun_n,181,148,2	script	Dead Man#lhzd36	4_TOWER_11,5,5
lhz_dun_n,181,148,2	script	Dead Man#lhzd37	4_TOWER_11,5,5
lhz_dun_n,203,144,2	script	Dead Man#lhzd38	4_TOWER_11,5,5
lhz_dun_n,240,134,2	script	Dead Man#lhzd39	4_TOWER_11,5,5
lhz_dun_n,141,129,2	script	Dead Man#lhzd40	4_TOWER_11,5,5
lhz_dun_n,81,160,2	script	Dead Man#lhzd41	4_TOWER_13,5,5
lhz_dun_n,41,77,2	script	Dead Man#lhzd42	4_TOWER_13,5,5
lhz_dun_n,99,162,2	script	Dead Man#lhzd43	4_TOWER_13,5,5
lhz_dun_n,136,95,2	script	Dead Man#lhzd44	4_TOWER_13,5,5
lhz_dun_n,184,80,2	script	Dead Man#lhzd45	4_TOWER_13,5,5
lhz_dun_n,202,102,2	script	Dead Man#lhzd46	4_TOWER_13,5,5
lhz_dun_n,157,143,2	script	Dead Man#lhzd47	4_TOWER_13,5,5
lhz_dun_n,202,133,2	script	Dead Man#lhzd48	4_TOWER_13,5,5
lhz_dun_n,220,178,2	script	Dead Man#lhzd49	4_TOWER_13,5,5
lhz_dun_n,131,148,2	script	Dead Man#lhzd50	4_TOWER_13,5,5
*/
