summaryrefslogtreecommitdiff
path: root/npc/020-7
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
committerJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
commita7c45a192268da2601cef47a4cdba987ae2327ca (patch)
treec5fb5b97db109fe7106496dd96498c475881046b /npc/020-7
downloadserverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.gz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.bz2
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.xz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.zip
Initial commit (Moubootaur Legends fork)
Diffstat (limited to 'npc/020-7')
-rw-r--r--npc/020-7/_import.txt5
-rw-r--r--npc/020-7/_warps.txt4
-rw-r--r--npc/020-7/elias.txt216
-rw-r--r--npc/020-7/workers.txt163
4 files changed, 388 insertions, 0 deletions
diff --git a/npc/020-7/_import.txt b/npc/020-7/_import.txt
new file mode 100644
index 0000000..8ba944b
--- /dev/null
+++ b/npc/020-7/_import.txt
@@ -0,0 +1,5 @@
+// Map 020-7: Blue Sages' Mansion
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/020-7/_warps.txt",
+"npc/020-7/elias.txt",
+"npc/020-7/workers.txt",
diff --git a/npc/020-7/_warps.txt b/npc/020-7/_warps.txt
new file mode 100644
index 0000000..4a9805b
--- /dev/null
+++ b/npc/020-7/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 020-7: Blue Sages' Mansion warps
+020-7,56,21,0 warp #020-7_56_21 1,0,020-7-1,24,84
+020-7,40,50,0 warp #020-7_40_50 0,0,020-1,66,53
diff --git a/npc/020-7/elias.txt b/npc/020-7/elias.txt
new file mode 100644
index 0000000..1e771be
--- /dev/null
+++ b/npc/020-7/elias.txt
@@ -0,0 +1,216 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// Controls access to Blue Sage Residence
+// Minimum level: 36 (implicit)
+// Minimum jblvl: 16 (implicit)
+
+// NivalisQuest_BlueSage STRUCTURE
+// FIELD 1:
+// INVESTIGATION
+// 1 - STBY OUTSIDE
+// 2 - ACCESS GRANTED
+// 3 - QUEST ASSIGNED BY PEETU - talk to Oskari (and others)
+// 4 - Oskari is OK with peetu, but wanna hear from others. He also sends you
+// to ask what Peetu happened
+// 5 - Adultered ingredients seems the cause, report to Elias
+// 6 - Elias is now worried about a visitor. Ask people about and report.
+// 7 - If everyone found the visitor, confirm Elias the worries
+// 8 - Elias sent you to Oskari to inform the issue. Blue Sage probably knew all along.
+// will not advance unless everyone thinks Peetu is good.
+// 9 - Oskari accepts the cause. Tells to report Peetu that it probably was
+// a saboutage, to check if the Silk Cocoon really was there.
+// 10 - Peetu confirmed the saboutage. Report to Blue Sage.
+// 11 - Blue Sage accepted the evidence, and explains about other sages issues.
+// It's not known who or what is behind this. He excuses for making you waste
+// your time. He asks you to return to him later, as he needs to write letters.
+// 12 - QUEST COMPLETE - You collected your reward
+// Also picked up a letter for Frostia Mayor, about the incident (Main Story).
+// FIELD 2:
+// Bitwise (BS_QVISITOR)
+// FIELD 3:
+// Bitwise (BS_QHELPER)
+
+020-7,44,41,0 script #BlueSageEntry NPC_HIDDEN,1,1,{
+OnTouch:
+ .@q=getq(NivalisQuest_BlueSage);
+ if (.@q < 2) {
+ slide 42, 43;
+ doevent "Elias::OnAccessDenied";
+ }
+ end;
+}
+
+// Here we start
+020-7,40,41,0 script Elias NPC_BLUESAGEWORKER_MB,{
+ function eliasWorry;
+ function eliasQuestion;
+ function eliasThankyou;
+ function eliasConfirmed;
+ mesn;
+ mesq l("Hello, and welcome to Blue Sage's Residence, Library, and Nivalis Townhall.");
+ .@q=getq(NivalisQuest_BlueSage);
+ if (.@q >= 2)
+ goto L_Main;
+ next;
+ mesn;
+ mesq l("Due to a recent incident involving slimes, the building is closed to public visits.");
+ .@qn=getq(General_Narrator);
+ mes "";
+ select
+ l("That's sad to hear."),
+ rif(.@qn == 10 && !.@q, l("I have a letter from Rakinorf.")),
+ rif(.@q == 1, l("So? How was it?")),
+ l("What happened?");
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesn;
+ mesq l("Oh, you must be from Hurnscald Household, then. Hand me the letter, I'll have it delivered.");
+ next;
+ mesn;
+ mesq l("Please wait here a short while.");
+ setq NivalisQuest_BlueSage, 1, 0, 0;
+ break;
+ case 3:
+ mesn;
+ mesq l("Yes, the Blue Sage will see you.");
+ next;
+ mesn;
+ mesq l("Please don't mind the mess, there are slimes everywhere, thanks to Peetu.");
+ next;
+ mesn;
+ mesq l("You may pass. The Sage is on the library waiting for you.");
+ setq NivalisQuest_BlueSage, 2, 0, 0;
+ break;
+ case 4:
+ mesn;
+ mesq l("Slimes are on the loose. They have escaped, ate several books, and some are still in the building.");
+ next;
+ mesn;
+ mesq l("Some are dangerous, too. Even if you look capable of fighting, the Blue Sage instructed me to prevent anyone from visiting until the mess is cleared.");
+ break;
+ }
+ //goodbye;
+ close;
+
+L_Main:
+ next;
+ // .@q is preserved when you use goto
+ switch (.@q) {
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ eliasQuestion();
+ break;
+ case 6:
+ eliasWorry();
+ break;
+ case 7:
+ case 8:
+ eliasConfirmed();
+ break;
+ case 9:
+ case 10:
+ case 11:
+ eliasThankyou();
+ break;
+ default:
+ mesn;
+ mesq l("I heard you have been assisting the household staff. For that, I am thankful.");
+ break;
+ }
+ close;
+
+// Elias is worried with visitor and asks for insights
+function eliasWorry {
+ .@q2=getq2(NivalisQuest_BlueSage);
+ if (.@q2 == BS_NPCALL) {
+ setq1 NivalisQuest_BlueSage, 7;
+ eliasConfirmed();
+ close;
+ }
+ mesn;
+ mesq l("After your questions I'm really getting worried about this guy with the mask. In retrospect it really seems suspicous.");
+ next;
+ mesn;
+ mesq l("It might be a good idea to ask around if anyone else observed something odd connected to this person.");
+ return;
+}
+
+// Suspections Confirmed, report back
+function eliasConfirmed {
+ mesn;
+ mesq l("I heard your investigations reminded other people that they observed suspicious behaviour too.");
+ next;
+ mesn;
+ mesq l("It's all my fault, I should've paid more attention! You should talk to Chief Oskari about this.");
+ if (getq(NivalisQuest_BlueSage) == 7)
+ setq1 NivalisQuest_BlueSage, 8;
+ return;
+}
+
+// Waiting quest to end
+function eliasThankyou {
+ mesn;
+ mesq l("Now that Chief Oskari knows about the sequence of events, the Sage will take care of it. It's really a shame how malicious people can be.");
+ next;
+ mesn;
+ mesq l("Thanks a lot for your help revealing the truth.");
+ return;
+}
+
+// Main question to Elias
+function eliasQuestion {
+ select
+ l("Peetu thinks someone put Silk Cocoon along the ingredients."),
+ l("Thanks, pal. I still got some matters to discuss with the Blue Sage if you excuse me.");
+ mes "";
+ if (@menu == 2) {
+ mesn;
+ mesq l("Yes, of course. We have good relations with Hurnscald Town, so you're welcome.");
+ close;
+ }
+ mesn;
+ mesq l("So, Peetu didn't check the ingredients before casting? That's... Well, I don't know.");
+ next;
+ mesn;
+ mesq l("But that is unlikely, we have no reason to sabotage our own work! You saw the mess it caused. Everyone knew it was important.");
+ next;
+ mesn strcharinfo(0);
+ mesq l("Hmm, it might be a hunch but... Can you tell me if there were any unusual visitors before the incident?");
+ next;
+ mesn;
+ mesq l("Mh, let me think. There were quite a few visitors with different concerns, but that's usual at this time of the year.");
+ next;
+ mesn;
+ mesq l("One of them was a bit odd, they were wearing a mask and had a strange way of talking. They said they came from Frostia, which is an elven town in the north. Elves are usually shy, so I thought it would have been rude to ask them to remove the mask.");
+ next;
+ mesn;
+ mesq l("If I remember correctly they wanted to see the library. They looked like a man, but you never know.");
+ next;
+ mesn;
+ mesc l("Elias gets a bit excited.");
+ mesq l("Do you think he may have had something to do with the accident? We're a very hospitable house, so I didn't see a reason to deny him the entrance. I mean, his mask might have been a bit unusual, but hey, there could've been many reasons why someone would wear a mask, don't you think?");
+ setq1 NivalisQuest_BlueSage, 6;
+ next;
+ eliasWorry();
+ return;
+}
+
+
+OnAccessDenied:
+ npctalk3 l("You can't go in there!");
+ end;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+
+}
+
diff --git a/npc/020-7/workers.txt b/npc/020-7/workers.txt
new file mode 100644
index 0000000..b5d2f73
--- /dev/null
+++ b/npc/020-7/workers.txt
@@ -0,0 +1,163 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// Resting workers
+
+020-7,46,30,6 script Miro NPC_BLUESAGEWORKER_MA,{
+ function askQuestion;
+ mesn;
+ mesq l("I'm so tired... Slimes everywhere... Chaos everywhere... Yawn...");
+ next;
+ mesn;
+ mesq l("After cleaning for twelve hours straight, they allowed me to rest a bit.");
+ .@q=getq(NivalisQuest_BlueSage);
+ if (BSQuestion(.@q))
+ askQuestion(BSQuestion(.@q));
+ if (.@q == 12) {
+ next;
+ mesn;
+ mesq l("You did a good job too. Rest a bit, too. There's still one chair.");
+ }
+ close;
+
+function askQuestion {
+ .@qs=getarg(0);
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ next;
+ select
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."));
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("With a mask? I really don't know. I'm usually in the workshop and most of the visitors spend their time in the library. Sometimes they come to have a quick look in the workshop too, but I don't really pay attention to that, so... I can't recall a visitor with a mask, sorry.");
+ break;
+ case 2:
+ mesn;
+ mesq l("Peetu? He is very cautious. It is not like him to make mistakes. After all, he is a elf. Elves are really careful with their jobs.");
+ next;
+ mesn;
+ mesq l("If Nikolai's helpers weren't so carefully chosen, I'd think this was some kind of a bad joke from someone.");
+ if (!(.@q3 & .bsId))
+ setq3 NivalisQuest_BlueSage, .@q3 | .bsId;
+ break;
+ }
+ } while (@menu != 3);
+ close;
+}
+
+OnInit:
+ .bsId=BS_NPC01;
+ .sex=G_MALE;
+ .distance=5;
+ npcsit;
+ end;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+020-7,50,31,2 script Lenita NPC_BLUESAGEWORKER_FA,{
+ function askQuestion;
+ .@q=getq(NivalisQuest_BlueSage);
+ // Teuvo said you're helping to collect some of the missing bookpages to repair the books. That's very kind of you! It's so much work to do, so every bit of help is welcome.
+ // Wow, Ensio told me you collected so many of the lost book pages.
+ if (.@q == 12) {
+ mesn;
+ mesq l("You did a good job. Rest a bit. There's still one chair.");
+ close;
+ }
+ mesn;
+ mesq l("Oh, hello. You didn't choose a good time to visit. The library is a total mess. The slimes got out of control and ate most of the books.");
+ next;
+ mesn;
+ mesq l("We're trying to repair some of the valuable and important books. It's so much work!");
+ next;
+ mesn;
+ mesq l("I was up until late last night, and woke up so early today... I'm having a break right now.");
+ if (BSQuestion(.@q))
+ askQuestion(BSQuestion(.@q));
+ close;
+
+function askQuestion {
+ .@qs=getarg(0);
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ next;
+ select
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."));
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("With a mask? Yeah, I remember. That was a strange guy. He came to visit the library, but he lurked around at the workshop area and they had to send him back to the books.");
+ if (!(.@q2 & .bsId))
+ setq2 NivalisQuest_BlueSage, .@q2 | .bsId;
+ break;
+ case 2:
+ mesn;
+ mesq l("Mh, I can't really tell since I usually work in the library while he works at the workshop. Maybe you should ask around among the people who work there.");
+ break;
+ }
+ } while (@menu != 3);
+ close;
+}
+
+OnInit:
+ .bsId=BS_NPC01;
+ .sex=G_FEMALE;
+ .distance=5;
+ npcsit;
+ end;
+}
+
+