summaryrefslogblamecommitdiff
path: root/npc/config/inspector.txt
blob: b0665bc3378f479bf819cc39d8a06a63600ed49b (plain) (tree)
1
2
3
4
5
6
7
8
9
10

                   
             




                                         

                                           

                                       



                                                                      
                                                            


                                                              






                                              
          

                                               
                                       
          
               
                                         
                                 
                                                                 



                                                                              
                                                                   

                                                                            

                                                                                       
                              







                                                                                        


                                       
                               
                                             




                                                                                                 
                                             
                                             

                                                                     
                     
                     

                                                                                                                            










                                                                                                                     
                                        
                                           
                     










                                                                                                                                                                                                         
                                                                     
                                                                                          

                                                                     





                                                                                                                                                                                                  
                                                   
                                                                                           

                                                                     





                                                                                                                                                          
                                         
                                       
                     
                                                                                                                                           
                                                   











                                                                                                                                                                                                       
                                       
                                                                     

                                                                     
                     
                     
                                                                                                                                           
                     
                     
                                                                                                            
                                               





                                                                                                            
                                                                                                                                                                                    

                             
                                                                                                                                                                                                                                   




                                                                             
                                             
                                                                          
                     













                                                                                                                                                                                                                                 
                                        
                                            
                     








                                                                                                                                                                              
                                      













                                                                                                                                                                              
                                       













                                                                                                                                                                                
                                        













                                                                                                                                                                                
                                         
                                                                        
                     
                                                                                                                                                                                                      
                                           



                                                                                                                                                                                                  
                                       
                                               
                     






                                                                                                                                                                                                           
                                               
                                                        
                     

                                                                                                                                                                                                                                                                                                        
                     
















                                                                                                                                                           
                                             














                                                                                                                                                     
                                       


















                                                                                                                                                                                                                                   
                                      














                                                                                                                                                                                                          
                                       
                                             
                     
                                                                                                                                                                                   
                                           
                                                             
                     
                                                                                                                                                                              
                                                      
                                     
                     
                                                                                                                                                  
                     

                                                                                                                                                                                 
                                                              

































































































































                                                                                                                                                                                                                                                                                       

                                                                                                                                                                        

              

 
// 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;
}