// Evol scripts. // Author: // gumi // Quest states: // [1] 0 - cannot do the quest // [1] 1 - can do the quest // [1] 2 - talked to inspector (1) <= start // [1] 3 - talked to old woman (1) // [1] 4 - talked to old woman (2) // [1] 5 - talked to inspector (2) // [1] 6 - talked to troupe leader (1) // [1] 7 - talked to inspector (3) // [1] 8 - talked to old man // [1] 9 - talked to old woman (3) // [1] 10 - talked to inspector (4) // [1] 11 - talked to old woman (4) // [1] 12 - talked to malek // [1] 13 - searched the bookcase // [1] 14 - talked to inspector (5) // [1] 15 - talked to troupe leader (2) <= reward // [1] 16 - talked to inspector (6) <= reward, end // [2] unused // [3] unused // [t] unused // Description: // robberies in hurnscald 008-2-1,30,34,0 script Inspector NPC_INSPECTOR,{ if (BaseLevel < .min_level) { npctalk3(l("I'm sorry, but I'm busy looking into this string of robberies.")); end; } // OnTalk: switch (getq(.quest)) { case 0: case 1: speech(4, l("Hmm... what to do.")); narrator(4, l("He looks up and into your face.")); speech(4, l("You look capable, will you help me solve these robberies?"), l("I would go myself, but for some reason I'm a non-walking NPC.")); if (selectd("Yes", "No") == 2) { closeclientdialog(); close; } speech( l("Ok then."), l("I'd like you to ask the villagers about the recent string of robberies.")); close2; setq(.quest, 2); end; case 2: npctalk3(l("Please continue talking to the villagers.")); end; case 3: speech( l("Hm..."), l("I don't know if I trust her eyesight or memory."), l("See if someone else knows anything.")); close; case 4: speech( l("Someone in a theater mask, eh?"), l("There was a traveling theater troupe in town recently, but they've moved on to Tulimshar."), l("Please go talk to their leader about this.")); close2; setq(.quest, 5); end; case 5: npctalk3(l("Please go talk to the leader of the traveling troupe about the theater mask.")); end; case 6: speech( l("Hm... an old man?"), l("Could you interrogate him for me?")); close2; setq(.quest, 7); end; case 7: npctalk3(l("Have you talked with the old man yet?")); end; case 8: npctalk3(l("Can you verify that with his wife?")); end; case 9: speech( l("Hm... then it couldn't be him."), l("I'm not sure where to go from here, maybe you can find something else."), l("Try talking to everyone again.")); close2; setq(.quest, 10); end; case 10: npctalk3(l("Made any progress yet?")); end; case 11: npctalk3(l("Then go north and investigate!")); end; case 12: npctalk3(l("Did you look over the basement?")); end; case 13: speech( l("What a strange note."), l("I'll keep track of this, while you return the mask to the troupe."), l("I would go myself, but the developers were too lazy to make me walk."), "...", l("By the way, stay sharp! I may call upon you again.")); close2; setq(.quest, 14); end; case 14: npctalk3(l("Please return the mask to the traveling troupe.")); end; case 15: speech( l("My men have found all of the stolen items."), l("They were all in the mining camp."), l("We still don't know who did it.")); // XXX: feel free to extend this quest beyond this point close2; setq(.quest, 16); quest_xp(.maxLevel, .reward_exp); end; case 16: npctalk3(l("Remember to stay sharp. I might need your help on another case.")); end; } closeclientdialog(); close; OnPCLoginEvent: OnPCBaseLvUpEvent: if (BaseLevel >= .min_level && getq(.quest) < 1) { setq(.quest, 1); // allow the player to do the quest dispbottom(l("New quest available: %s (level %d+)", getquestlink(.quest), .min_level)); // XXX: requires new manaplus versions, maybe show a different message for old versions? } end; OnInit: .min_level = 30; // min level to do the quest .maxLevel = 60; .reward_exp = 2500; .quest = HurnscaldQuests_Inspector; .quest_debug = .quest; .distance = 3; ////////// UNFINISHED ////////// //////////////////////////////// // REMOVE THIS CODE WHEN THIS // // NPC IS NO LONGER A WIP ////// //////////////////////////////// //if (!debug) disablenpc(.name$); ///////// UNFINISHED /////////// end; }