//================= Hercules Script =======================================
//=       _   _                     _
//=      | | | |                   | |
//=      | |_| | ___ _ __ ___ _   _| | ___  ___
//=      |  _  |/ _ \ '__/ __| | | | |/ _ \/ __|
//=      | | | |  __/ | | (__| |_| | |  __/\__ \
//=      \_| |_/\___|_|  \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2012-2015  Hercules Dev Team
//= Copyright (C)  Euphy
//= Copyright (C)  Playtester
//= Copyright (C)  Poki#3
//= Copyright (C)  Nexon
//= Copyright (C)  Lupus
//= Copyright (C)  Usnul
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
//= the Free Software Foundation, either version 3 of the License, or
//= (at your option) any later version.
//=
//= This program is distributed in the hope that it will be useful,
//= but WITHOUT ANY WARRANTY; without even the implied warranty of
//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//= GNU General Public License for more details.
//=
//= You should have received a copy of the GNU General Public License
//= along with this program.  If not, see <http://www.gnu.org/licenses/>.
//=========================================================================
//= Clothes Dyer
//================= Description ===========================================
//= Clothes dyer with standard palletes
//================= Current Version =======================================
//= 2.5
//=========================================================================

prt_in,284,168,2	script	Dyer Ginedin Rephere	1_M_JOBTESTER,{
function Dyes;

	.@EnableDyes = 1;	// Disable (set to 0) if palettes cause errors [see note v2.4]

	.n$ = "[Dyer Ginedin Rephere]";
	mes .n$;
	mes "11... 12... Mmm... good. I think I'll be able to finish before tonight's party. Oh! I didn't notice you were here!";
	while(1) {
		next;
		mes .n$;
		mes "How may I assist you?";
		next;
		switch(select("- Talk", "- Dye Clothing", "- Price List", "- ^777777Cancel^000000")) {
		case 1:
			mes .n$;
			mes "Life may have gotten a bit better, but when I look at all of the orders I've received... Whew!";
			mes "It seems that the young women of Rune Midgard must be very well off these days.";
			next;
			mes .n$;
			mes "Not that I think that they are indulging in anything luxurious, mind you.";
			mes "I don't think there is anything wrong with the pursuit of beauty and being fashionable.";
			next;
			mes .n$;
			mes "For us humans, who have no colorful fur or decorative scales, clothes are one of the few ways we have to display our personality, style, and beauty.";
			next;
			mes .n$;
			mes "Haha... When I think about it, I really feel that my job is worthwhile.  I believe that I provide a service that the people desire.";
			next;
			mes .n$;
			mes "Can you feel it too? The energy that is released when rough fabric and leather are brought to life with color?.....";
			next;
			mes .n$;
			mes "Although the process is very tedious and time consuming, the joy and happiness I feel when a dress is finished more than makes up for all of the hard work!!";
			break;
		case 2:
			mes .n$;
			if (!.@EnableDyes) {
				mes "Sorry, I'm too busy with other jobs to dye your clothes.";
				break;
			}
			mes "Oh... you need my work? Well... okay, sounds good.";
			next;
			mes .n$;
			mes "Please choose a color";
			mes "that suits you.";
			next;

			// Dyes(<color value>,<dye number>{,...});
			// Colors: [1]Orange, [2]Violet, [3]Red, [4]Black, [5]Green, [6]Blue, [7]White, [8]Yellow
			switch(BaseJob) {
			case Job_Novice:
				if (Sex == SEX_MALE) Dyes(4,1,6,2,5,3); else Dyes(6,1,3,2,5,3,4,4);
			case Job_Swordman:
				if (Sex == SEX_MALE) Dyes(4,1,6,2,5,3); else Dyes(3,1,5,3,4,4);
			case Job_Mage:
				if (Sex == SEX_MALE) Dyes(3,1,2,2,1,3,7,4); else Dyes(3,1,2,2,7,3,4,4);
			case Job_Archer:
				if (Sex == SEX_MALE) Dyes(4,1,2,2,5,3); else Dyes(3,1,5,2,7,3,4,4);
			case Job_Acolyte:
				if (Sex == SEX_MALE) Dyes(6,1,3,2,7,3,4,4); else Dyes(3,1,5,3,4,4);
			case Job_Merchant:
				if (Sex == SEX_MALE) Dyes(4,1,6,2,5,3); else Dyes(2,1,5,3,4,4);
			case Job_Thief:
				if (Sex == SEX_MALE) Dyes(5,1,3,2,7,4); else Dyes(3,1,7,3,4,4);
			case Job_Knight:
			case Job_Crusader:
				if (Sex == SEX_MALE) Dyes(2,1,3,3,4,4); else Dyes(6,1,7,3,4,4);
			case Job_Priest:
			case Job_Monk:
				if (Sex == SEX_MALE) Dyes(6,1,5,2,3,3,7,4); else Dyes(3,1,5,2,7,3,4,4);
			case Job_Wizard:
			case Job_Sage:
				if (Sex == SEX_MALE) Dyes(6,1,5,3,4,4); else Dyes(3,1,6,2,7,3,5,4);
			case Job_Blacksmith:
			case Job_Alchemist:
				if (Sex == SEX_MALE) Dyes(4,4,5,2,7,3); else Dyes(3,1,5,2,2,3,4,4);
			case Job_Hunter:
			case Job_Bard:
			case Job_Dancer:
				if (Sex == SEX_MALE) Dyes(4,1,6,2,5,3); else Dyes(6,1,5,3,2,4);
			case Job_Assassin:
			case Job_Rogue:
				if (Sex == SEX_MALE) Dyes(6,1); else Dyes(4,1,8,2,7,3);
			case Job_SuperNovice:
				if (Sex == SEX_MALE) Dyes(2,1,6,2,5,3,4,4); else Dyes(6,1,3,2,5,3,4,4);
			default:
				mes "Wow, I've never seen clothes like that before! I'm sorry, but I don't think I can paint it.";
				close;
			}
		case 3:
			mes .n$;
			mes "Each color costs 10000z and 1 dye:";
			mes " ";
			mes " - ^FF4422Red^000000: Scarlet Dyestuffs";
			mes " - ^D5A500Yellow^000000: Lemon Dyestuffs";
			mes " - ^AA00AAViolet^000000: Violet Dyestuffs";
			mes " - ^FF8800Orange^000000: Orange Dyestuffs";
			mes " - ^4422FFBlue^000000: CobaltBlue Dyestuffs";
			mes " - ^009500Green^000000: DarkGreen Dyestuffs";
			mes " - Black: Black Dyestuffs";
			mes " - White: White Dyestuffs";
			break;
		case 4:
			callsub L_End;
		}
	}

L_End:
	mes .n$;
	mes "Make yourself at home. Even though I don't have time for you.";
	close;

function Dyes {
	setarray .@DyeName$[0],"the default color","Orange","Violet","Red","Black","Green","Blue","White","Yellow";
	setarray .@DyeItems[0],0,980,981,975,983,979,978,982,976;
	.@menu$ = "- Default:";
	for(.@i = 0; .@i<getargcount(); .@i += 2)
		.@menu$ += "- "+.@DyeName$[getarg(.@i)]+":";
	.@menu$ += "- ^777777Cancel^000000";
	.@s = select(.@menu$)-1;
	if (.@s == (getargcount()/2)+1) callsub L_End;
	mes .n$;
	if (.@s == 0) {
		mes "I can change your dye to";
		mes "the default for free.";
		mes "Are you sure?";
		next;
		switch(select("Yes", "No")) {
		case 1:
			mes .n$;
			setlook 7,0;
			mes "Your clothes have been dyed "+.@DyeName$[0]+".";
			close;
		case 2:
			callsub L_End;
		}
	}
	if (!countitem(.@DyeItems[getarg((.@s-1)*2)])) {
		mes "For me to dye your clothes, I'll need the appropriate Dyestuffs. Please check my price list for the information.";
		close;
	}
	if (Zeny < 10000) {
		mes "I'm sorry, but you don't have enough money.";
		close;
	}
	delitem .@DyeItems[getarg((.@s-1)*2)],1;
	Zeny -= 10000;
	setlook 7, ((.@s)?(getarg((.@s-1)*2+1)):0);
	mes "Your clothes have been dyed "+((.@s)?.@DyeName$[getarg((.@s-1)*2)]:.@DyeName$[0])+".";
	close;
}
}
