summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2024-05-23 15:38:36 -0300
committerJesusaves <cpntb1@ymail.com>2024-05-23 15:38:36 -0300
commit71568453e72881cbdb7b6209b2555b0b3a3cfe4a (patch)
tree740e8c558647510ee1a09064daeefd39abd2a9be
parentd69335e998fa83651b28b2544114d7c7bbc2526b (diff)
downloadserverdata-71568453e72881cbdb7b6209b2555b0b3a3cfe4a.tar.gz
serverdata-71568453e72881cbdb7b6209b2555b0b3a3cfe4a.tar.bz2
serverdata-71568453e72881cbdb7b6209b2555b0b3a3cfe4a.tar.xz
serverdata-71568453e72881cbdb7b6209b2555b0b3a3cfe4a.zip
Add music to the troupe. Finish placeholders but still untested.
-rw-r--r--npc/017-1/inspector.txt26
-rw-r--r--npc/017-3/dimonds.txt20
-rw-r--r--npc/config/inspector.txt140
3 files changed, 154 insertions, 32 deletions
diff --git a/npc/017-1/inspector.txt b/npc/017-1/inspector.txt
index 3533c3ad9..0f1db5044 100644
--- a/npc/017-1/inspector.txt
+++ b/npc/017-1/inspector.txt
@@ -12,7 +12,11 @@
mesq l("Hello. My name is Anselmo and I'm investigating a recent string of robberies.");
next;
if (BaseLevel < 49) goto L_Close;
- if (!is_staff()) goto L_Close; // FIXME
+ if (.@q == 0) goto L_Start;
+ if (.@q == 1) goto L_Arc1;
+ goto L_Close;
+
+L_Start:
mesn;
mesq l("Well... Not robberies per se... Just cheese vanishing and being replaced by %s, which is super weird.", getitemlink(GoldenApple));
next;
@@ -34,6 +38,10 @@
setq LoFQuest_Inspector, 1, 0;
next;
goto L_Close;
+
+L_Arc1:
+ if (!is_staff()) goto L_Close; // FIXME
+ .@q2 = getq2(LoFQuest_Inspector);
if (.@q2 == (1024-1)) {
mesn;
mesq l("Cool, you have collected enough evidence. I also have some of my own, so we can proceed.");
@@ -45,6 +53,22 @@
//...
mesn;
mesq l("Excellent. So, this time, we should follow the other lead we had - the %s found in the scene of the crime.", getitemlink(GoldenApple));
+ //...
+ mesn;
+ mesq l("We also know our thief is likely either a squirrel or a cat, although one intelligent enough and resourceful enough to make the travel every day.");
+ //...
+ mesn;
+ mesq l("Considering the direction they came from, we should check Hurnscald next. Ask them if they saw a squirrel robbing Golden Apples, or anything which could help.");
+ next;
+ mesn;
+ mesq l("Ah, and you don't need to ask all of them, that would be a real bother. Ask maybe %d, and try to prioritize shop keepers, unless you feel you found a trail. You can also ask inside La Marine.", 7);
+ //...
+ // ... ... ... ......
+ mesn;
+ mesq l("Hmm, none of them saw anything? What did we miss... Oh right, Golden Apples grows in the Desert Canyon as well. Snakes often carry them, although we already discarded the possibility of a snake being the thief.");
+ next;
+ mesn;
+ mesq l("Sorry for wasting so much of your time, but go in Halinarzo and ask about it. Who knows, one of them might have seen our little thief crossing the Eternal Swamps, and it would match the time range if they had to occasionally wait for the floods to stop, and the fact no one in Hurnscald saw anything.");
}
goto L_Close;
diff --git a/npc/017-3/dimonds.txt b/npc/017-3/dimonds.txt
index 92b9fa699..253be3d7e 100644
--- a/npc/017-3/dimonds.txt
+++ b/npc/017-3/dimonds.txt
@@ -98,6 +98,26 @@ OnInit:
end;
}
+// Some functions governing the music on 1st floor
+017-3,32,45,0 script #LetsPlayCove NPC_HIDDEN,2,2,{
+OnTouch:
+ if (season() != SPRING)
+ changeplayermusic "3b5.ogg"; // I *hate* this one
+ end;
+}
+017-3,35,68,0 script #NoPlayCove1 NPC_HIDDEN,2,2,{
+OnTouch:
+ if (season() != SPRING)
+ changeplayermusic "peace2.ogg";
+ end;
+}
+017-3,83,28,0 script #NoPlayCove2 NPC_HIDDEN,2,2,{
+OnTouch:
+ if (season() != SPRING)
+ changeplayermusic "peace2.ogg";
+ end;
+}
+
017-3,35,35,0 script Shannon NPC_LOF_NOBLEMAN,{
showavatar NPC_LOF_NOBLEMAN;
diff --git a/npc/config/inspector.txt b/npc/config/inspector.txt
index ca7576aa0..bd1bce81b 100644
--- a/npc/config/inspector.txt
+++ b/npc/config/inspector.txt
@@ -1,6 +1,6 @@
// TMW2/LOF Script.
// Author:
-// Jesusalva
+// Jesusalva
// Description:
// Inspector Quest core
@@ -79,13 +79,13 @@ function script inspectorQuest {
mes "";
.@q2 = getq2(LoFQuest_Inspector);
.@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
+ .@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
+ .@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
@@ -119,9 +119,19 @@ function script inspectorQuest {
mesq l("I know nothing about the robberies, sorry.");
}
} else if (.@npc$ == "Kenton") {
- // FIXME Acquire SCRATCH_EVIDENCE FIXME
+ // Acquire SCRATCH_EVIDENCE
mesn;
- mesq l("I know nothing about the robberies, sorry.");
+ 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 (compare(.@npc$, "Guard")) {
// List some excluded NPCs. Could use miller rand to be predictable but...
mesn;
@@ -147,19 +157,28 @@ function script inspectorQuest {
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") {
- // FIXME Acquire PORTAL_USE if THIEF_DESCRIPTION and TIME_OF_THEFT FIXME
- 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.");
+ // 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? And to Dimond?
+ // 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 and the boss. I guess in your case it would be...");
+ 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 and Dimond herself. So if you're stuck, try talking to them again, confirm the details?");
+ 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) {
@@ -167,7 +186,7 @@ function script inspectorQuest {
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 and yetis, but not by rats.");
+ 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 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.");
@@ -179,29 +198,88 @@ function script inspectorQuest {
mesn;
mesq l("I know nothing about the robberies, sorry.");
} else if (.@npc$ == "Chef#dimond") {
- // FIXME Acquire VICTIM_CHEF, acquire CHEESE_TYPES if VICTIM_LAB FIXME
+ // Acquire VICTIM_CHEF, acquire CHEESE_TYPES if VICTIM_LAB
mesn;
- mesq l("I know nothing about the robberies, sorry.");
+ 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") {
- // FIXME Acquire THIEF_DESCRIPTION if TIME_OF_THEFT FIXME
+ // I forgot what Dimond does
mesn;
- mesq l("I know nothing about the robberies, sorry.");
+ 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") {
- // FIXME Acquire TROUPE_DISGUISE if VICTIM_CHEF FIXME
- mesn;
- mesq l("I know nothing about the robberies, sorry.");
+ // 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") {
- // FIXME Acquire TROUPE_DISGUISE if VICTIM_CHEF FIXME
- mesn;
- mesq l("I know nothing about the robberies, sorry.");
+ // 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") {
- // FIXME Acquire TROUPE_DISGUISE if VICTIM_CHEF FIXME
- mesn;
- mesq l("I know nothing about the robberies, sorry.");
+ // 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") {
- // FIXME Acquire UNDERGROUND_PASS if VICTIM_CHEF FIXME
+ // Hints toward the underground pass flag if VICTIM_CHEF
mesn;
- mesq l("I know nothing about the robberies, sorry.");
+ 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;