summaryrefslogtreecommitdiff
path: root/npc/config/inspector.txt
blob: b0665bc3378f479bf819cc39d8a06a63600ed49b (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
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
// TMW2/LOF Script.
// Author:
//  Jesusalva
// Description:
//  Inspector Quest core

// Main logical loop, takes no argument
function	script	inspectorQuest	{
	.@npc$ = strnpcinfo(0);
	if ($@GM_OVERRIDE) debugmes .@npc$;
	// ...So on, for each stage
	.@q = getq(LoFQuest_Inspector);
	.@go = false;
	// Check if you are in the right map for the right stage to go
	if (compare(getmap(), "017") && .@q == 1) .@go=true;
	if (compare(getmap(), "012") && .@q == 2) .@go=true;
	if (compare(getmap(), "016") && .@q == 2) .@go=true;
	if (compare(getmap(), "009") && .@q == 3) .@go=true;
	// If you're not, return. Otherwise, ask the question.
	if (!.@go) return;
	select
		l("Talk normally."),
		l("Ask about the robberies.");
	if (@menu == 1) {
		clear;
		return;
	}
	/*
	// Stage 1: (24+6 = 30 NPCs) (10 Nodes)
	// Stage 2: (25+8 = 33 NPCs) ( 6 Nodes)
	///////////////////////////////
	*/
	mes "";
	.@q2 = getq2(LoFQuest_Inspector);
	// Stage 1 - Land of Fire
	.@THIEF_DESCRIPTION =   1; // Know how thief looked alike
	.@CHEESE_TYPES      =   2; // Know which kind of cheese was stolen
	.@TIME_OF_THEFT     =   4; // Know the time the theft happened
	.@VICTIM_CHEF       =   8; // Talked to Dimond Cove chef
	.@VICTIM_LAB        =  16; // Alchemist explained about cheese thieves
	.@UNDERGROUND_PASS  =  32; // Know the route used in Dimond
	.@RAT_RULEOUT       =  64; // Ruled out the possibility of rats
	.@PORTAL_USE        = 128; // Concluded the Portal was used by thief
	.@TROUPE_DISGUISE   = 256; // Learned about thief run-in with musics (no noise)
	.@SCRATCH_EVIDENCE  = 512; // Learned about the scratch marks left by thief
	// Stage 2 - Hurnscald
	.@LA_MARINE         =   1; // Asked around La Marine
	.@SHOPKEEPERS		=   2; // Asked around shops
	.@GUARDS			=   4; // Asked to guards or police
	.@CIVILIANS			=   8; // Asked around to some civilians
	.@AUTHORITY			=  16; // Asked around to e.g. Airlia or Celeste
	.@FARMERS			=  32; // Asked around to those in the camps
	.@KHAFAR			=  64; // Bonus, not necessary
	// Stage 3 - Halinarzo
	// TODO
	///////////////////////////////
	// All NPCs list
	if (.@npc$ == "Doug") {
		// Knows nothing, saw nothing
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
		next;
		mesn;
		mesq l("Besides, this room is too dark, so I wouldn't be able to see anything.");
	} else if (.@npc$ == "Royal Fairy") {
		// Knows nothing, saw nothing
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
		next;
		mesn;
		mesq l("There haven't been anything unusual in the fairy district of the Land of Fire Village, after all.");
	} else if (.@npc$ == "Erik") {
		// Points toward Pet Dectective if CHEESE_TYPES
		if (.@q2 & .@CHEESE_TYPES) {
			mesn;
			mesq l("Hmm, based on these cheese types... Definitely either a person, or a pet.");
			next;
			mesn;
			mesq l("Try asking Ace Ventura, the Pet Detective. He'll be able to trim further the list.");
		} else {
			mesn;
			mesq l("I know nothing about the robberies, sorry.");
		}
	} else if (.@npc$ == "Kenton") {
		// Acquire SCRATCH_EVIDENCE
		mesn;
		mesq l("You're here for the official investigation files? Sure, let me just get them for you.");
		next;
		mesn;
		mesq l("As you can see, no conclusive evidence was found. The cheese from Dimond's Cove kitchen depot was stolen, even there's no signs the lock was broken.");
		next;
		mesn;
		mesq l("A %s was found in place of the cheese, and there were some scratch marks on the place.", getitemlink(GoldenApple));
		next;
		mesn;
		mesq l("About the scratch marks? I can give you a file about them. We didn't paid much mind to it, they're likely caused by a small animal such as a squirrel, a fox, a cat, or a dog.");
		setq2 LoFQuest_Inspector, .@q2 | .@SCRATCH_EVIDENCE;
	} else if (getmap() == "017-1" && compare(.@npc$, "Guard")) {
		// List some excluded NPCs. Could use miller rand to be predictable but...
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
		next;
		.@n1$ = any(l("Doctor"), l("Boring NPC"), l("Nowhere family"), l("Drowned Man"), l("Billy"), l("Drueme"), l("Stranger"), l("Fortiun"), l("Fusus"), l("Nahrec"), l("Silversmith"));
		.@n2$ = any(l("Doctor"), l("Boring NPC"), l("Nowhere family"), l("Drowned Man"), l("Billy"), l("Drueme"), l("Stranger"), l("Fortiun"), l("Fusus"), l("Nahrec"), l("Silversmith"));
		.@n3$ = any(l("Doctor"), l("Boring NPC"), l("Nowhere family"), l("Drowned Man"), l("Billy"), l("Drueme"), l("Stranger"), l("Fortiun"), l("Fusus"), l("Nahrec"), l("Silversmith"));
		mesn;
		mesq l("But don't waste your breath with %s... %s, if I haven't mentioned... did I mention %s already? Anyway, they definitely cannot help.", .@n1$, .@n2$, .@n3$);
	} else if (.@npc$ == "Elen The Traveler") {
		// Actually useful hint, but only if you are reading the code, so no effect
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
		next;
		mesn;
		mesq l("But if it helps, it should take under 15 minutes to reach Tulimshar on foot from here for most animals, via Halinarzo's Canyon.");
		next;
		mesn;
		mesq l("Reaching Nivalis instead, would likely take considerably longer.");
	} else if (.@npc$ == "Milocat") {
		// Points toward Axzell
		mesn;
		mesq l("No idea. Paxel would at least know a few tricks, and Axzell the Alchemist could speak more about cheese thieves.");
	} else if (.@npc$ == "Pydisgner#spoints") {
		// Acquire PORTAL_USE if THIEF_DESCRIPTION and TIME_OF_THEFT
		if ((.@q2 & .@THIEF_DESCRIPTION) && (.@q2 & .@TIME_OF_THEFT)) {
			mesn;
			mesq l("You want to know if anything resembling this description passed through the portal around 20:00?");
			next;
			mesn;
			mesq l("Yes. Every day, between 19:52 and 20:03. They came from Hurnscald direction and headed towards Dimond Cove direction, then usually after 5 minutes or so, went back.");
			setq2 LoFQuest_Inspector, .@q2 | .@PORTAL_USE;
		} else {
			mesn;
			mesq l("I've been here all day and night. And a lot of people use this portal, unless you have a description of what I'm looking for, and the time, I can't help.");
		}
	} else if (.@npc$ == "Paxel") {
		// General hints from Prsm - have you talked to Chef?
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
		next;
		mesn;
		mesq l("But my father, Prsm, always told me to check multiple times with the victim. I guess in your case it would be...");
		next;
		mesn;
		mesq l("Dimond's Chef. So if you're stuck, try talking to him again, confirm the details?");
	} else if (.@npc$ == "Pet Detective") {
		// Acquire RAT_RULEOUT if CHEESE_TYPES
		if (.@q2 & .@CHEESE_TYPES) {
			mesn;
			mesq l("Hmm, based on these cheese types... Definitely either a person, or a pet.");
			next;
			mesn;
			mesq l("We can rule out rats, though. I know, shocking, right? But these kind of cheese are eaten by cats, dragons, squirrels and yetis, but not by rats.");
			next;
			mesn;
			mesq l("I would limit the search for persons, cats, dragons, squirrels or yetis. Keep in mind these aren't the primary food for any of them, so you're unlikely to find them in a pile of stolen cheese.");
			setq2 LoFQuest_Inspector, .@q2 | .@RAT_RULEOUT;
		} else {
			mesn;
			mesq l("I know nothing about the robberies, sorry.");
		}
	} else if (.@npc$ == "Chef#dimond") {
		// Acquire VICTIM_CHEF, acquire CHEESE_TYPES if VICTIM_LAB
		mesn;
		mesq l("Yes, yes, I was robbed! They stole my precious Cheese! Now I'll never finish my fondue! Golden Apples are the wrong ingredient for the recipe!");
		next;
		mesn;
		mesq l("Avenge my tasty recipe of flavor! My cheese fondue deserves to be avenged!");
		setq2 LoFQuest_Inspector, .@q2 | .@VICTIM_CHEF;
		if (.@q2 & .@VICTIM_LAB) {
			next;
			mesn;
			mesq l("...What, you want to know which kinds of cheese were stolen?");
			next;
			mesn;
			mesq l("Obviously only the best for my fondue! Here is a list. I suppose you can ask Shannon if you don't know what to do with it, he is the one who supplied me the cheese in first place, after all.");
			setq2 LoFQuest_Inspector, .@q2 | .@CHEESE_TYPES;
		}
	} else if (.@npc$ == "Dimond") {
		// I forgot what Dimond does
		mesn;
		mesq l("Sorry dear, I'm as distressed about this as everyone, but I don't know anything.");
		if (.@q2 & .@TIME_OF_THEFT) {
			next;
			mesn;
			mesq l("Ah, you only want to know if people came or left around 20:00? No, no one that I can remember. At least from the front door.");
			next;
			mesn;
			mesq l("Although I suppose there is a passage in the underground... You might want to talk to sweet Jenny about it, if you haven't done so already.");
		}
	} else if (.@npc$ == "Phil") {
		// Acquire TROUPE_DISGUISE if VICTIM_CHEF
		if (.@q2 & .@VICTIM_CHEF) {
			mesn;
			mesq l("Oh, a really sad thing that happened. To be honest, we saw and heard nothing, I guess they don't like our fine instruments, specially mine.");
			if (season() == SPRING) {
				next;
				mesn;
				mesq l("Even if we are not currently playing anything...");
			}
			setq2 LoFQuest_Inspector, .@q2 | .@TROUPE_DISGUISE;
		} else {
			mesn;
			mesq l("I know nothing about the robberies, sorry.");
		}
	} else if (.@npc$ == "Jerry") {
		// Acquire TROUPE_DISGUISE if VICTIM_CHEF
		if (.@q2 & .@VICTIM_CHEF) {
			mesn;
			mesq l("Oh, a really sad thing that happened. To be honest, we saw and heard nothing, I guess they don't like our fine instruments, specially Phil's.");
			if (season() == SPRING) {
				next;
				mesn;
				mesq l("Even if we are not currently playing anything...");
			}
			setq2 LoFQuest_Inspector, .@q2 | .@TROUPE_DISGUISE;
		} else {
			mesn;
			mesq l("I know nothing about the robberies, sorry.");
		}
	} else if (.@npc$ == "Robert") {
		// Acquire TROUPE_DISGUISE if VICTIM_CHEF
		if (.@q2 & .@VICTIM_CHEF) {
			mesn;
			mesq l("Oh, a really sad thing that happened. To be honest, we saw and heard nothing, I guess they don't like our fine instruments, specially Phil's.");
			if (season() == SPRING) {
				next;
				mesn;
				mesq l("Even if we are not currently playing anything...");
			}
			setq2 LoFQuest_Inspector, .@q2 | .@TROUPE_DISGUISE;
		} else {
			mesn;
			mesq l("I know nothing about the robberies, sorry.");
		}
	} else if (.@npc$ == "Shannon") {
		// Hints toward the underground pass flag if VICTIM_CHEF
		mesn;
		mesq l("I am the owner of a transport company, which rent carts to exceptional clients. And I can assure you my company's terms of service prohibit the use of carts to rob cheese.");
		if (.@q2 & .@VICTIM_CHEF) {
			next;
			mesn;
			mesq l("This being said, Axzell and Erik made interesting requests recently... Have you talked to them yet? Erik works in the Townhall, and Axzell in the alchemy shop.");
		}
	} else if (.@npc$ == "Basil") {
		// Guides about Zack requisites
		mesn;
		mesq l("I know nothing about the robberies, but I might help if you brief me on the issue.");
		next;
		mesn;
		mesq l("I see, I believe the workers at the basement might know something, but they likely don't know they know.");
		next;
		mesn;
		mesq l("If you limit your suspects, they might cooperate... But talk to them in order, or they might be too scared to spill the beans. Talk to them once, twice, if you want to be sure.");
	} else if (.@npc$ == "Gambler#017-3") {
		// Guides about Lora and Nico requisites
		mesn;
		mesq l("I know nothing about the robberies. But Lora Tay spends most of the time awake and Nico Goethe is always running through the whole Inn searching for someone to play with. Both are very sharp when it comes to time and noises, even if aloof to what they don't care about.");
		next;
		mesn;
		mesq l("If you learn enough to jog their memories, they might know the time of the theft. If they don't, then I don't think anyone will.");
	} else if (.@npc$ == "Lora Tay") {
		// Acquire TIME_OF_THEFT if UNDERGROUND_PASS
		if (.@q2 & .@UNDERGROUND_PASS) {
			mesn;
			mesq l("Hm? You mean when someone made a ruckus with metallic noise on the underground basement?");
			next;
			mesn;
			mesq l("Of course, it was maybe 20:00, give or take ten minutes. Every day. It is incredibly annoying.");
			setq2 LoFQuest_Inspector, .@q2 | .@TIME_OF_THEFT;
		} else {
			mesn;
			mesq l("I know nothing about the robberies, sorry.");
			next;
			mesn;
			mesq l("Now get out of my way, what I'm sewing is clearly more important than whatever you're playing. Kids, these days...!");
		}
	} else if (.@npc$ == "Nico Goethe") {
		// Acquire TIME_OF_THEFT if UNDERGROUND_PASS
		if (.@q2 & .@UNDERGROUND_PASS) {
			mesn;
			mesq l("Hm? You mean when someone made a ruckus with metallic noise on the underground basement?");
			next;
			mesn;
			mesq l("Of course, it was maybe 20:00, give or take ten minutes. Every day. It is incredibly annoying.");
			setq2 LoFQuest_Inspector, .@q2 | .@TIME_OF_THEFT;
		} else {
			mesn;
			mesq l("I know nothing about the robberies, sorry.");
			next;
			mesn;
			mesq l("Now, unless you're interested in a match of Arcmage, I've heard Basil had some free time, so I'll ask him instead.");
		}
	} else if (.@npc$ == "Jenny") {
		// Acquire THIEF_DESCRIPTION if UNDERGROUND_PASS
		mesn;
		mesq l("You want to know if I saw something going through here?");
		next;
		if (.@q2 & .@UNDERGROUND_PASS) {
			mesn;
			mesq l("And not a rat? Not really... No, wait, I did. Multiple times, something relatively big, which came in as if they were liquid.");
			next;
			mesn;
			mesq l("Here, I'll write down how it seemed. Some sort of grey fluff with a gold ball or something? But it clearly wasn't human, and it came *with* gold, so why would I be worried it could be a thief?");
			setq2 LoFQuest_Inspector, .@q2 | .@THIEF_DESCRIPTION;
		} else {
			mesn;
			mesq l("Well... Rats, maybe?");
			// Basil's instructions, slightly less obscure this time
			if (.@q2 & .@RAT_RULEOUT) {
				mesc l("%s glances over to %s, before turning to you with a shrug.", l("Jenny"), l("Zack"));
			}
		}
	} else if (.@npc$ == "Zack") {
		// Acquire UNDERGROUND_PASS if RAT_RULEOUT
		if (.@q2 & .@RAT_RULEOUT) {
			mesn;
			mesq l("You want to know if something could pass through the tunnel we're digging?");
			next;
			mesn;
			mesq l("Well, if you look behind the building, there's a couple chimneys on ground and a hole which connects here. Would make some metallic noise to go through either of them.");
			next;
			mesn;
			mesq l("I imagine something sufficiently small or nimble, or maybe liquid, could pass through it to reach the kitchen's depot.");
			setq2 LoFQuest_Inspector, .@q2 | .@UNDERGROUND_PASS;
		} else {
			mesn;
			mesq l("I don't know what you're talking, I've been working all day.");
		}
	} else if (.@npc$ == "Pihro") {
		// Send to Dimond's Cove chef
		mesn;
		mesq l("Ah, so you're the one in charge of the cheese robberies? I believe Dimond's Cove Chef was the most affected one, but I keep myself out of these matters.");
	} else if (.@npc$ == "Pyndragon") {
		// Send to Kenton, the Public Affairs Officer
		mesn;
		mesq l("Ah, so you're the one in charge of the cheese robberies? I wouldn't know anything myself, but try asking Kenton, he is in charge of Public Affairs.");
	} else if (.@npc$ == "Axzell the Alchemist") {
		// Acquire VICTIM_LAB
		mesn;
		mesq l("You want help with your investigation? Well, several creatures eat cheese. Like me. You could try to shorten this list.");
		next;
		mesn;
		mesq l("The trick is figuring out which kind of cheese was stolen. Once you know that, I guess either Ace Ventura or Erik could help you to thin out the list.");
		setq2 LoFQuest_Inspector, .@q2 | .@VICTIM_LAB;
	// Second Phase - 012 and 016 (22+8 NPCs) (+3 in La Marine)
	} else if (.@npc$ == "LOFBot") {
		mesn;
		mesq l("I would love to help my friends from the Land of Fire, but... I've seen no such thing.");
		setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS;
	} else if (.@npc$ == "Dyrin The Traveler") {
		mesn;
		mesq l("While I can totally believe a squirrel robbing cheese, the \"and it left a golden apple\" is complete madness. Stop wasting my time.");
		setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS;
	} else if (.@npc$ == "Lieutenant Paul") {
		mesn;
		mesq l("While Hurnscald Guard and Police would love to cooperate in an official investigation from the Land of Fire, we neither saw nor heard about such thing. You can ask %s or the other guards, but I believe the answer will be the same.", l("Helena"));
		setq2 LoFQuest_Inspector, .@q2 | .@GUARDS;
	} else if (.@npc$ == "Helena") {
		mesn;
		mesq l("While Hurnscald Guard and Police would love to cooperate in an official investigation from the Land of Fire, we neither saw nor heard about such thing. You can ask %s or the other guards, but I believe the answer will be the same.", l("Lieutenant Paul"));
		setq2 LoFQuest_Inspector, .@q2 | .@GUARDS;
	} else if (getmap() == "012-1" && compare(.@npc$, "Guard")) {
		mesn;
		mesq l("Hurnscald Guard and Police will obviously cooperate with the Land of Fire authorities by reporting that, to the best of our knowledge, no such thing was seen in Hurnscald.");
		setq2 LoFQuest_Inspector, .@q2 | .@GUARDS;
	} else if (.@npc$ == "Gwendolyn") {
		mesn;
		mesq l("I'm no fool. I always see squirrels robbing the unaware. Sometimes they steal cheese dropped in the ground. But nothing like you want me to believe.");
		setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS;
	} else if (.@npc$ == "Igor") {
		mesn;
		mesq l("Oh, please, I don't publish lies in my news! Come with a more convincing lie next time you want to appear in the newspaper!");
		setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS;
	} else if (.@npc$ == "Jack") {
		mesn;
		mesq l("I've seen living wood, but not smart animals doing such ridiculous journey to play a prank. Unless you are the animal doing the prank here?");
		setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS;
	} else if (.@npc$ == "Locamit") {
		mesn;
		mesq lg("Don't be ridiculous. Extraordinary claims require extraordinary proof, anyway. Now go away, you liar.");
		setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS;
	} else if (.@npc$ == "Luffyx") {
		mesn;
		mesq l("The summer sun must be playing tricks on your head, my friend. I know of no such thing, and I've been on watch all day long.");
		setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS;
	} else if (.@npc$ == "Milly") {
		mesn;
		mesq lg("It's not good to lie, miss.", "It's not good to lie, mister.");
		setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS;
	} else if (.@npc$ == "Hurnscald's Nurse") {
		mesn;
		mesq l("For hallucinations I'll suggest... this injection here. Heya!");
		mesc l("Ouch!");
		setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS;
		percentheal -5, -10;
	} else if (.@npc$ == "Hinnak") {
		mesn;
		mesq l("I only saw... Yes you can tell... I ONLY SAW PINKIES! And they weren't stealing some foreigner garbage, but MY CROPS! One day, I swear one day I'll get rid of them!");
		setq2 LoFQuest_Inspector, .@q2 | .@FARMERS;
	} else if (.@npc$ == "Tezzerin") {
		mesn;
		mesq l("Oh my, and I thought ye young'uns were immune to dementia... There are only Pinkies around here, child.");
		setq2 LoFQuest_Inspector, .@q2 | .@FARMERS;
	} else if (.@npc$ == "Mahad") {
		mesn;
		mesq l("There was no \"smart small animal\" trying to purchase anything here. But if I may, drinking water may help your eyesight! I can make a promotion for you.");
		setq2 LoFQuest_Inspector, .@q2 | .@SHOPKEEPERS;
	} else if (.@npc$ == "Shoppa Kep") {
		mesn;
		mesq l("There was no \"smart small animal\" trying to purchase anything here. But if I may, these cotton shirts can do wonders to your lack of fashion! I can make a promotion for you.");
		setq2 LoFQuest_Inspector, .@q2 | .@SHOPKEEPERS;
	} else if (.@npc$ == "Alan") {
		mesn;
		mesq l("There was no \"smart small animal\" trying to purchase anything here. But if I may interest you in a new bow, you might be able to hunt them down! I can make a promotion for you.");
		setq2 LoFQuest_Inspector, .@q2 | .@SHOPKEEPERS;
	} else if (.@npc$ == "Nicholas") {
		mesn;
		mesq l("There was no \"smart small animal\" trying to purchase anything here. But if I may interest you in a new dagger or short sword, you might be able to hunt them down! I can make a promotion for you.");
		setq2 LoFQuest_Inspector, .@q2 | .@SHOPKEEPERS;
	} else if (.@npc$ == "Wyara") {
		mesn;
		mesq l("There was no \"smart small animal\" trying to purchase anything here. But if I may reset your stats, you might be able to raise your intelligence to don't be fooled with such fairy tales! I can make a promotion for you.");
		setq2 LoFQuest_Inspector, .@q2 | .@SHOPKEEPERS;
	} else if (.@npc$ == "Airlia") {
		mesn;
		mesq l("We had bandits targeting the bar, but I can assure it is unrelated to your current case.");
		next;
		mesn;
		mesq l("I can ask the guards to be on lookout, but... Well, while squirrels are known for stealing things, what you imply is too far fetched. Weren't you a LoF official, I would likely have thrown you out the door for wasting my time.");
		next;
		mesn;
		mesq l("So rest assured, what craziness is happening at Land of Fire has nothing to do with Hurnscald.");
		setq2 LoFQuest_Inspector, .@q2 | .@AUTHORITY;
	} else if (.@npc$ == "Celestia") {
		mesn;
		mesq l("Well, we all know Lalica is a powerful witch from the Land of Fire, are you sure she isn't involved?");
		next;
		mesn;
		mesq l("Because your story is as crazy as Pyndragon's inventions, like staffs which shot or staffs which glow. Regardless of whatever he dubbed both.");
		next;
		mesn;
		mesq l("In any case, rest assured the craziness is likely contained to the Land of Fire and we'll let you know if this changes.");
		setq2 LoFQuest_Inspector, .@q2 | .@AUTHORITY;
	} else if (.@npc$ == "Captain") {
		mesn;
		mesq l("Lots of pet owners bring their animals for a ride, but unlike old Nard, we verify for stoaways often. So if it was a pet, it definitely had an owner.");
		next;
		mesn;
		mesq l("All pets are also capable of looting items and dropping items as well. I'm repeating this because I know if you truly came from LoF, then you certainly talked with Ace Ventura and know it couldn't have been a pet.");
		next;
		mesn;
		mesq l("So whoever stole Dimond's Cove did not use my ship, of that much I can assure you.");
		setq2 LoFQuest_Inspector, .@q2 | .@LA_MARINE;
	} else if (.@npc$ == "Laranja") {
		mesn;
		mesq l("I've been looking around all day and night to sell my father's %s, so I remember roughly everyone who have been on this ship.", getitemlink(OrangeDye));
		next;
		mesn;
		mesq l("And I can say no one matching your description was here today or yesterday or the day before. Sorry.");
		setq2 LoFQuest_Inspector, .@q2 | .@LA_MARINE;
	} else if (.@npc$ == "Teraa") {
		mesn;
		mesq l("Sorry, I only have interest in Tortugas, so I didn't paid any attention. Speaking on which... are you interested in renting one?");
	} else if (.@npc$ == "Melina") {
		mesn;
		mesq l("Sorry, I was busy bringing drinks all day. Well, given your story, you're clearly drunk, but given how out of it you are, I'll advise drinking our %s instead. I promise it'll have less collateral effects than whatever you had!", getitemlink(Beer));
	} else if (.@npc$ == "Khafar") {
		mesn;
		mesq l("HAHAHAHAH, that's a nice story! Really funny, too! I really should buy you a beer for the excellent story.");
		if (!(.@q2 & .@KHAFAR)) {
			inventoryplace Beer, 1;
			setq2 LoFQuest_Inspector, .@q2 | .@KHAFAR;
			getitem Beer, 1;
		}
	} else {
		Exception(sprintf("Oops, unhandled NPC at investigation (typo)! %s was not found on stage %d <= report this!", .@npc$, .@q), RB_SPEECH|RB_PLEASEREPORT);
	}
	close;
}