summaryrefslogtreecommitdiff
path: root/npc/merchants/clothes_dyer.txt
blob: 253e849a7658169553d4052b706b3ebefa8a97a8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
//===== Hercules Script ======================================
//= Clothes Dyer
//===== By: ================================================== 
//= Usnul
//===== Current Version: ===================================== 
//= 2.5
//===== Description: ========================================= 
//= Clothes dyer with standard palletes
//===== Additional Comments: ================================= 
//= Fully working
//= 2.1 Shortened some labels to make this script loading,
//= Added Black+White Colors desc [Lupus]
//= 2.1a added adv classes + baby class support [Lupus]
//= 2.2 Spell checked. [Nexon]
//= 2.3 Fixed dis $hit! [Poki#3]
//= 2.4 Disabled cloth dyeing since it's not implemented
//	   on official servers and cause your client to crash
//	   [Playtester]
//= 2.5 Optimized. [Euphy]
//============================================================

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

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

	set .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) Dyes(4,1,6,2,5,3); else Dyes(6,1,3,2,5,3,4,4);
			case Job_Swordman:
				if (Sex) Dyes(4,1,6,2,5,3); else Dyes(3,1,5,3,4,4);
			case Job_Mage:
				if (Sex) Dyes(3,1,2,2,1,3,7,4); else Dyes(3,1,2,2,7,3,4,4);
			case Job_Archer:
				if (Sex) Dyes(4,1,2,2,5,3); else Dyes(3,1,5,2,7,3,4,4);
			case Job_Acolyte:
				if (Sex) Dyes(6,1,3,2,7,3,4,4); else Dyes(3,1,5,3,4,4);
			case Job_Merchant:
				if (Sex) Dyes(4,1,6,2,5,3); else Dyes(2,1,5,3,4,4);
			case Job_Thief:
				if (Sex) Dyes(5,1,3,2,7,4); else Dyes(3,1,7,3,4,4);
			case Job_Knight:
			case Job_Crusader:
				if (Sex) Dyes(2,1,3,3,4,4); else Dyes(6,1,7,3,4,4);
			case Job_Priest:
			case Job_Monk:
				if (Sex) 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) 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) 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) Dyes(4,1,6,2,5,3); else Dyes(6,1,5,3,2,4);
			case Job_Assassin:
			case Job_Rogue:
				if (Sex) Dyes(6,1); else Dyes(4,1,8,2,7,3);
			case Job_SuperNovice:
				if (Sex) 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:
			goto 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;
	set .@menu$,"- Default:";
	for(set .@i,0; .@i<getargcount(); set .@i,.@i+2)
		set .@menu$, .@menu$+"- "+.@DyeName$[getarg(.@i)]+":";
	set .@menu$, .@menu$+"- ^777777Cancel^000000";
	set .@s, select(.@menu$)-1;
	if (.@s == (getargcount()/2)+1) goto 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:
			goto 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;
	set Zeny, 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;
}
}