//===== rAthena Script ======================================= 
//= Ticket Refiner
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= [Official Conversion]
//= Refiner that uses +5~9/+11 refine tickets to refine
//= equipment with no chance of failure.
//= NOTE: This NPC is currently disabled on official servers.
//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
//============================================================

prontera,184,177,6	script	о	851,{
	disable_items;
	if (countitem(6238) || countitem(6228) || countitem(6229) || countitem(6230) || countitem(6231) || countitem(6456))
		set .@bWeaponUp,1;
	if (countitem(6239) || countitem(6232) || countitem(6233) || countitem(6234) || countitem(6235) || countitem(6457))
		set .@bArmorUp,1;
	if (!.@bWeaponUp && !.@bArmorUp) {
		mes "[о]";
		mes "!";
		mes "ʲô?";
		mes "ר.";
		mes "Ʒ,";
		mes "Ѿ.";
		next;
		switch(select("- .:- ......Һ.")) {
		case 1:
			mes "[о]";
			mes ", ̽ռ.";
			close;
		case 2:
			mes "[о]";
			mes "ʵ, ʱðռṩƷ ^006400ȯķ^000000...";
			mes "ټ~!";
			close;
		}
	}
	emotion e_gasp;
	mes "[о]";
	mes "!";
	mes "ԽƷ ^006400뾫ȯͬļ^000000.";
	mes "ص! װоʧܵĿ.";
	next;
	if(select("- ϻ.:- ȯװ.") == 1) {
		mes "[о]";
		mes "õ.";
		mes ".";
		close;
	}
	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 "[о]";
		mes "װҪװ.";
		close;
	}
	if (!getequipisenableref(.@part)) {
		emotion e_otl;
		mes "[о]";
		mes ", ҺܱǸ.";
		mes "Ʒ޷.";
		close;
	}
	switch(getequipweaponlv(.@part)) {
	default:
	case 0:
		setarray .@tickets[0],6457,6235,6234,6233,6232,6239;
		setarray .@levels[0],5,6,7,8,9,11;
		set .@type$,"Armor";
		set .@check,.@bArmorUp;
		break;
	case 1:
	case 2:
	case 3:
	case 4:
		setarray .@tickets[0],6456,6231,6230,6229,6228,6238;
		setarray .@levels[0],5,6,7,8,9,11;
		set .@type$,"Weapon";
		set .@check,.@bWeaponUp;
		break;
	}
	if (!.@check) {
		emotion e_dots;
		mes "[о]";
		mes "Ҫ ^006400"+.@type$+"^000000,  ^006400"+.@type$+"ȯ^000000.";
		mes "ټ!";
		close;
	}
	mes "[о]";
	mes "ѡ뾫 ^006400"+.@type$+"^000000 ʹõľȯ.";
	next;
	set .@menu$,"";
	for(set .@i,0; .@i<getarraysize(.@tickets); set .@i,.@i+1)
		set .@menu$, .@menu$+getitemname(.@tickets[.@i])+":";
	set .@select, select(.@menu$)-1;
	set .@ticket_lv, .@levels[.@select];
	set .@ticket_id, .@tickets[.@select];
	if (countitem(.@ticket_id) == 0) {
		emotion e_what;
		mes "[о]";
		mes getitemname(.@ticket_id)+" , ǲǰŲֿ?";
		mes "һ.";
		mes "ټ!";
		close;
	}
	if (getequiprefinerycnt(.@part) >= .@ticket_lv) {
		emotion e_swt2;
		mes "[о]";
		mes "^8B4513Ѿ.^000000";
		mes "һ㾫ȯװ.";
		close;
	}
	mes "[о]";
	mes "ҽ ^006400"+getequipname(.@part)+"^8B4513  +"+.@ticket_lv+" ^000000  ^006400"+getitemname(.@ticket_id)+"^000000.";
	mes "Ҽ?";
	next;
	if(select("- .:- .") == 1) {
		emotion e_dots;
		mes "[о]";
		mes ", ı.";
		mes "ð.";
		mes "Ҫʱ.";
		close;
	}
	mes "[о]";
	mes "ܺ.";
	mes "Ը!";
	mes "Լķʽ...";
	mes ".......!";
	specialeffect EF_SUI_EXPLOSION;
	if (countitem(.@ticket_id))
		delitem .@ticket_id,1;
	else {
		next;
		mes "!";
		mes "뱨GM.";
		close;
	}
	for(set .@i,getequiprefinerycnt(.@part); .@i<.@ticket_lv; set .@i,.@i+1)
		successrefitem .@part;
	next;
	emotion e_ho;
	mes "[о]";
	mes ", ~";
	mes "ܺ, ^0000FF"+strcharinfo(0)+"^000000!";
	mes "ϲҫ "+.@type$+".";
	mes "㿴!";
	mes "ټ~!";
	close;
}
