//===== rAthena Script =======================================
//= Lighthalzen rewards NPCs
//===== Description: =========================================
//= Enchant and reward NPCs from Bio instance/dungeon item drop.
//===== Changelogs: ==========================================
//= 1.0 Moved the NPCs from WolfchevLaboratory.txt. [Capuche]
//============================================================

// Weird Old Man (Rewards)
//============================================================
lighthalzen,342,291,4	script	Weird old man#Bio4Reward	4_M_EINOLD,{
	if ((MaxWeight - Weight) < 2800 || !checkweight(1201, 1)) {
		mes "^FF0000 Check up your inventory. You got too many items to carry out the quest. ^000000";
		close;
	}
	mes "[Weird old man]";
	mes "Phew, those young people nowadays, are so rude and have no manners.";
	next;
	if (select("Ignore him", "Talk with him") == 1) {
		mes "[Weird old man]";
		mes "You, very bad young man!";
		close;
	}
	mes "["+ strcharinfo(0) +"]";
	mes "Sir, are you alright??";
	next;
	mes "[Weird old man]";
	mes "....?? You are not like other young people. You have good manners! You know what happened to me..?";
	next;
	switch(rand(1,2)) {
	case 1:
		mes "[Weird old man]";
		mes "I was on the way to visit my son who lives in Rune-Midgarts. It's really far away, so I took the airplane, and..";
		next;
		mes "[Weird old man]";
		mes "those young people...so noisy.... I was standing but none of them offered me a seat..and they were just talking loudly which bothered everyone.";
		next;
		mes "[Weird old man]";
		mes "I could lecture them if I were 10 years younger..";
		next;
		mes "[Weird old man]";
		mes "Pffff.. Never liked the passing of time....";
		next;
		mes "[Weird old man]";
		mes "So, you... what would you do??";
		next;
		mes "[Weird old man]";
		mes "In an open, public place, you are supposed to stay quiet to the destination and offer your seat to the elderly and the infirm.";
		next;
		break;
	case 2:
		mes "[Weird old man]";
		mes "I was on the way to visit my son who lives in Rune-Midgarts. It's really far away, so I took the airplane, and..";
		next;
		mes "[Weird old man]";
		mes "those young people...so noisy.... I was standing but none of them offered me a seat..and they were just talking loudly which bothered everyone.";
		next;
		mes "[Weird old man]";
		mes "I could lecture them if I were 10 years younger..";
		next;
		mes "[Weird old man]";
		mes "Pffff.. Never liked the passing of time....";
		next;
		mes "[Weird old man]";
		mes "So, you... what would you do??";
		next;
		mes "[Weird old man]";
		mes "In an open, public place, you are supposed to stay quiet to the destination and offer your seat to the elderly and the infirm. Right?";
		next;
		mes "[Weird old man]";
		mes "Isn't that right?!";
		next;
		switch(rand(1,2)) {
		case 1:
			mes "[Weird old man]";
			mes "Oh, and then you know what...?";
			next;
			mes "[Weird old man]";
			mes "Once I was walking in the town and some boys were spitting on the street and were bothering girls who were passing by...tut tut!";
			next;
			mes "[Weird old man]";
			mes "The world is going to the dogs.. How will it be?? It was even day time when they were doing it..tut tut.";
			next;
			switch(rand(1,2)) {
			case 1:
				mes "[Weird old man]";
				mes "Oh, and then you know what...?";
				next;
				break;
			case 2:
				mes "[Weird old man]";
				mes "Oh, and then you know what...?";
				next;
				mes "[Weird old man]";
				mes "Lately young people are not so patient!!!!";
				next;
				mes "[Weird old man]";
				mes "So often they say they will quit.. they say they can't do more. How will they live life with that kind of mentality..tut tut.";
				next;
				mes "[Weird old man]";
				mes "It's not easy to find a job. It is very difficult to be hired but then they even cannot stand a week there and leave the work place.";
				next;
				mes "[Weird old man]";
				mes "How impatient and irresponsible!!";
				next;
				mes "[Weird old man]";
				mes "Oh, and then you know what...?";
				next;
				break;
			}
		case 2:
			mes "[Weird old man]";
			mes "Oh, and then you know what...?";
			next;
			break;
		}
	}
	mes "^E7A43DThe old man talked over and over again.^000000";
	next;
	mes "[Weird old man]";
	mes "Hm......You are not like common young people, you seem pretty patient too. I like that!!!";
	next;
	mes "[Weird old man]";
	mes "Now I am just an weak old man but when I was young I was a famous merchant in the town.";
	next;
	mes "[Weird old man]";
	mes "It's been a while since I stopped the business,";
	mes "but a former client of mine contacted me and asked me";
	next;
	mes "[Weird old man]";
	mes "If I could get him some unknown objects named 'Will of Warrior', 'Thirst for Blood', and 'Chill of the Dead'.";
	next;
	mes "[Weird old man]";
	mes "I like your politeness which most young people don't have, so if you get me those, I will give you some stuff that I consider as my treasure.";
	next;
	while(1) {
		switch(select("When I gather them, I will come back", "Show me the armors", "Show me the weapons")) {
		case 1:
			mes "[Weird old man]";
			mes "OK, young man. See you later.";
			close;
		case 2:
			mes "[Weird old man]";
			mes "So, you are interested in armors.";
			next;
			mes "[Weird old man]";
			mes "These are the armors I have.";
			next;
			for(.@i = 1; .@i < 8; .@i++) {
				if (((.@i == 1 || .@i == 5) && (countitem(6469) >= 100) && (countitem(6470) >= 50) && (countitem(6471) >= 35)) || 
				    ((.@i == 2 || .@i == 3) && (countitem(6469) >= 100) && (countitem(6470) >= 50) && (countitem(6471) >= 22)) ||
				    ((.@i == 4 || .@i == 7) && (countitem(6469) >= 300) && (countitem(6470) >= 300) && (countitem(6471) >= 400)) ||
				    ((.@i == 6) && (countitem(6469) >= 100) && (countitem(6470) >= 50) && (countitem(6471) >= 30))) {
					.@armor$[.@i] = "^0000FF";
				} else {
					.@armor$[.@i] = "^FF0000";
				}
			}
			while(1) {
				switch(select(
					"Show me other items.",
					""+.@armor$[1]+"Giant Shield^000000",
					""+.@armor$[2]+"Ancient Book of Geffenia-Water^000000",
					""+.@armor$[3]+"Bible of Promise(2nd Vol.)^000000",
					""+.@armor$[4]+"Salvage Cape^000000",
					""+.@armor$[5]+"Assassin's Handcuffs^000000",
					""+.@armor$[6]+"Green Operating Gown^000000",
					""+.@armor$[7]+"Ancient Gold Decoration^000000"
				)) {
				case 1:
					mes "[Weird old man]";
					mes "Have a look.";
					next;
					.@break = 1;
					break;
				case 2:
					mes "<<Giant Shield[1]>>";
					mes "Decrease 5% of Damage from Large Monsters, if Refine Lv is 9, decrease 5% more of the Damage.";
					mes "Shield / Def 130 / Weight 280 / Required Lv 100 / Socket 1 / for 3rd Swordman Classes";
					callsub L_Reward, 2160, 100, 50, 35; //Giant_Shield
					break;
				case 3:
					mes "<<Ancient Book of Geffenia-Water[1]>>";
					mes "INT + 1, MDEF + 2. If Original INT point is 120, MATK + 10, MHP + 800.";
					mes "When equipping with Lacryma Stick, the casting % from Storm Gust, Frost Misty and Jack frost will discount equivalent to 4 times Refine Lv.";
					mes "Shield / Def 30 / Weight 100 / Required Lv 100 / Socket 1 / for Warlock";
					callsub L_Reward, 2161, 100, 50, 22; //Geffenia_Book_Water
					break;
				case 4:
					mes "<<Bible of Promise(2nd Vol.)[1]>>";
					mes "MDEF + 5, Allow to use 'Odin's Power'(Lv 2). Increase 5% more for Heal skill.";
					mes "Shield / Def 20 / Weight 50 / Required Lv 140 / Socket 1 / for Archbishop";
					callsub L_Reward, 2162, 100, 50, 22; //Bible_Of_Promise2
					break;
				case 5:
					mes "<<Salvage Cape[0]>>";
					mes "Allow to use 'Cicada Skin Shed'(Lv 1). Cool down time for this skill will be 30 seconds. When equipping it, SP consumption for using any skill will be doubled, When taking it off, SP - 1200.";
					mes "Garment / Def 1 / Weight 40 / Required Lv 130 / Socket 0 / for Archbishop";
					callsub L_Reward, 2582, 300, 300, 400; //Salvage_Cape
					break;
				case 6:
					mes "<<Assassin's Handcuffs[1]>>";
					mes "MSP + 20, CRI + 3. When equipping with Krishna, ATK + 50, ATK power from 'Sonic Blow' 50% increased, FLEE - 30. When equipping with Cakram CRI + 4, Critical ATK power 40% increased, MHP - 10%.";
					mes "Accessory / Def 3 / Weight 40 / Required Lv 100 / Socket 1 / for Guillotine Cross";
					callsub L_Reward, 2892, 100, 50, 35; //Assassin_Handcuffs
					break;
				case 7:
					mes "<<Green Operating Gown[1]>>";
					mes "DEX + 1, MSP + 30. Equipping with Scalpel will let to drop 'Immortal Heart', 'Alcohol' with a certain chance when hunting Human, Animal type monsters. Refine Lv affects the drop rate.";
					mes "Armor / Def 66 / Weight 66 / Required Lv 100 / Socket 1 / for Generic";
					callsub L_Reward, 15044, 100, 50, 30; //Green_Operation_Coat
					break;
				case 8:
					mes "<<Ancient Gold Decoration[1]>>";
					mes "If the base lv is 150, All State + 2. for Swordman, Merchant, Thief Classes ATK + 8%, for Magician, Acolyte classes MATK + 8%, Heal Power + 7%, for Archer classes DEX + 3, Long Distance ATK power + 10%.";
					mes "Helm / Def 7 / Location - Upper / Weight 40 / Required Lv 100 / Socket 1 / for 3rd Job Classes";
					callsub L_Reward, 18570, 300, 300, 400; //Ancient_Gold_Deco
					break;
				}
				if (.@break) {
					.@break = 0;
					break;
				}
			}
			break;
		case 3:
			mes "[Weird old man]";
			mes "So, you are interested in weapons.";
			next;
			mes "[Weird old man]";
			mes "These are the weapons I've got.";
			next;
			for(.@i = 1; .@i < 15; .@i++) {
				if (((.@i == 1) && (countitem(6469) >= 50) && (countitem(6470) >= 100) && (countitem(6471) >= 10)) ||
				((.@i == 2) && (countitem(6469) >= 50) && (countitem(6470) >= 100) && (countitem(6471) >= 85)) ||
				((.@i == 3 || .@i == 4 || (.@i >= 8 && .@i < 11) || .@i >= 12) && (countitem(6469) >= 50) && (countitem(6470) >= 100) && (countitem(6471) >= 35)) ||
				((.@i == 5 || .@i == 7 || .@i == 11) && (countitem(6469) >= 50) && (countitem(6470) >= 100) && (countitem(6471) >= 40)) ||
				((.@i == 6) && (countitem(6469) >= 300) && (countitem(6470) >= 300) && (countitem(6471) >= 400))) {
					.@weapon$[.@i] = "^0000FF";
				} else {
					.@weapon$[.@i] = "^FF0000";
				}
			}
			while(1) {
				switch(select(
					"Show me other items.",
					""+.@weapon$[1]+"Agent Katar^000000",
					""+.@weapon$[2]+"Guillotine Katar^000000",
					""+.@weapon$[3]+"Ygnus Stale^000000",
					""+.@weapon$[4]+"End Sektura^000000",
					""+.@weapon$[5]+"Cannon Spear^000000",
					""+.@weapon$[6]+"Giant Lance^000000",
					""+.@weapon$[7]+"Chilly Spell Book^000000",
					""+.@weapon$[8]+"Recovery Light^000000",
					""+.@weapon$[9]+"Aztoe Nail^000000",
					""+.@weapon$[10]+"Scarletto Nail^000000",
					""+.@weapon$[11]+"Bloody Cross^000000",
					""+.@weapon$[12]+"Catapult^000000",
					""+.@weapon$[13]+"Big CrossBow^000000",
					""+.@weapon$[14]+"Creeper Bow^000000"
				)) {
				case 1:
					mes "[Weird old man]";
					mes "Have a look.";
					next;
					.@break = 1;
					break;
				case 2:
					mes "<<Agent Katar[1]>>";
					mes "Every 2 Original LUK points gets additional 1 HIT point";
					mes "Katar / ATK 170 / Weight 120 / Weapon Lv 3 / Required Lv 100 / Socket 1 / for Guillotine Cross";
					callsub L_Reward, 1290, 50, 100, 10; //Agent_Katar
					break;
				case 3:
					mes "<<Guillotine Katar[1]>>";
					mes "DEX + 2. FLEE - 30. 50% more damage to Human monsters. Add 30% more damage for Cross Impact skill.";
					mes "Katar / ATK 200 / Weight 150 / Weapon Lv 4 / Required Lv 140 / Socket 1 / for Guillotine Cross";
					callsub L_Reward, 1291, 50, 100, 85; //Guillotine_Katar
					break;
				case 4:
					mes "<<Ygnus Stale[1]>>";
					mes "When doing short distance attack, cast Burn status to the player and to the enemy with a certain chance.";
					mes "Two-Handed Axe / ATK 250 / Weight 190 / Fire Property / Weapon Lv 4 / Required Lv 95 / Socket 1 / for High Swordman/Merchant Classes";
					callsub L_Reward, 1392, 50, 100, 35; //Ygnus_Stale
					break;
				case 5:
					mes "<<End Sektura[1]>>";
					mes "When doing short distance attack, cast Freezing to the player and to the enemy with a certain chance.";
					mes "Two-Handed Axe / ATK 250 / Weight 190 / Water Property / Weapon Lv 4 / Required Lv 95 / Socket 1 / for High Swordman/Merchant Classes";
					callsub L_Reward, 1393, 50, 100, 35; //End_Sektura
					break;
				case 6:
					mes "<<Cannon Spear[1]>>";
					mes "MSP - 100, Increases 10% of Damage impacted with Cannon Spear, Additional ATK power of Cannon Spear equivalent to 3 times Refine Lv.";
					mes "One-Handed Spear / ATK 180 / Weight 160 / Weapon Lv 4 / Required Lv 100 / Socket 1 / for Royal Guard";
					callsub L_Reward, 1435, 50, 100, 40; //Cannon_Spear
					break;
				case 7:
					mes "<<Giant Lance[0]>>";
					mes "ASPD - 10, When it's taken off, the character gets SP - 600. 20 more seconds of Delay time exists before using back the Clashing Spiral. If the original STR points are 120, + ATK 300.";
					mes "Two-Handed Lance / ATK 20 / Weight 2000 / Weapon Lv 4 / Required Lv 140 / Socket 0 / for Rune Knight";
					callsub L_Reward, 1490, 300, 300, 400; //Giant_Lance
					break;
				case 8:
					mes "<<Chilly Spell Book[2]>>";
					mes "MATK + 160, DEX + 1. Increases ATK % of Cold Bolt, Diamond Dust equivalent to 3 times Refine Lv, also SP consumption from those skills increased equivalent to 5 times Refine Lv. Undestroyable.";
					mes "Book / ATK 100 / Weight 100 / Water Property / Weapon Lv 4 / Required Lv 100 / Socket 2 / for Sorcerer";
					callsub L_Reward, 1584, 50, 100, 40; //Chilly_Spell_Book
					break;
				case 9:
					mes "<<Recovery Light[1]>>";
					mes "MATK + 160. Depending on its Refine Lv, Heal Ability and SP consumption for the skill increased. Indestructible.";
					mes "One-Handed Staff / ATK 30 / Weight 40 / Saint Property / Weapon Lv 4 / Required Lv 110 / Socket 1 / for Archbishop.";
					callsub L_Reward, 1659, 50, 100, 35; //Recovery_Light
					break;
				case 10:
					mes "<<Aztoe Nail[0]>>";
					mes "MATK + 80. For Physical Melee Attack, cast Freezing to the target with a certain chance. The chance is affected by Refine Lv.";
					mes "Dagger / ATK 160 / Weight 50 / Wind Property / Weapon Lv 4 / Required Lv 110 / Socket 0 / for High Swordman/Merchant/Thief Classes";
					callsub L_Reward, 13069, 50, 100, 35; //Aztoe_Nail
					break;
				case 11:
					mes "<<Scarletto Nail[0]>>";
					mes "MATK + 80. For Physical Melee Attack, cast Stone curse to the target with a certain chance. The chance is affected by Refine Lv.";
					mes "Dagger / ATK 160 / Weight 50 / Fire Property / Weapon Lv 4 / Required Lv 110 / Socket 0 / for High Swordman/Merchant/Thief Classes";
					callsub L_Reward, 13070, 50, 100, 35; //Scarletto_Nail
					break;
				case 12:
					mes "<<Bloody Cross[0]>>";
					mes "For Physical Melee Attack, autocast 'Hell Inferno'(Lv 1) with a certain chance. The chance is affected by Refine Lv.";
					mes "Mace / ATK 170 / Weight 150 / Darkness Property / Weapon Lv 4 / Required Lv 100 / Socket 0 / for High Acolyte Classes";
					callsub L_Reward, 16017, 50, 100, 40; //Bloody_Cross
					break;
				case 13:
					mes "<<Catapult[2]>>";
					mes "Increases ATK % of 'Triangle Shot' equivalent to 2 times Refine Lv, Also SP consumption from the skill increased.";
					mes "Bow / ATK 150 / Weight 110 / Weapon Lv 4 / Required Lv 100 / Socket 2 / for Shadow Chaser";
					callsub L_Reward, 18109, 50, 100, 35; //Catapult
					break;
				case 14:
					mes "<<Big CrossBow[2]>>";
					mes "Increases ATK % of 'Arrow Storm' equivalent to 5 times Refine Lv. Also SP consumption from the skill increased, If the Original AGI points are 120, ASPD + 1.";
					mes "Bow / ATK 160 / Weight 90 / Weapon Lv 4 / Required Lv 110 / Socket 2 / for Ranger";
					callsub L_Reward, 18110, 50, 100, 35; //Big_CrossBow
					break;
				case 15:
					mes "<<Creeper Bow[2]>>";
					mes "DEX + 1, For Physical Attack, auto-cast 'Fiber Lock'(Lv 1) with a certain chance.";
					mes "Bow / ATK 150 / Weight 150 / Weapon Lv 3 / Required Lv 120 / Socket 2 / for 3rd Archer Classes";
					callsub L_Reward, 18111, 50, 100, 35; //Creeper_Bow
					break;
				}
				if (.@break) {
					.@break = 0;
					break;
				}
			}
		}
	}
	close;

L_Reward:
	setarray .@amount[0], getarg(1), getarg(2), getarg(3);
	next;
	mes ""+ .@amount[0] +" Will of Warrior, "+ .@amount[1] +" Thirst for Blood, "+ .@amount[2] +" Chill of the Dead are needed for the exchange.";
	next;
	if (countitem(6469) >= .@amount[0] && countitem(6470) >= .@amount[1] && countitem(6471) >= .@amount[2]) {
		if (select("Don't exchange", "Exchange") == 1) {
			mes "[Weird old man]";
			mes "Okay..";
			close;
		}
		emotion ET_PROFUSELY_SWEAT;
		progressbar "FF00FF", 2;
		delitem 6469, .@amount[0]; //Will_Of_Warrior
		delitem 6470, .@amount[1]; //Blood_Thirst
		delitem 6471, .@amount[2]; //Goast_Chill
		getitem getarg(0), 1;
		mes "[Weird old man]";
		mes "There you go. Visit me sometimes and we could talk.";
		close;
	}
	return;
}

// Sorcerer (Rewards)
//============================================================
lhz_cube,233,24,4	script	Sorcerer#Bio4Reward	4_M_UMDANCEKID,{
	if ((MaxWeight - Weight) < 1200 || !checkweight(1201, 1)) {
		mes "^FF0000 Check up your inventory. You got too many items to carry out the quest. ^000000";
		close;
	}
	disable_items;
	mes "[Pudding]";
	mes "... .... ...";
	next;
	switch(select("Umba umba humbaa", "What are you doing here?", "Which are the equipments found so far?", "Here you are, sir.")) {
	case 1:
		emotion ET_FRET;
		mes "[Pudding]";
		mes "Hey, excuse me, but I'm not from Umbala! You are so rude.";
		close;
	case 2:
		mes "[Pudding]";
		mes "As you can see I'm a training Sorcerer, and my name is Pudding.";
		next;
		select("....?");
		emotion ET_FRET;
		mes "[Pudding]";
		mes "... What's that face? I'm starting to feel unpleasant..";
		next;
		emotion ET_OK;
		mes "[Pudding]";
		mes "A couple of days ago while I was undergoing discipline, I felt a strange, bizarre tinge. So I followed that and it brought me here.";
		next;
		select("I see.");
		mes "[Pudding]";
		mes "OK, let me continue. I become bothered if you disturb me while I'm talking.";
		next;
		mes "[Pudding]";
		mes "And I entered to the laboratory here in order to investigate and oh gosh! I found those monsters which were like doppelgangers from 'Geffen Dungeon'. It was full of them.";
		next;
		mes "[Pudding]";
		mes "From those monsters, I could find rare items like '^F2766EWill of Warrior^000000', '^952420Thirst for Blood^000000', and '^88C6F7Chill of the Dead^000000' which you cannot find in any other place.";
		next;
		emotion ET_QUESTION;
		mes "[Pudding]";
		mes "And after many hours of research on my own, I finally figured out a way to use those items. Do you wanna know?";
		next;
		switch(select("Oh....pardon?!", "Of course, I really wanna know.")) {
		case 1:
			emotion ET_HUK, playerattached();
			emotion ET_FRET;
			mes "[Pudding]";
			mes "Oh my! You fell asleep after you asked me something? Well, anyway I feel lazy to explain again so I will just continue.";
			next;
			break;
		case 2:
			emotion ET_SMILE;
			mes "[Pudding]";
			mes "Good, I am content that you are listening to my story carefully. Then I will keep explaining.";
			next;
			break;
		}
		mes "[Pudding]";
		mes "Those '^F2766EWill of Warrior^000000' and '^952420Thirst for Blood^000000'..... are aggressive but warm materials.";
		next;
		mes "[Pudding]";
		mes "So '^F2766EWill of Warrior^000000' can dwell a special power to the 4th slot of an equipment,";
		next;
		mes "[Pudding]";
		mes "and '^952420Thirst for Blood^000000' can dwell a special power to the 3rd slot.";
		next;
		mes "[Pudding]";
		mes "Whereas!!!";
		mes "'^88C6F7Chill of the Dead^000000' is a cold type material";
		mes "which allows the return of power from '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000' so makes the equipment no longer enchanted.";
		next;
		mes "[Pudding]";
		mes "What do you say? Doesn't it sound interesting? But, there's a problem...";
		next;
		mes "[Pudding]";
		mes "Since those materials can only be found from the monsters in the Lab., the special power also can be dwelt into certain equipments which can be obtained from the Lab.";
		next;
		select("So what's the conclusion?");
		emotion ET_QUESTION, playerattached();
		emotion ET_FRET;
		mes "[Pudding]";
		mes "Gee.. I told you not to cut while I talk, didn't I? Well, I will answer that because that's important.";
		next;
		mes "[Pudding]";
		mes "If you bring me 10 '^F2766EWill of Warrior^000000' or 10 '^952420Thirst for Blood^000000', I will dwell some power to certain equipments that you can find in the Lab..";
		next;
		mes "[Pudding]";
		mes "And if you are not satisfied with the power you got, bring me 10 '^88C6F7Chill of the Dead^000000', and I will take off that power.";
		next;
		mes "[Pudding]";
		mes "What do you say? Having both options.....quite nice, huh?";
		next;
		mes "[Pudding]";
		mes "If you obtain '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000', and obtain also equipment which is capable to accept their power, bring them to me. I will be waiting.";
		close;
	case 3:
		mes "[Pudding]";
		mes "Hm.... Equipment which are discovered so far are....";
		next;
		mes "- checking -";
		mes "Pudding takes some paper out from a pocket.";
		next;
		mes "[Pudding]";
		mes "Let me see.. the equipments discovered until now are....";
		mes "7 Armors, 14 Weapons.";
		next;
		while(1) {
			switch(select("Ok, I don't have to know more.", "7 Armors", "14 Weapons")) {
			case 1:
				mes "[Pudding]";
				mes "If you obtain '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000', and obtain also equipment which is capable to accept their power, bring them to me. I will be waiting.";
				close;
			case 2:
				mes "< Armor List >";
				mes "Giant Shield[1]";
				mes "Ancient Book of Geffenia-Water[1]";
				mes "Bible of Promise(2nd Vol.)[1]";
				mes "Salvage Cape[0]";
				mes "Assassin's Handcuffs[1]";
				mes "Green Operating Gown[1]";
				mes "Ancient Gold Decoration[1]";
				next;
				mes "[Pudding]";
				mes "So far these are the Armors discovered. Do you wanna see other things?";
				next;
				break;
			case 3:
				mes "< Weapon List >";
				mes "Agent Katar[1]";
				mes "Guillotine Katar[1]";
				mes "Ygnus Stale[1]";
				mes "End Sektura[1]";
				mes "Cannon Spear[1]";
				mes "Giant Lance[0]";
				mes "Chilly Spell Book[2]";
				mes "Recovery Light[1]";
				mes "Aztoe Nail[0]";
				mes "Scarletto Nail[0]";
				mes "Bloody Cross[0]";
				mes "Catapult[2]";
				mes "Big CrossBow[2]";
				mes "Creeper Bow[2]";
				next;
				mes "[Pudding]";
				mes "So far these are the Weapons discovered. Do you wanna see other things?";
				next;
				break;
			}
		}
		close;
	case 4:
		emotion ET_SPARK;
		mes "[Pudding]";
		mes "Ohhhhh Have you brought them?";
		next;
		break;
	}
	mes "[Pudding]";
	mes "OKAY! In which equipment you want to dwell the power?";
	next;
	setarray .@parts[0], EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_TOP;
	for(.@i = 0; .@i < 7; .@i++) {
		if (!getequipisequiped(.@parts[.@i])) {
			switch(.@i) {
				case 0:
					.@equipped$[.@i] = "^999999Armor-[Not equipped]^000000";
					break;
				case 1:
					.@equipped$[.@i] = "^999999Left Hand-[Not equipped]^000000";
					break;
				case 2:
					.@equipped$[.@i] = "^999999Right Hand-[Not equipped]^000000";
					break;
				case 3:
					.@equipped$[.@i] = "^999999Garment-[Not equipped]^000000";
					break;
				case 4:
					.@equipped$[.@i] = "^999999Accessory-[Not equipped]^000000";
					break;
				case 5:
					.@equipped$[.@i] = "^999999Accessory-[Not equipped]^000000";
					break;
				case 6:
					.@equipped$[.@i] = "^999999Helm-[Not equipped]^000000";
					break;
			}
		} else {
			.@equipped$[.@i] = getequipname(.@parts[.@i]);
		}
	}
	switch(select("I changed my mind.", .@equipped$[0], .@equipped$[1], .@equipped$[2], .@equipped$[3], .@equipped$[4], 
	.@equipped$[5], .@equipped$[6])) {
	case 1:
		mes "[Pudding]";
		mes "Well, I was looking forward to doing it, but I cannot help then.";
		close;
	case 2:
		if (!getequipisequiped(EQI_ARMOR)) {
			mes "[Pudding]";
			mes "Hey..Where is the armor?";
			close;
		}
		.@part = EQI_ARMOR;
		break;
	case 3:
		if (!getequipisequiped(EQI_HAND_L)) {
			mes "[Pudding]";
			mes "Well.. You have nothing equipped on the left hand.";
			close;
		}
		.@part = EQI_HAND_L;
		break;
	case 4:
		if (!getequipisequiped(EQI_HAND_R)) {
			mes "[Pudding]";
			mes "Well.. You have nothing equipped on the right hand.";
			close;
		}
		.@part = EQI_HAND_R;
		break;
	case 5:
		if (!getequipisequiped(EQI_GARMENT)) {
			mes "[Pudding]";
			mes "Um.... Where's your robe?";
			close;
		}
		.@part = EQI_GARMENT;
		break;
	case 6:
		if (!getequipisequiped(EQI_ACC_L)) {
			mes "[Pudding]";
			mes ".....Where's the accessory?";
			close;
		}
		.@part = EQI_ACC_L;
		break;
	case 7:
		if (!getequipisequiped(EQI_ACC_R)) {
			mes "[Pudding]";
			mes ".....Where's the accessory?";
			close;
		}
		.@part = EQI_ACC_R;
		break;
	case 8:
		if (!getequipisequiped(EQI_HEAD_TOP)) {
			mes "[Pudding]";
			mes "Hey.. Are you not wearing any helm?";
			close;
		}
		.@part = EQI_HEAD_TOP;
		break;
	}
	.@refine_count = getequiprefinerycnt(.@part);
	.@equip_item = getequipid(.@part);
	setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
	.@lhz_max_num = 4000;
	if (.@equip_item == 13069 || .@equip_item == 1291 || .@equip_item == 1392 || 
	    .@equip_item == 1393 || .@equip_item == 1435 || .@equip_item == 1490 || 
	    .@equip_item == 13069 || .@equip_item == 13070 || .@equip_item == 16017) {
		.@type = 1;
		if (.@equip_item == 1490)
			.@lhz_max_num = 4200;
	} else if (.@equip_item == 18109 || .@equip_item == 18110 || .@equip_item == 18111) {
		.@type = 2;
	} else if (.@equip_item == 1584 || .@equip_item == 1659) {
		.@type = 3;
	} else if (.@equip_item == 2160 || .@equip_item == 2161 || .@equip_item == 2162 ||
	           .@equip_item == 2582 || .@equip_item == 2892 || .@equip_item == 15044 || 
	           .@equip_item == 18570) {
		.@type = 4;
		if (.@equip_item == 2582 || .@equip_item == 18570)
			.@lhz_max_num = 4200;
	} else {
		mes "[Pudding]";
		mes "First! I need to check if this equipment can accept the power.";
		next;
		specialeffect2 EF_SPHERE;
		progressbar "ffff00", 2;
		specialeffect2 EF_SUI_EXPLOSION;
		emotion ET_CRY;
		mes "[Pudding]";
		mes "Hm.... This equipment cannot accept the power of '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000'.";
		close;
	}
	emotion ET_DELIGHT;
	mes "[Pudding]";
	mes "OHHH.. This equipment could accept the power of '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000'.";
	next;
	if (countitem(6469) >= 10)
		.@menu_in$[1] = "Dwell the power of '^F2766EWill of Warrior^000000'";
	else
		.@menu_in$[1] = "Not enough ^999999'Will of Warrior'^000000";

	if (countitem(6470) >= 10)
		.@menu_in$[2] = "Dwell the power of '^952420Thirst for Blood^000000'";
	else
		.@menu_in$[2] = "Not enough ^999999'Thirst for Blood'^000000";

	if (countitem(6471) >= 10)
		.@menu_in$[3] = "Consume the '^88C6F7Chill of the Dead^000000'";
	else
		.@menu_in$[3] = "Not enough ^999999'Chill of the Dead'^000000";
	mes "[Pudding]";
	mes "OK! Which power do you want to dwell into your equipment?";
	next;
	switch(select("I say no! I don't need that!!", .@menu_in$[1], .@menu_in$[2], .@menu_in$[3])) {
	case 1:
		mes "[Pudding]";
		mes "Ohhh.. I was looking forward to doing it, but it's all up to you......";
		close;
	case 2:
		if (countitem(6469) < 10) {
			mes "[Pudding]";
			mes "Not enough '^F2766EWill of Warrior^000000'. You need to bring 10 '^F2766EWill of Warrior^000000'";
			close;
		}
		else if (.@equip_card[3] > 0) {
			mes "[Pudding]";
			mes "This equipment already has the power of '^F2766EWill of Warrior^000000'.";
			close;
		} else {
			.@socket_type = 4;
		}
		break;
	case 3:
		if (countitem(6470) < 10) {
			mes "[Pudding]";
			mes "Not enough '^952420Thirst for Blood^000000'. You need to bring 10 '^952420Thirst for Blood^000000'";
			close;
		}
		else if (.@equip_card[2] > 0) {
			mes "[Pudding]";
			mes "This equipment already has the power of '^952420Thirst for Blood^000000'.";
			close;
		} else {
			.@socket_type = 3;
		}
		break;
	case 4:
		// Enchant Removal
		if (countitem(6471) < 10) {
			.@menu_clear$[1] = "^999999Not enough 'Chill of the Dead'^000000";
			.@menu_clear$[2] = "^999999Not enough 'Chill of the Dead'^000000";
			.@4thzptsodyd = 1;
			.@3thzptsodyd = 1;
		} else {
			if (.@equip_card[3] > 0) {
				.@menu_clear$[1] = "Remove the power of '^F2766EWill of Warrior^000000'";
			} else {
				.@menu_clear$[1] = "^999999There's no power to remove^000000";
				.@4thzptsodyd = 1;
			}
			if (.@equip_card[2] > 0) {
				.@menu_clear$[2] = "Remove the power of '^952420Thirst for Blood^000000'";
			} else {
				.@menu_clear$[2] = "^999999There's no power to remove^000000";
				.@3thzptsodyd = 1;
			}
		}
		mes "[Pudding]";
		mes "Alright, which power do you want to remove?";
		next;
		.@menu = select("No, I don't wanna remove any.", .@menu_clear$[1], .@menu_clear$[2]);
		switch(.@menu){
		case 1:
			mes "[Pudding]";
			mes "Really? Ok. I got it..";
			close;
		case 2:
		case 3:
			if (countitem(6471) < 10) {
				mes "[Pudding]";
				mes "Not enough '^88C6F7Chill of the Dead^000000'. You need to bring 10 '^88C6F7Chill of the Dead^000000'";
				close;
			}
			if ( (.@menu==3 && .@3thzptsodyd == 1) || (.@menu==2 && .@4thzptsodyd == 1) ) {
				mes "[Pudding]";
				mes "This equipment didn't get any special power.";
				close;
			}
			specialeffect EF_BEGINSPELL2;
			progressbar "ffff00", 2;
			specialeffect2 EF_FROSTWEAPON;
			delitem 6471, 10; //Goast_Chill

			// anti-hack
			if (callfunc("F_IsEquipIDHack", .@part, .@equip_item) || callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@refine_count))
				close;

			if (.@menu == 2)
				.@equip_card[3] = 0;
			else
				.@equip_card[2] = 0;
			delequip .@part;
			getitem2 .@equip_item, 1, 1, .@refine_count, 0, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3];
			mes "[Pudding]";
			if (.@menu == 3)
				mes "The power of '^952420Thirst for Blood^000000' has been perfectly removed.";
			else
				mes "The power of '^F2766EWill of Warrior^000000' has been perfectly removed.";
			close;
		}
	}
	mes "[Pudding]";
	mes "Before I dwell the power, let me caution you.";
	next;
	mes "[Pudding]";
	mes "While I dwell the power of '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000', the equipment could be not capable of accepting it and will be destroyed as a result..";
	next;
	mes "[Pudding]";
	mes "^9D2628If the equipment is destroyed, you will also lose the cards you inserted in it, and the refine Lv will be removed too.^000000";
	next;
	mes "[Pudding]";
	mes "Alright. Do you really wish to dwell the power into the equipment?";
	next;
	if (select("Wait, I will think again.", "Sure, carry on.") == 1) {
		mes "[Pudding]";
		mes "OK. I hope to see you again.";
		close;
	}
	mes "[Pudding]";
	mes "I hope you made the correct decision...";
	next;
	if (.@socket_type >= 3) {
		switch(.@type){
			case 1:	// Short Distance
				.@r = rand(1, .@lhz_max_num);
				if      (.@r < 401)  .@enchant = 4700; //Strength1
				else if (.@r < 441)  .@enchant = 4701; //Strength2
				else if (.@r < 445)  .@enchant = 4702; //Strength3
				else if (.@r < 845)  .@enchant = 4730; //Agility1
				else if (.@r < 885)  .@enchant = 4731; //Agility2
				else if (.@r < 889)  .@enchant = 4732; //Agility3
				else if (.@r < 1289) .@enchant = 4740; //Vitality1
				else if (.@r < 1329) .@enchant = 4741; //Vitality2
				else if (.@r < 1333) .@enchant = 4742; //Vitality3
				else if (.@r < 1523) .@enchant = 4710; //Inteligence1
				else if (.@r < 1542) .@enchant = 4711; //Inteligence2
				else if (.@r < 1544) .@enchant = 4712; //Inteligence3
				else if (.@r < 1844) .@enchant = 4720; //Dexterity1
				else if (.@r < 1874) .@enchant = 4721; //Dexterity2
				else if (.@r < 1877) .@enchant = 4722; //Dexterity3
				else if (.@r < 2067) .@enchant = 4750; //Luck1
				else if (.@r < 2086) .@enchant = 4751; //Luck2
				else if (.@r < 2088) .@enchant = 4752; //Luck3
				else if (.@r < 2491) .@enchant = 0;
				else if (.@r < 2891) .@enchant = 4811; //Fighting_Spirit1
				else if (.@r < 2931) .@enchant = 4810; //Fighting_Spirit2
				else if (.@r < 2935) .@enchant = 4809; //Fighting_Spirit3
				else if (.@r < 3125) .@enchant = 4815; //Spell1
				else if (.@r < 3144) .@enchant = 4814; //Spell2
				else if (.@r < 3146) .@enchant = 4813; //Spell3
				else if (.@r < 3148) .@enchant = 4807; //Atk_Speed1
				else if (.@r < 3348) .@enchant = 4818; //Sharp1
				else if (.@r < 3368) .@enchant = 4817; //Sharp2
				else if (.@r < 3370) .@enchant = 4816; //Sharp3
				else if (.@r < 3560) .@enchant = 4832; //Expert_Archer1
				else if (.@r < 3579) .@enchant = 4833; //Expert_Archer2
				else if (.@r < 3581) .@enchant = 4834; //Expert_Archer3
				else                 .@enchant = 0;
				break;
			case 2:	// Long Distance
				.@r = rand(1, .@lhz_max_num);
				if      (.@r < 191)  .@enchant = 4700; //Strength1
				else if (.@r < 210)  .@enchant = 4701; //Strength2
				else if (.@r < 212)  .@enchant = 4702; //Strength3
				else if (.@r < 612)  .@enchant = 4730; //Agility1
				else if (.@r < 652)  .@enchant = 4731; //Agility2
				else if (.@r < 656)  .@enchant = 4732; //Agility3
				else if (.@r < 846)  .@enchant = 4740; //Vitality1
				else if (.@r < 865)  .@enchant = 4741; //Vitality2
				else if (.@r < 867)  .@enchant = 4742; //Vitality3
				else if (.@r < 1167) .@enchant = 4710; //Inteligence1
				else if (.@r < 1197) .@enchant = 4711; //Inteligence2
				else if (.@r < 1200) .@enchant = 4712; //Inteligence3
				else if (.@r < 1600) .@enchant = 4720; //Dexterity1
				else if (.@r < 1640) .@enchant = 4721; //Dexterity2
				else if (.@r < 1644) .@enchant = 4722; //Dexterity3
				else if (.@r < 1834) .@enchant = 4750; //Luck1
				else if (.@r < 1853) .@enchant = 4751; //Luck2
				else if (.@r < 1855) .@enchant = 4752; //Luck3
				else if (.@r < 2258) .@enchant = 0;
				else if (.@r < 2448) .@enchant = 4811; //Fighting_Spirit1
				else if (.@r < 2467) .@enchant = 4810; //Fighting_Spirit2
				else if (.@r < 2469) .@enchant = 4809; //Fighting_Spirit3
				else if (.@r < 2669) .@enchant = 4815; //Spell1
				else if (.@r < 2689) .@enchant = 4814; //Spell2
				else if (.@r < 2691) .@enchant = 4813; //Spell3
				else if (.@r < 2693) .@enchant = 4807; //Atk_Speed1
				else if (.@r < 3093) .@enchant = 4818; //Sharp1
				else if (.@r < 3133) .@enchant = 4817; //Sharp2
				else if (.@r < 3137) .@enchant = 4816; //Sharp3
				else if (.@r < 3537) .@enchant = 4832; //Expert_Archer1
				else if (.@r < 3577) .@enchant = 4833; //Expert_Archer2
				else if (.@r < 3581) .@enchant = 4834; //Expert_Archer3
				else                 .@enchant = 0;
				break;
			case 3:
				.@r = rand(1, .@lhz_max_num);
				if      (.@r < 301)  .@enchant = 4700; //Strength1
				else if (.@r < 331)  .@enchant = 4701; //Strength2
				else if (.@r < 334)  .@enchant = 4702; //Strength3
				else if (.@r < 534)  .@enchant = 4730; //Agility1
				else if (.@r < 554)  .@enchant = 4731; //Agility2
				else if (.@r < 556)  .@enchant = 4732; //Agility3
				else if (.@r < 956)  .@enchant = 4740; //Vitality1
				else if (.@r < 996)  .@enchant = 4741; //Vitality2
				else if (.@r < 1000) .@enchant = 4742; //Vitality3
				else if (.@r < 1400) .@enchant = 4710; //Inteligence1
				else if (.@r < 1440) .@enchant = 4711; //Inteligence2
				else if (.@r < 1444) .@enchant = 4712; //Inteligence3
				else if (.@r < 1844) .@enchant = 4720; //Dexterity1
				else if (.@r < 1884) .@enchant = 4721; //Dexterity2
				else if (.@r < 1888) .@enchant = 4722; //Dexterity3
				else if (.@r < 2078) .@enchant = 4750; //Luck1
				else if (.@r < 2097) .@enchant = 4751; //Luck2
				else if (.@r < 2099) .@enchant = 4752; //Luck3
				else if (.@r < 2502) .@enchant = 0;
				else if (.@r < 2692) .@enchant = 4811; //Fighting_Spirit1
				else if (.@r < 2711) .@enchant = 4810; //Fighting_Spirit2
				else if (.@r < 2713) .@enchant = 4809; //Fighting_Spirit3
				else if (.@r < 3113) .@enchant = 4815; //Spell1
				else if (.@r < 3153) .@enchant = 4814; //Spell2
				else if (.@r < 3157) .@enchant = 4813; //Spell3
				else if (.@r < 3159) .@enchant = 4807; //Atk_Speed1
				else if (.@r < 3349) .@enchant = 4818; //Sharp1
				else if (.@r < 3368) .@enchant = 4817; //Sharp2
				else if (.@r < 3370) .@enchant = 4816; //Sharp3
				else if (.@r < 3560) .@enchant = 4832; //Expert_Archer1
				else if (.@r < 3579) .@enchant = 4833; //Expert_Archer2
				else if (.@r < 3581) .@enchant = 4834; //Expert_Archer3
				else                 .@enchant = 0;
				break;
			case 4:	// Armor
				.@r = rand(1, .@lhz_max_num);
				if      (.@r < 301)  .@enchant = 4700; //Strength1
				else if (.@r < 331)  .@enchant = 4701; //Strength2
				else if (.@r < 334)  .@enchant = 4702; //Strength3
				else if (.@r < 634)  .@enchant = 4730; //Agility1
				else if (.@r < 664)  .@enchant = 4731; //Agility2
				else if (.@r < 667)  .@enchant = 4732; //Agility3
				else if (.@r < 967)  .@enchant = 4740; //Vitality1
				else if (.@r < 997)  .@enchant = 4741; //Vitality2
				else if (.@r < 1000) .@enchant = 4742; //Vitality3
				else if (.@r < 1300) .@enchant = 4710; //Inteligence1
				else if (.@r < 1330) .@enchant = 4711; //Inteligence2
				else if (.@r < 1333) .@enchant = 4712; //Inteligence3
				else if (.@r < 1633) .@enchant = 4720; //Dexterity1
				else if (.@r < 1663) .@enchant = 4721; //Dexterity2
				else if (.@r < 1666) .@enchant = 4722; //Dexterity3
				else if (.@r < 1966) .@enchant = 4750; //Luck1
				else if (.@r < 1996) .@enchant = 4751; //Luck2
				else if (.@r < 1999) .@enchant = 4752; //Luck3
				else if (.@r < 2399) .@enchant = 0;
				else if (.@r < 2549) .@enchant = 4786; //Mdef2
				else if (.@r < 2599) .@enchant = 4787; //Mdef4
				else if (.@r < 2609) .@enchant = 4788; //Mdef6
				else if (.@r < 2614) .@enchant = 4789; //Mdef8
				else if (.@r < 2616) .@enchant = 4790; //Mdef10
				else if (.@r < 2766) .@enchant = 4791; //Def3
				else if (.@r < 2866) .@enchant = 4792; //Def6
				else if (.@r < 2876) .@enchant = 4793; //Def9
				else if (.@r < 2878) .@enchant = 4794; //Def12
				else if (.@r < 3278) .@enchant = 0;
				else if (.@r < 3428) .@enchant = 4859; //Evasion1
				else if (.@r < 3478) .@enchant = 4860; //Evasion3
				else if (.@r < 3488) .@enchant = 4762; //Evasion6
				else if (.@r < 3498) .@enchant = 4800; //SP50
				else if (.@r < 3734) .@enchant = 4795; //HP100
				else if (.@r < 3834) .@enchant = 4796; //HP200
				else if (.@r < 3884) .@enchant = 4797; //HP300
				else                 .@enchant = 0;
			break;
		}
		specialeffect EF_BEGINSPELL3;
		progressbar "ffff00", 2;
		if (.@socket_type == 3)
			delitem 6470, 10; //Blood_Thirst
		else
			delitem 6469, 10; //Will_Of_Warrior

		// anti-hack
		if (callfunc("F_IsEquipIDHack", .@part, .@equip_item) || callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@refine_count))
			close;

		.@equip_card[(.@socket_type-1)] = .@enchant;
		delequip .@part;
		
		if (.@enchant == 0){
			specialeffect2 EF_SUI_EXPLOSION;
			emotion ET_OTL;
			mes "[Pudding]";
			mes "...Well....the equipment could not accept the power of "+((.@socket_type==3)?"'^952420Thirst for Blood^000000'":"'^F2766EWill of Warrior^000000'")+" and it got destroyed.";
			close;
		} else {
			specialeffect2 EF_FIREHIT;
			getitem2 .@equip_item, 1, 1, .@refine_count, 0, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3];
			emotion ET_DELIGHT;
			mes "[Pudding]";
			mes "Fortunately, the power of "+((.@socket_type==3)?"'^952420Thirst for Blood^000000'":"'^F2766EWill of Warrior^000000'")+" has been dwelt well into your equipment...";
			close;
		}
	}
	end;
}
