summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/020-7-1/sage.txt52
-rw-r--r--npc/020-7/elias.txt134
-rw-r--r--npc/020-7/workers.txt4
3 files changed, 183 insertions, 7 deletions
diff --git a/npc/020-7-1/sage.txt b/npc/020-7-1/sage.txt
index fba75e0d2..3d03a0849 100644
--- a/npc/020-7-1/sage.txt
+++ b/npc/020-7-1/sage.txt
@@ -11,6 +11,7 @@
020-7-1,35,59,0 script The Blue Sage NPC_BLUESAGE,{
.@cindy=($@CINDY_STATE < gettimetick(2));
+ .@q=getq(NivalisQuest_BlueSage);
mesn l("Nikolai, the Blue Sage");
if (is_night())
.@t$=l("Good evening");
@@ -23,6 +24,57 @@
if (.@cindy) {
mesc l("Nikolai takes a sweat of his head. He seems worried with Cindy.");
}
+ next;
+ select
+ rif(.@q, l("I came here to talk about the World's Edge.")),
+ rif(.@cindy, l("Aren't you Cindy's father? Why don't you go to her rescue?")),
+ l("Please excuse me, Blue Sage Nikolai.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ // Quest ends at stage 12
+ if (.@q == 12) {
+ mesc b(l(".:: Main Quest 4-1 ::.")), 3;
+ mesc l("* Get information about the World Edge"), 1;
+ mesc l("@@ You need to wait further releases to continue this quest!", b(l("WARNING:")));
+ close;
+ }
+ // You must solve the issue here, first
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Well, I would love to, but the house is a mess.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("All Peetu have been doing the past hours was crying, and crying, and crying some more. I can't barely sleep hearing his cries from my room.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Not only that, but he is the only one here besides me who can do magic. Without him, I have to work doubled.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("He should be crying in the far northeast corner of this library. Can you go there to see him?");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Once he resumes working confiantly, we can go over this important subject.");
+ break;
+ case 2:
+ // Quest ends at stage 12
+ if (.@q != 12) {
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("The house is a mess. They need me here. Also.");
+ next;
+ }
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Just like every cave below the woodlands are under the Terranite King domains, every land covered in snow is under the Yeti King's domains.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("It would be unwise to pick a fight with the Yeti King himself. The whole town would suffer.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("However, the situation is different if someone from Hurnscald went there. That's why I ask you to help my Cindy.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("However, talk to my wife first. And to someone who knows more about Yetis. I think someone on Hurnscald Household knew a lot about them.");
+ break;
+ }
close;
OnInit:
diff --git a/npc/020-7/elias.txt b/npc/020-7/elias.txt
index d91da461c..725f7353e 100644
--- a/npc/020-7/elias.txt
+++ b/npc/020-7/elias.txt
@@ -19,32 +19,152 @@
020-7,44,41,0 script #BlueSageEntry NPC_HIDDEN,1,1,{
OnTouch:
.@q=getq(NivalisQuest_BlueSage);
- if (!.@q) {
+ if (!.@q || .@q == 13) {
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.");
// TODO
.@q=getq(NivalisQuest_BlueSage);
- if (.@q)
- close;
+ if (.@q && .@q != 13)
+ goto L_Main;
next;
mesn;
mesq l("Due to a recent incident involving slimes, the building is closed to public visits.");
- .@q=getq(General_Narrator);
+ .@qn=getq(General_Narrator);
+ mes "";
select
l("That's sad to hear."),
- rif(.@q == 10, l("I have a letter from Rakinorf.")),
+ rif(.@qn == 10 && !.@q, l("I have a letter from Rakinorf.")),
+ rif(.@q == 13, l("So? How was it?")),
l("What happened?");
- mes "";
- goodbye;
+ 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, 13, 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, 14, 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 12:
+ eliasQuestion();
+ break;
+ case 3:
+ case 6:
+ case 9:
+ eliasWorry();
+ break;
+ case 4:
+ case 7:
+ case 10:
+ eliasConfirmed();
+ break;
+ case 11:
+ eliasThankyou();
+ break;
+ default:
+ mesn;
+ mesq l("I heard you have been assisting the household staff. For that, I am thankful.");
+ break;
+ }
+ close;
+
+function eliasWorry {
+ 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;
+}
+
+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.");
+ return;
+}
+
+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;
+}
+
+function eliasQuestion {
+ select
+ l("Can you tell me if there were any unusual visitors before the accident?"),
+ 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("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("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;
+ mesc l("Elias gets a bit excited now.");
+ mesn;
+ 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, .@q + 1;
+ return;
+}
+
+
OnAccessDenied:
npctalk3 l("You can't go in there!");
end;
diff --git a/npc/020-7/workers.txt b/npc/020-7/workers.txt
index 5c4683e95..2e7388e8f 100644
--- a/npc/020-7/workers.txt
+++ b/npc/020-7/workers.txt
@@ -16,6 +16,8 @@
switch (.@q) {
case 1:
case 2:
+ case 13:
+ case 14:
break;
case 3:
case 4:
@@ -125,6 +127,8 @@ OnInit:
end;
OnInit:
+ .sex=G_FEMALE;
+ .distance=5;
npcsit;
end;
}