summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/020-7-1/core.txt6
-rw-r--r--npc/020-7-1/janitors.txt102
-rw-r--r--npc/020-7-1/oskari.txt12
-rw-r--r--npc/020-7-1/pagefinders.txt96
-rw-r--r--npc/020-7-1/peetu.txt10
-rw-r--r--npc/020-7-1/sage.txt10
-rw-r--r--npc/020-7/elias.txt3
7 files changed, 173 insertions, 66 deletions
diff --git a/npc/020-7-1/core.txt b/npc/020-7-1/core.txt
index a247aee3d..3413ce009 100644
--- a/npc/020-7-1/core.txt
+++ b/npc/020-7-1/core.txt
@@ -16,12 +16,12 @@ function script BSQuestion {
// After you collected everyone's feedback, hide the option
if (is_between(3,8,.@b1)) {
- if (.@b2 < BS_NPCALL)
+ if (.@b3 < BS_NPCALL)
.@rt=.@rt | BS_QHELPER;
}
- if (.@b1 == 7) {
- if (.@b3 < BS_NPCALL)
+ if (.@b1 == 6) {
+ if (.@b2 < BS_NPCALL)
.@rt=.@rt | BS_QVISITOR;
}
return .@rt;
diff --git a/npc/020-7-1/janitors.txt b/npc/020-7-1/janitors.txt
index b94147df9..617028cd0 100644
--- a/npc/020-7-1/janitors.txt
+++ b/npc/020-7-1/janitors.txt
@@ -13,8 +13,48 @@
020-7-1,50,63,6 script Pyry NPC_BLUESAGEWORKER_MB,{
npctalk3 l("I warn about dangers and controls the fights.");
- goodbye;
- end;
+ function askQuestion;
+ mesc l("ERROR TODO");
+ askQuestion();
+ close;
+
+function askQuestion {
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ .@qs=BSQuestion(getq(NivalisQuest_BlueSage));
+ .@qt=getq3(NivalisQuest_BlueSage);
+ next;
+ mes "";
+ select
+ rif(.@qt < 255, "What are you doing?"),
+ 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("TODO!");
+ break;
+ case 2:
+ mesn;
+ mesq l("Mh, yes. I remember him. He was very interested in the library and the research we do here. He had an unusual behaviour and appearance. But, well, that isn't a reason to refuse someone, right?");
+ break;
+ case 3:
+ mesn;
+ mesq l("Peetu? I have always been glad to have him on the team. He's really brought forward our work here.");
+ next;
+ mesn;
+ mesq l("I was very surprised when I heard that he's responsible for the failed sealing. I'd never have expected that from him.");
+ if (!(.@q3 & .bsId))
+ setq3 NivalisQuest_BlueSage, .@q3 | .bsId;
+ break;
+ }
+ } while (@menu != 4);
+ close;
+}
OnInit:
.bsId=BS_NPC06;
@@ -99,6 +139,7 @@ function askQuestion {
case 2:
mesn;
mesq l("With a mask? Mh, I think I know who are you talking about. I vaguely remember that there was someone with a mask... but I can't recall any details, I wasn't really paying attention.");
+ close;
break;
case 3:
mesn;
@@ -108,6 +149,7 @@ function askQuestion {
mesq l("I really wonder how that accident could've happened. I'd have never expected him to mess something up like that.");
if (!(.@q3 & .bsId))
setq3 NivalisQuest_BlueSage, .@q3 | .bsId;
+ close;
break;
}
} while (@menu != 4);
@@ -165,6 +207,24 @@ OnInit:
close;
function askQuestion {
+ next;
+ if (.@qt >= 255) {
+ mesn;
+ mesq l("Good work with the slimes. This will make our task much easier.");
+ next;
+ mesn;
+ mesc l("*sigh*");
+ mesq l("It appears we were focusing too much on research and this lead to neglect of other duties of a Sage's household. This is dangerous in times of changes. I'm worried about the future.");
+ } else if (.@qt) {
+ mesn;
+ mesc l("*sighs*");
+ mesq l("We really appreciate your help with the slimes.");
+ } else {
+ mesn;
+ mesq l("It's dangerous in the library right now, be careful. Do you need anything else?");
+ }
+
+ // Mainframe Loop
do {
.@q=getq(NivalisQuest_BlueSage);
.@q2=getq2(NivalisQuest_BlueSage);
@@ -172,21 +232,6 @@ function askQuestion {
.@qs=BSQuestion(getq(NivalisQuest_BlueSage));
.@qt=getq2(NivalisQuest_BlueSageSlimes);
next;
- if (.@qt >= 255) {
- mesn;
- mesq l("Good work with the slimes. This will make our task much easier.");
- next;
- mesn;
- mesc l("*sigh*");
- mesq l("It appears we were focusing too much on research and this lead to neglect of other duties of a Sage's household. This is dangerous in times of changes. I'm worried about the future.");
- } else if (.@qt) {
- mesn;
- mesc l("*sighs*");
- mesq l("We really appreciate your help with the slimes.");
- } else {
- mesn;
- mesq l("It's dangerous in the library right now, be careful. Do you need anything else?");
- }
mes "";
select
rif(.@qt < 255, ""),
@@ -359,6 +404,19 @@ OnInit:
close;
function askQuestion {
+ next;
+ if (.@qt >= 255) {
+ mesn;
+ mesq l("I heard you fought the slimes that were still roaming between the bookshelves. Thank you!");
+ next;
+ mesn;
+ mesq l("I was a bit worried that they might ruin our efforts by messing everything up again after we just cleaned.");
+ } else {
+ mesn;
+ mesq l("I'm just searching for some cleaning supplies. They must be somewhere around here, but everything went upside down when the slimes escaped.");
+ }
+
+ // Mainframe Loop
do {
.@q=getq(NivalisQuest_BlueSage);
.@q2=getq2(NivalisQuest_BlueSage);
@@ -366,16 +424,6 @@ function askQuestion {
.@qs=BSQuestion(getq(NivalisQuest_BlueSage));
.@qt=getq2(NivalisQuest_BlueSageSlimes);
next;
- if (.@qt >= 255) {
- mesn;
- mesq l("I heard you fought the slimes that were still roaming between the bookshelves. Thank you!");
- next;
- mesn;
- mesq l("I was a bit worried that they might ruin our efforts by messing everything up again after we just cleaned.");
- } else {
- mesn;
- mesq l("I'm just searching for some cleaning supplies. They must be somewhere around here, but everything went upside down when the slimes escaped.");
- }
mes "";
select
rif(.@qt == 255, "Did you found the supplies yet?"),
diff --git a/npc/020-7-1/oskari.txt b/npc/020-7-1/oskari.txt
index 1268a7d43..6b27bab4d 100644
--- a/npc/020-7-1/oskari.txt
+++ b/npc/020-7-1/oskari.txt
@@ -171,11 +171,15 @@ function pComplete {
}
+OnTimer1000:
+ domovestep;
+
OnInit:
initpath "move", 122, 29,
"dir", UP, 0,
- "wait", 15, 0,
+ "wait", 5, 0,
"dir", LEFT, 0,
+ "move", 59, 29,
"move", 56, 29,
"wait", 3, 0,
"dir", RIGHT, 0,
@@ -201,7 +205,11 @@ OnInit:
"move", 25, 77,
"wait", 3, 0,
"dir", RIGHT, 0,
- "wait", 10, 0;
+ "wait", 10, 0,
+ "move", 56, 29,
+ "wait", 3, 0,
+ "dir", RIGHT, 0,
+ "wait", 1, 0;
// And go back to Peetu, which is very far away, 'cause I'm lazy
initialmove;
initnpctimer;
diff --git a/npc/020-7-1/pagefinders.txt b/npc/020-7-1/pagefinders.txt
index 719b7da6b..3fa639c19 100644
--- a/npc/020-7-1/pagefinders.txt
+++ b/npc/020-7-1/pagefinders.txt
@@ -3,7 +3,7 @@
// Jesusalva
// TMW Org.
// Description:
-// Responsible for recovering the lost pages
+// Responsible for recovering the lost pages (SpellBookPage)
// helperBookpages*
//
// NivalisQuest_BlueSagePagefinder STRUCTURE
@@ -13,9 +13,51 @@
// nÂș of pages found (0~31)
020-7-1,36,39,4 script Ensio NPC_BLUESAGEWORKER_MB,{
- npctalk3 l("Collects book pages");
- goodbye;
- end;
+ function askQuestion;
+ mesc l("ERROR TODO");
+ askQuestion();
+ close;
+
+function askQuestion {
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ .@qs=BSQuestion(getq(NivalisQuest_BlueSage));
+ .@qt=getq(NivalisQuest_BlueSagePagefinder);
+ next;
+ mes "";
+ select
+ rif(.@qt < 255, "What are you doing?"),
+ 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("TODO!");
+ break;
+ case 2:
+ mesn;
+ mesq l("Visitor with a mask? Ah, I think I know who are you talking about. Black clothes and a golden mask. Rather strange guy.");
+ next;
+ mesn;
+ mesq l("He was looking around in the library a while, and then came to ask about our research. He seemed to be particularly interested in our experiments with the slimes.");
+ next;
+ mesn;
+ mesq l("Heh, I wonder what he would've said if he'd have visited us a little bit later. Mh, now that I think about it, the accident with the slimes happened just the night after he was here.");
+ if (!(.@q2 & .bsId))
+ setq2 NivalisQuest_BlueSage, .@q2 | .bsId;
+ break;
+ case 3:
+ mesn;
+ mesq l("Oh, I can't really tell. I'm mostly working in the library, while he's very involved in the research.");
+ break;
+ }
+ } while (@menu != 4);
+ close;
+}
OnInit:
.bsId=BS_NPC07;
@@ -55,24 +97,27 @@ OnInit:
close;
function askQuestion {
+ next;
+ if (.@qt >= 255) {
+ mesn;
+ mesq l("I'm so glad we didn't have to go out to hunt the slimes! Thank you!");
+ } else if (.@qt) {
+ mesn;
+ mesq l("If you get any bookpages from the slimes, bring them to Ensio. Thanks for your help!");
+ } else {
+ mesn;
+ mesc l("*sighs*");
+ mesq l("Oh, hey. Welcome to the library, or what's left of it.");
+ }
+
+ // Mainframe Loop
do {
.@q=getq(NivalisQuest_BlueSage);
.@q2=getq2(NivalisQuest_BlueSage);
.@q3=getq3(NivalisQuest_BlueSage);
.@qs=BSQuestion(getq(NivalisQuest_BlueSage));
- .@qt=getq3(NivalisQuest_BlueSage);
+ .@qt=getq(NivalisQuest_BlueSagePagefinder);
next;
- if (.@qt >= 255) {
- mesn;
- mesq l("I'm so glad we didn't have to go out to hunt the slimes! Thank you!");
- } else if (.@qt) {
- mesn;
- mesq l("If you get any bookpages from the slimes, bring them to Ensio. Thanks for your help!");
- } else {
- mesn;
- mesc l("*sighs*");
- mesq l("Oh, hey. Welcome to the library, or what's left of it.");
- }
mes "";
select
rif(.@qt < 255, "What are you doing?"),
@@ -151,20 +196,23 @@ OnInit:
close;
function askQuestion {
+ next;
+ if (.@qt >= 255) {
+ mesn;
+ mesq l("Thanks for helping out here. Do you need anything else?");
+ } else if (.@qt) {
+ mesn;
+ mesq l("Did you find some bookpages? Ensio will take them.");
+ }
+
+ // Mainframe Loop
do {
.@q=getq(NivalisQuest_BlueSage);
.@q2=getq2(NivalisQuest_BlueSage);
.@q3=getq3(NivalisQuest_BlueSage);
.@qs=BSQuestion(getq(NivalisQuest_BlueSage));
- .@qt=getq3(NivalisQuest_BlueSage);
+ .@qt=getq(NivalisQuest_BlueSagePagefinder);
next;
- if (.@qt >= 255) {
- mesn;
- mesq l("Thanks for helping out here. Do you need anything else?");
- } else if (.@qt) {
- mesn;
- mesq l("Did you find some bookpages? Ensio will take them.");
- }
mes "";
select
rif(.@qt == 255, ""),
diff --git a/npc/020-7-1/peetu.txt b/npc/020-7-1/peetu.txt
index 3e79d02cf..4f6187942 100644
--- a/npc/020-7-1/peetu.txt
+++ b/npc/020-7-1/peetu.txt
@@ -117,9 +117,11 @@ function pIntro {
case 1:
if (.@q2 < 1)
setq2 NivalisQuest_BlueSage, 1;
+ break;
case 2:
if (!countitem(SeaDrops)) {
mesc l("You don't have @@.", getitemlink(SeaDrops));
+ close;
}
if (.@q2 < 2)
setq2 NivalisQuest_BlueSage, 2;
@@ -127,6 +129,7 @@ function pIntro {
case 3:
if (!countitem(ChocolateBar)) {
mesc l("You don't have @@.", getitemlink(ChocolateBar));
+ close;
}
if (.@q2 < 3)
setq2 NivalisQuest_BlueSage, 3;
@@ -134,6 +137,7 @@ function pIntro {
case 4:
if (!countitem(MoubooFigurine)) {
mesc l("You don't have @@.", getitemlink(MoubooFigurine));
+ close;
}
if (.@q2 < 4)
setq2 NivalisQuest_BlueSage, 4;
@@ -209,7 +213,7 @@ function pContinue {
mesq l("Well ... but ... I mean ... I don't know ... ");
next;
mesn;
- mesq l("Would you ... uhm ... would you talk to Chief Oskari for me? And ask him what he plans to do about me? I... I just don't feel capable of doing that myself right now. I'll try to pull myself together in the meanwhile.");
+ mesq l("Would you ... uhm ... would you talk to Chief Oskari for me? And ask her what she plans to do about me? I... I just don't feel capable of doing that myself right now. I'll try to pull myself together in the meanwhile.");
setq NivalisQuest_BlueSage, 3, 0;
close;
}
@@ -221,7 +225,7 @@ function pReflection {
.@q2=getq2(NivalisQuest_BlueSage);
.@q3=getq3(NivalisQuest_BlueSage);
select
- l("Good news: Oskari doesn't plans in firing you (yet)!"),
+ l("Good news - Oskari doesn't plans in firing you (yet)!"),
l("I'm here to investigate what exactly happened so this doesn't happens again."),
l("Everyone commit mistakes and Oskari was very understanding. I need to do some questions about the incident though."),
l("Oskari have a good opinion of you. Can you tell what exactly happened?");
@@ -266,7 +270,7 @@ function pReflection {
mesq l("I never tried it, because it makes no sense to do that, but theoretically adding some Silk Cocoons could have such an effect. Uh... but that should not happen.");
next;
mesn;
- mesq l("Could you please ask @@ about it? The ingredients... It would still be my fault..."), b(l("Elias"));
+ mesq l("Could you please ask @@ about it? The ingredients... It would still be my fault...", b(l("Elias")));
next;
mesc l("@@ is on the verge of crying again. Better leave out and look for Elias.", .name$);
setq1 NivalisQuest_BlueSage, 5;
diff --git a/npc/020-7-1/sage.txt b/npc/020-7-1/sage.txt
index 315068b1d..5d05cdf37 100644
--- a/npc/020-7-1/sage.txt
+++ b/npc/020-7-1/sage.txt
@@ -42,9 +42,10 @@
.@cindy=($@CINDY_STATE < gettimetick(2));
.@q=getq(NivalisQuest_BlueSage);
- .@qt=getq(NivalisQuest_BlueSagePagemaker);
// If you helped the four page makers, you receive a reward
+ // I know a Titanium Ingot is lame, but in TMW Org. there was no reward *at all*
+ .@qt=getq(NivalisQuest_BlueSagePagemaker);
if (.@qt == 0) {
.@qt2=getq2(NivalisQuest_BlueSagePagemaker);
if (.@qt2 == BS_PMALL) {
@@ -59,7 +60,6 @@
setq1 NivalisQuest_BlueSagePagemaker, 1;
next;
}
-
}
mesn l("Nikolai, the Blue Sage");
@@ -139,16 +139,14 @@ function nReport {
mesq l("You wanted to know about the World Edge, right? The Ancient Families of the Soul Menhir, and if you're part of them...");
next;
mesn l("Nikolai, the Blue Sage");
- mesq l("I cannot answer you the later, but I can answer the former. And also explain what the title means.");
+ mesq l("I cannot answer you about yourself, but I can tell you about the Ancient Families and the World Edge. Which is classified information, by the way.");
next;
mesn l("Nikolai, the Blue Sage");
mesq l("However, you'll need to keep cooperating with me. Trust me, this incident and what you look for it is closely related.");
next;
mesn l("Nikolai, the Blue Sage");
mesq l("I'll be writing a letter to the next town you're going to visit, and also assign work to my household. You should come back later.");
- next;
- mesn l("Nikolai, the Blue Sage");
- mesq l("Here, take this. It's time to you learn to craft your own weapon. Talk to Nicholas in Hurnscald forge to make an awesome @@. Or use it on some other craft, it is your choice.", getitemlink(Backsword));
+
getexp 17500, 1000;
setq1 NivalisQuest_BlueSage, 11;
@timed=gettimetick(2)+30;
diff --git a/npc/020-7/elias.txt b/npc/020-7/elias.txt
index 162cb7b89..1e771be72 100644
--- a/npc/020-7/elias.txt
+++ b/npc/020-7/elias.txt
@@ -132,6 +132,7 @@ function eliasWorry {
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.");
@@ -181,7 +182,7 @@ function eliasQuestion {
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 accident?");
+ 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.");