summaryrefslogtreecommitdiff
path: root/npc/quests/juice_maker.txt
blob: f9fa059b694b56420a7ed48f2ae3983ab695f9de (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
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
//===== eAthena Script =======================================
//= Juice Maker Quest
//===== By: ==================================================
//= kobra_k88
//===== Current Version: =====================================
//= 1.6
//===== Compatible With: =====================================
//= eAthena 7.15 +
//===== Description: =========================================
//= 
//===== Additional Comments: =================================
//= Fully working
//= 1.1 fixed input number check [Lupus]
//= 1.2 fixed misplaced Grape<->Carrot juices [Lupus]
//= 1.3 added a loopless menu 'as many as possible' [Lupus]
//= 1.3a Turned the juice making part of the Juicer npc into a
//= subfunc.  Changed fruit amount needed to 1.[kobra_k88]
//= Fixed exploits [Lupus]
//= 1.6 fixed typo (where did @ipnut came from?) [Lance]
//============================================================


// Morrison ------------------------------------------------
prt_in.gat,47,173,2	script	Morrison	97,{
	mes "[Little Morrison]";
	if(MEAT > 10) goto L_Candy;
	if(MARIANNE == 1) goto L_GoAway;

	mes "Wahhhhh!!! Wahh... NO more! NO more!";
	mes "I won't... eat anymore stupid ^0000ffFruit^000000 things!!";
	emotion e_sob;
	next;
	menu "Talk",M_Talk,"Cancel",M_End;

	M_Talk:
		if(countitem(517) > 0) goto L_Meat; //Meat

		mes "[Little Morrison]";
		mes "Arhhggg!! I'VE HAD ENOUGH!!! I can't eat anymore ^0000ffFruits^000000! They";
		mes "taste so SOUR..... I have to PEEL them before I can eat them.....";
		mes "they feel sticky and squishy...... it's really ANNOYING!!!!";
		emotion e_wah;
		next;
		mes "[LIttle Morrison]";
		mes "I just HATE FRUIT! I can't even get full off of the stuff.(~sigh~)";
		mes "Give me something more edible..... give me some...... ^ff0000MEAT^000000!!!";
		close;

		L_Meat:
		mes "[Little Morrison]";
		mes "...(sniff)....(sniff)(sniff).... Oh! Is that ^ff0000Meat^000000???";
		emotion e_ic;
		next;
		mes "[Little Morrison]";
		mes "Do you have some ^ff0000Meat^000000?!!!~(drools)~";
		mes "Umm... that yummy smell is making me SOOO HUNGRYYYY!!!l";
		emotion e_rice;
		next;
		mes "[Little Morrison]";
		mes "... Umm... excuse me..... could you give me some of that meat PLEEAASSSE?";
		emotion e_sob;
		next;
		menu "Give him some",sM_Give,"Ignore him",sM_Ignore;
		
		sM_Give:
			if(countitem(517) == 0) goto L_GoAway; //Meat
			delitem 517,1;	//Meat
			set MORRISON,1;
			set MEAT,MEAT + 1;
			mes "[Little Morrison]";
			mes "Whoah~!!! It's real Meat, Meat!";
			mes "Mmmm! It makes my mouth water.";
			mes "Oh thank you. Now I feel happy. Yum Yum...";
			emotion e_awsm;
			close;

		sM_Ignore:
			set MORRISON,2;
			mes "[Little Morrison]";
			mes "Boo...";
			mes "Boo... Fine... Alright, Alright~!!! Selfish meanie!";
			emotion e_bzz;
			close;
	M_End:
		mes "[Little Morrison]";
		mes "Wahhhh!!! No matter how hard I try, I just can't eat Vegetables";
		mes "or ^0000ffFruit^000000! They're plain disgusting!!";
		emotion e_sob;
		close;

L_GoAway:
	mes "Pffff... Leave me alone! You DON'T CARE about me! I'm gonna DIE";
	mes "because of these stupid Veggies and Fuits so MIND your own business!";
	emotion e_pif;
	close;

L_Candy:
	mes "Ah..I am full now. You don't have to feed me any more. I think I";
	mes "am gonna BURST if I keep eating more.";
	next;
	mes "[Little Morrison]";
	mes "And... um... Take this.";
	next;
	getitem 529,3;
	getitem 530,1;
	set MEAT,0;
	mes "[Little Morrison]";
	mes "It is from my secret stash of Candy that I hide from my Mom.  Since";
	mes "you gave me some Meat, I will give you some candy." ;
	close;

}

// Housewife Marianne ---------------------------------------------------
prt_in.gat,49,172,2	script	Housewife Marianne	53,{
	mes "[Housewife Marianne]";
	if(MORRISON == 1) goto L_GaveMeat;
	if(MORRISON == 2) goto L_Juice;

	mes "Morrison!! Please eat some fruit will ya? Fruit~!";
	mes "*Sob*~!! Like father like son...";
	emotion e_sob;
	next;
	menu "Talk",M_Talk,"Cancel",M_Cancel;
	close;	

	M_Talk:
		mes "[Housewife Marianne]";
		mes "(~Sigh~)...This is Morrison... My one and only son. He's going";
		mes "through some kinda faze and doesn't want to eat any ^0000ffFruits^000000 or";
		mes "vegetables.";
		emotion e_shy;
		next;
		mes "[Housewife Marianne]";
		mes "Look at his face..., it turns sour just hearing about ^0000ffFruit^000000...";
		next;
		mes "[Housewife Marianne]";
		mes "All he wants to eat is but ^ff0000Meat^000000... (sigh)...he needs";
		mes "^0000ffFruits^000000 and vegetables for a proper diet.";
		next;

	M_Cancel:
		mes "[Housewife Marianne]";
		mes "Morrison!! I will get mad at you if you keep doing this!";
		emotion e_bzz;
		close;
	
L_GaveMeat:
	set MORRISON,0;
	mes "Oh MY GOD!!... Oh lord...";
	emotion e_omg;
	next;
	mes "[Housewife Marianne]";
	mes "WHAT ARE YOU DOING!! HOW DARE YOU feed my son!! And ^ff0000MEAT^000000 of all things!!!";
	next;
	mes "[Housewife Marianne]";
	mes "Arrrgh~~!! Get Lost right now!!!!!!";
	emotion e_pif;
	close;

L_Juice:
	set MORRISON,0;
	set MARIANNE,1;
	mes "Thank you for not giving my son any meat.  I'm trying to feed him";
	mes "^0000ffFruits^000000 and vegetables, but this child doesn't want to eat";
	mes "anything except Meat...";
	next;
	mes "[Housewife Marianne]";
	mes "What if I could turn ^0000ffFruits^000000 into a ^0000ffJuice^000000... for example...Orange";
	mes "juice... Would my child like it?";
	emotion e_hmm;
	next;
	mes "[Housewife Marianne]";
	mes "Ah! Now I remember..There is a town where you can get a variety of";
	mes "^0000ffFruit^000000 turned into ^0000ffFruit Juices^000000.";
	emotion e_ic;
	next;
	mes "[Housewife Marianne]";
	mes "... Was is it...^ff0000Payon^000000...or ^ff0000Morroc^000000...?";
	emotion e_hmm;
	next;
	close;

}

// Juicer Marx Hansen ---------------------------------------------------------
payon_in03.gat,188,146,5	script	Juicer Marx Hansen	86,{
	mes "[Juicer Marx Hansen]";
	if(MARIANNE == 1) goto L_Juice;
	mes "Welcome to my shop. What brings you here?";
	next;
	menu "Conversation",-,"I am just looking around",M_End;
		
		mes "[Juicer Marx Hansen]";
		mes "In the earliest years of humanity, fruits were the only substanace availble for people to eat.";
		mes "Fruits were vital for survival and without them people faced certain death.";
		mes "During that time Mother Nature was worshiped for her generous offerering.";
		next;
		mes "[Juicer Marx Hansen]";
		mes "Nowadays food is plentifull and it comes in a variety of flavors and forms.";
		mes "With so many other things to eat, fruits aren't consumed as much as they used to be.";
		mes "This is especially true among kids who'd rather eat pizza and candy.";
		next;
		mes "[Juicer Marx Hansen]";
		mes "Because of this I wanted to find a way to make young people realize the importance of fuit.";
		mes "I found that when fruits were turned into juices, they became more digestive and even tasty enough for kids.";
		close;
	M_End:
		mes "[Juicer Marx Hansen]";
		mes "Ok then.";
		close;

//--------------
L_Juice:
//---------
	mes "Welcome to my shop. Are you here to process Fruits like everyone else?";
	next;
	menu "Yes, I am.",M_1a, "How do you make fruit juice?",M_1b, "Nope.",M_1End;
		
	M_1a:
		mes "[Juicer Marx Hansen]";
		mes "So what kind of fruit juice would you like to process?";
		next;
		menu "Apple Juice",sM_1a,"Banana Juice",sM_1b,"Grape Juice",sM_1c,"Carrot Juice",sM_1d,"None.",M_1End;

		sM_1a:
			callsub sF_Make, 512, "apples", 531;
			goto M_1a;
		sM_1b:
			callsub sF_Make, 513, "bananas", 532;
			goto M_1a;
		sM_1c:
			callsub sF_Make, 514, "grapes", 533;
			goto M_1a;
		sM_1d:
			callsub sF_Make, 515, "carrots", 534;
			goto M_1a;
	M_1b:
		mes "[Juicer Marx Hansen]";
		mes "# Fruit Juice Info #";
		mes "- ^FF3355Apple^000000 Juice - Apple x 1 ea, Empty Bottle x 1 ea, 3 zeny.";
		mes "- ^D5A500Banana^000000 Juice - Banana x 1 ea, Empty Bottle x 1 ea, 3 zeny.";
		mes "- ^FF8800Carrot^000000 Juice - Carrot x 1 ea, Empty Bottle x 1 ea, 3 zeny.";
		mes "- ^AA00AAGrape^000000 Juice - Grape x 1 ea, Empty Bottle x 1 ea, 3 zeny.";
		close;
	M_1End:
		mes "[Juicer Marx Hansen]";
		mes "Oh well... see you next time.";
		close;

// Subfunction for making juice
//----------------------------------
sF_Make:
	mes "[Juicer Marx Hansen]";
	mes "How many bottles would you like?";
	next;
	menu "I'll tell you.",M_Tell, "As many as possible",-, "I've changed my mind.",M_1End;

		set @amount,1000;		//max possible amount of Juice
		//calc max possible # juices
		if(Zeny/3 < @amount) set @amount, Zeny/3;
		if(countitem(getarg(0)) < @amount) set @amount, countitem(getarg(0));
		if(countitem(713) < @amount) set @amount, countitem(713);
		if(@amount > 0) goto L_Make;
		mes "[Juicer Marx Hansen]";
		mes "Doh! You don't have enough ingredients for a single bottle of juice.";
		emotion e_gasp;
		close;

	M_Tell:
		mes "[Juicer Marx Hansen]";
		mes "Very well then. Enter 0 if you don't want any. Also you cannot";
		mes "buy more than 1000 at a time.";
		next;
		input @amount;
		if(@amount < 1 || @amount > 1000) return;
		if(countitem(getarg(0)) < @amount) goto sL_NoFruits;
		if(countitem(713) <  @amount) goto sL_NoBottles;
		if(Zeny < @amount * 3) goto sL_NoZeny;

	L_Make:
		delitem getarg(0), @amount;	//del Fruit
		delitem 713, @amount;		//del Empty Bottle
		set Zeny, Zeny - @amount * 3;
		getitem getarg(2), @amount;	//get Juice
		mes "[Juicer Marx Hansen]";
		mes "Here you are. Take it.";
		close;

		sL_NoFruits:
			mes "[Juicer Marx Hansen]";
			mes "You don't have enough fruit.";
			mes "You need " +@amount+ " " +getarg(1)+ " to make that much juice.";
			next;
			return;
		sL_NoBottles:
			mes "[Juicer Marx Hansen]";
			mes "You don't have enough bottles.  You need "+@amount+" empty bottle(s) to make that many juice drinks.";
			next;
			return;
		sL_NoZeny:
			mes "[Juicer Marx Hansen]";
			mes "You don't have enough zeny.  You need " +(@amount*3)+ " zeny, to make that many juice drinks.";
			next;
			return;
}