//===== rAthena Script ======================================= 
//= Blessed Refiner
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= [Official Conversion]
//= Refiners that use Blessed ores to refine equipment.
//= Upon failure, the equipment is not destroyed. The success
//= rate is identical to that for Enriched ores.
//= - "Blacksmith Dister" only refines from +6~12.
//= NOTE: This NPC is currently disabled on official servers.
//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
//============================================================

-	script	::BlacksmithDister	-1,{
	disable_items;
	mes "[˹]";
	mes "ҵ, ǱΪ!";
	mes "ֻ +6 ~ 12 װ.";
	next;
	mes "[˹]";
	mes "Ҫ ^ff9999ܴ͸ʯ^000000 ,  ^ff9999ܴ͸ķ߾ʯ^000000 .";
	mes "ʧ ^FF0000ƻپ^000000.";
	next;
	mes "[˹]";
	mes "? ҪҪ?";
	next;
	setarray .@position$[1],"- ͷ","- ","- ","- ","- ","- Ь","- װƷ","- װƷ","- ͷ","- ͷ";
	set .@menu$,"";
	for(set .@i,1; .@i<=10; set .@i,.@i+1)
		set .@menu$, .@menu$+((getequipisequiped(.@i))?getequipname(.@i):.@position$[.@i]+"-[δװ]")+":";
	set .@part, select(.@menu$);
	if (!getequipisequiped(.@part)) {
		mes "[˹]";
		switch(.@part) {
		case 1:
			mes "һ, ʦ.";
			break;
		case 2:
			mes "ҵĴ, Ϊеһ.";
			break;
		case 3:
		case 4:
			mes "ÿǲҵר.";
			break;
		case 5:
			mes "޷ѵװ!";
			break;
		case 6:
			mes "ֵζ?";
			break;
		case 7:
		case 8:
			mes "װƷ?";
			break;
		case 9:
			mes "Ҿʲô?";
			break;
		case 10:
			mes "? ô?";
			break;
		}
		close;
	}
	if (!getequipisenableref(.@part)) {
		mes "[˹]";
		mes "Ʒ޷.";
		close;
	}
	set .@equip_refine, getequiprefinerycnt(.@part);
	if (.@equip_refine < 6 || .@equip_refine > 12) {
		mes "[˹]";
		mes "װѾ "+.@equip_refine+". ֻܹ +6  +12װ!";
		close;
	}
	set .@equip_lv, getequipweaponlv(.@part);
	switch(.@equip_lv) {
	default:
	case 0:
		set .@price,20000;
		set .@material,6439; //Unbreakable_Def
		set .@type$,"";
		break;
	case 1:
		set .@price,1000;
		set .@material,6438; //Unbreakable_Weap
		set .@type$,"";
		break;
	case 2:
		set .@price,2000;
		set .@material,6438; //Unbreakable_Weap
		set .@type$,"";
		break;
	case 3:
		set .@price,20000;
		set .@material,6438; //Unbreakable_Weap
		set .@type$,"";
		break;
	case 4:
		set .@price,40000;
		set .@material,6438; //Unbreakable_Weap
		set .@type$,"";
		break;
	}
	set .@ore$,"^ff9999ܴ͸"+.@type$+" ʯ^000000";
	mes "[˹]";
	mes " "+.@type$+" Ѿ "+.@equip_refine+". , Ҫ "+.@ore$+"  "+(.@price/1000)+",000 zeny ľ.";
	mes "?";
	next;
	if(select("- :- ") == 2) {
		mes "[˹]";
		mes "Һæ, ҿЦ!";
		close;
	}
	if (getequippercentrefinery(.@part) < 100) {
		mes "[˹]";
		mes " "+.@type$+" Ѿξ. Ȼʧʱ,  "+.@ore$+" ʧ!";
		next;
		mes "[˹]";
		mes "Ȼ, ѽ˻! ?";
		next;
		if(select("- :- ") == 2) {
			mes "[˹]";
			mes "ܺ. ʧҲĵ.";
			close;
		}
	}
	if (countitem(.@material) == 0 || Zeny < .@price) {
		mes "[˹]";
		mes "ϲ.";
		mes "Ҫ "+((.@equip_lv)?"Ϊȼ "+.@equip_lv+" ":"")+", Ҫ "+.@ore$+"  "+(.@price/1000)+",000 zeny ľ.";
		close;
	}
	delitem .@material,1;
	set Zeny, Zeny-.@price;
	mes "[˹]";
	mes "! ! !";
	if (getequippercentrefinery(.@part) > rand(100) || getequippercentrefinery(.@part) > rand(100)) {
		specialeffect EF_BLESSING;
		successrefitem .@part;
		next;
		mes "[˹]";
		mes "!!!";
		next;
		mes "[˹]";
		mes "ǳɹ~ !";
		close;
	}
	specialeffect EF_CURSEATTACK;
	specialeffect2 EF_SUI_EXPLOSION;
	next;
	emotion (!rand(5))?e_ag:e_omg;
	mes "[˹]";
	mes "!!!!";
	next;
	mes "[˹]";
	mes "! Ȼ "+.@ore$+" ϱף...";
	next;
	mes "[˹]";
	mes "ʧܵʱ!!";
	close;
}
prt_in,52,56,3	duplicate(BlacksmithDister)	˹#prt	826
payon,148,172,3	duplicate(BlacksmithDister)	˹#pay	826
alberta_in,20,56,3	duplicate(BlacksmithDister)	˹#alb	826
yuno_in01,175,18,3	duplicate(BlacksmithDister)	˹#yuno	826
ein_in01,26,82,3	duplicate(BlacksmithDister)	˹#ein	826
lhz_in02,280,15,3	duplicate(BlacksmithDister)	˹#lhz	826
