summaryrefslogtreecommitdiff
path: root/npc/merchants/grandpa_pharmacist.txt
blob: 68ac39130ecfcf558e4be231bc06558ef3e72140 (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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
//===== eAthena Script =======================================
//= Grandpa Pharmacist
//===== By: ==================================================
//= DZeroX
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= eAthena SVN Trunk
//===== Description: =========================================
//= Trade in items for potions
//===============================
//= Breakdown of arguments used
//= arg(0): Herb required.
//= arg(1): Zeny cost.
//= arg(2): z
//===== Additional Comments: =================================
//= 1.0 - Fully working.
//============================================================

alberta_in.gat,16,28,4	script	Grandpa Pharmacist	61,{
	mes "[Grandpa Pharmacist]";
	mes "Err....Are you a customer...?";
	switch(select("Make Potion","Talk.","Instruction of making potions","Cancel")) {
		case 1:
			next;
			set .@weight,MaxWeight-Weight;
			if ((.@weight) < 10000) {
				mes "[Grandpa Pharmacist]";
				mes "Oh, boy! Why are carrying so much stuffs with you?";
				mes "Don't be so greedy! bring little by little.";
				next;
				mes "[Grandpa Pharmacist]";
				mes "At least, you should have some space to carry the potions...";
				mes "Why don't you keep some of them in storage and come back to me again?";
				close;
			} else {
				mes "[Grandpa Pharmacist]";
				mes "Did you bring all the ingredients? Which potion do you want to make?";
				switch(select("Red Potion.","Orange Potion.","Yellow Potion.","White Potion.","Blue Potion.","Green Potion.","Nah, I changed my mind.")) {
					case 1:
						callsub L_making,507,3,501;
					case 2:
						next;
						mes "[Grandpa Pharmacist]";
						if (countitem(507) < countitem(713)) {
							set .@max,countitem(507);
						}
						if (countitem(508) < countitem(713)) {
							set .@max,countitem(508);
						} else {
							set .@max,countitem(713);
						}
						if ((countitem(507) < 1) | (countitem(508) < 1) | (countitem(713) == 0)) {
							mes "You are silly! How can you make a potion if you don't even have ingredients?!";
							mes "Go away!";
							close;
						}
						if (Zeny < 3) {
							mes "You are silly! Did you think you can make a potion without money?";
							mes "Go away!";
							close;
						}
						mes "How many?";
						switch(select("As many as I can","I will set the amounts.","Nah, forget about it.")) {
							case 1:
								next;
								if ((countitem(507) < .@max) | (countitem(508) < .@max) | (countitem(713) < .@max) | (Zeny < .@max*3)) {
									mes "[Grandpa Pharmacist]";
									mes "You punk! Do you want me to make stuff from insufficient ingredients?";
									close;
								}
								set Zeny,Zeny-(.@max*getarg(1));
								delitem getarg(0),.@max*2;
								delitem 713,.@max;
								getitem getarg(2),.@max; 
								mes "[Grandpa Pharmacist]";
								mes "Here. Take them.";
								mes "Keep it in mind! Overdose could lead you to death.";
								close;
							case 2:
								next;
								mes "[Grandpa Pharmacist]";
								mes "Set the amounts from 1 to 100. type '0' if you want to Cancel";
								mes "I think you can make "+.@max+" potions?";
								input .@amount;
								if (.@amount == 0) {
									next;
									mes "[Grandpa Pharmacist]";
									mes "Can't you do it correctly?!";
									close;
								}
								if (.@amount > 100) {
									next;
									mes "[Grandpa Pharmacist]";
									mes "Are you a deaf of something? I can't make more than 100.";
									close;
								}
								if ((countitem(507) < .@amount) | (countitem(508) < .@amount) | (countitem(713) < .@amount) | (Zeny < .@amount*3)) {
									next;
									mes "[Grandpa Pharmacist]";
									mes "You punk! Do you want me to make stuff from insufficient ingredients?";
									close;
								}
								next;
								set Zeny,Zeny-(.@amount*getarg(1));
								delitem getarg(0),.@amount*2;
								delitem 713,.@amount;
								getitem getarg(2),.@amount; 
								mes "[Grandpa Pharmacist]";
								mes "Here. Take them.";
								mes "Keep it in mind! Overdose could lead you to death.";
								close;
							case 3:
								next;
								mes "[Grandpa Pharmacist]";
								mes "What did you say?! You little punk.. Get out of here!";
								close;
						}
					case 3:
						callsub L_making,508,10,503;
					case 4:
						callsub L_making,509,20,504;
					case 5:
						callsub L_making,510,30,505;
					case 6:
						callsub L_making,511,3,506;
					case 7:
						mes "[Grandpa Pharmacist]";
						mes "What did you say?! You little punk.. Get out of here!";
						close;
					}
				}
		case 2:
			next;
			mes "[Grandpa Pharmacist]";
			mes "You can improve immune system with medicine. But youhave to be careful in medicine otherwise you would be addicted...";
			mes "Oh man... Since I'm old, I enjoy recalling my youth.";
			mes "Anyway, the potion is just a medicine which can assist you. That's all.";
			close;
		case 3:
			next;
			mes "[Grandpa Pharmacist]";
			mes "Phew... What an annoying young people... Fine, I will explain how the potion works on you.";
			next;
			mes "[Grandpa Pharmacist]";
			mes "You can just use raw herbs but I can process herbs to make potions which have greater effect.";
			next;
			mes "[Grandpa Pharmacist]";
			mes "If you ask me to make potions, I will make them with the few fee.";
			next;
			mes "[Grandpa Pharmacist]";
			mes "Red_Potion - ^0098E5Red Herb: 2ea, Empty Bottle: 1ea, Fee: 3 zeny.^000000";
			mes "Orange_Potion - ^0098E5Red Herb: 1ea, Yellow Herb: 1ea, Empty Bottle: 1ea, Fee: 5 zeny.^000000";
			mes "Yellow_Potion - ^0098E5Yellow Herb: 2ea, Empty Bottle: 1ea, Fee: 10 zeny.^000000";
			next;
			mes "[Grandpa Pharmacist]";
			mes "White_Potion - ^0098E5White Herb: 2ea, Empty Bottle: 1ea, Fee: 20 zeny.^000000";
			mes "Blue_Potion - ^0098E5Blue Herb: 2ea, Empty Bottle: 1ea, Fee: 30 zeny.^000000";
			mes "Green_Potion - ^0098E5Green Herb: 2ea, Empty Bottle: 1ea, Fee: 3 zeny.^000000";
			close;
		case 4:
			next;
			mes "[Grandpa Pharmacist]";
			mes "Don't you have anything to say?";
			close;
	}
	
L_making:
	next;
	mes "[Grandpa Pharmacist]";
	if ((countitem(getarg(0))/2) < countitem(713)) {
		set .@max,countitem(getarg(0))/2;
	} else {
		set .@max,countitem(713);
	}
	if ((countitem(getarg(0)) < 2) | (countitem(713) == 0)) {
		mes "You are silly! How can you make a potion if you don't even have ingredients?!";
		mes "Go away!";
		close;
	}
	if (Zeny < 3) {
		mes "You are silly! Did you think you can make a potion without money?";
		mes "Go away!";
		close;
	}
	mes "How many?";
	switch(select("As many as I can","I will set the amounts.","Nah, forget about it.")) {
		case 1:
			next;
			if ((countitem(getarg(0)) < .@max*2) | (countitem(713) < .@max) | (Zeny < .@max*getarg(1))) {
				mes "[Grandpa Pharmacist]";
				mes "You punk! Do you want me to make stuff from insufficient ingredients?";
				close;
			}
			set Zeny,Zeny-(.@max*getarg(1));
			delitem getarg(0),.@max*2;
			delitem 713,.@max;
			getitem getarg(2),.@max; 
			mes "[Grandpa Pharmacist]";
			mes "Here. Take them.";
			mes "Keep it in mind! Overdose could lead you to death.";
			close;
		case 2:
			next;
			mes "[Grandpa Pharmacist]";
			mes "Set the amounts from 1 to 100. type '0' if you want to Cancel";
			mes "I think you can make "+.@max+" potions?";
			input .@amount;
			if (.@amount == 0) {
				next;
				mes "[Grandpa Pharmacist]";
				mes "Can't you do it correctly?!";
				close;
			}
			if (.@amount > 100) {
				next;
				mes "[Grandpa Pharmacist]";
				mes "Are you a deaf of something? I can't make more than 100.";
				close;
			}
			if ((countitem(getarg(0)) < .@amount*2) | (countitem(713) < .@amount) | (Zeny < .@amount*getarg(1))) {
				next;
				mes "[Grandpa Pharmacist]";
				mes "You punk! Do you want me to make stuff from insufficient ingredients?";
				close;
			}
			next;
			set Zeny,Zeny-(.@amount*getarg(1));
			delitem getarg(0),.@amount*2;
			delitem 713,.@amount;
			getitem getarg(2),.@amount; 
			mes "[Grandpa Pharmacist]";
			mes "Here. Take them.";
			mes "Keep it in mind! Overdose could lead you to death.";
			close;
		case 3:
			next;
			mes "[Grandpa Pharmacist]";
			mes "What did you say?! You little punk.. Get out of here!";
			close;
	}
}