summaryrefslogblamecommitdiff
path: root/npc/config/inspector.txt
blob: f6a08d48b22e9d26484abf8fe30b7df6441c0339 (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$;
    // TODO: Rather than using .@q == 1
    // Check with compare(getmap(), "017") && .@q == 1
    // Then  with compare(getmap(), "012") && .@q == 2
    // Then  with compare(getmap(), "009") && .@q == 3
    // ...So on, for each stage
    .@q = getq(LoFQuest_Inspector);
    if (.@q != 1) return;
    select
        l("Talk normally."),
        l("Ask about the robberies.");
    if (@menu == 1) {
        clear;
        return;
    }
	/*
	// NPC List (24+6 = 30 NPCs)
	///////////////////////////////
	Royal Fairy
		Equip collector
	Erik
		Homunculus dispatcher
	Kenton
		Public affairs officer
	Guard#lof-{1:6}
		Six guards in the land of fire
	Elen The Traveler
		Traveler shop & lore
	Milocat
		Barber
	Pydisgner#spoints
		Legacy LoF account converter, sitting at main square
	Paxel
		Prsm's son
	Pet Detective
		Ace Ventura does feed a lot of pets...
	Chef#dimond
		The chef, and likely the principal victim
	Dimond
		Dimond's Cove owner
	Phil
		Trumpet at Dimond Cove Troupe
	Jerry
		...the drummer
	Robert
		...Harpist
	Shannon
		Cart rent, likely the CEO of a transport company
	Basil
		Quartermaster at Dimond's Cove
	Gambler#017-3
		Gambler at Dimond's Cove
	Doug
		Just a guest at Dimond's Cove
	Lora Tay
		Seamstress at Dimond's Cove
	Nico Goethe
		Card player, guest at Dimond's Cove
	Jenny
		Worker? Thief? at Dimond's Cove
	Zack
		Same as Jenny
	Pihro
		One of the administrators of LoF. Makes ammo
	Pyndragon
		One of the administrators of LoF. Makes rare equip
	Axzell the Alchemist
		LoF alchemist
	*/
	mes "";
    .@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
    // Each NPC sets exactly ONE piece of evidence to true, or none
    // Some NPCs require some pieces to already be set in advance
    // Technically, Dimond Chef can set two pieces - one on first talk, 2nd locked
    // Some NPCs set the same piece of evidence - you don't need to talk to all
	if (.@npc$ == "Doug") {
		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") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Erik") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Kenton") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (compare(.@npc$, "Guard")) {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Elen The Traveler") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Milocat") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Pydisgner#spoints") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Paxel") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Pet Detective") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Chef#dimond") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Dimond") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Phil") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Jerry") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Robert") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Shannon") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Basil") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Gambler#017-3") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Lora Tay") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Nico Goethe") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Jenny") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Zack") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Pihro") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Pyndragon") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} else if (.@npc$ == "Axzell the Alchemist") {
        // FIXME
		mesn;
		mesq l("I know nothing about the robberies, sorry.");
	} 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;
}