// TMW2 scripts.
// Authors:
// Jesusalva
// TMW Org.
// Description:
// Responsible for recovering the lost pages
// helperBookpages*
//
// NivalisQuest_BlueSagePagefinder STRUCTURE
// FIELD 1:
// MAIN STATE
// FIELD 2:
// nº of pages found (0~31)
020-7-1,36,39,4 script Ensio NPC_BLUESAGEWORKER_MB,{
npctalk3 l("Collects book pages");
goodbye;
end;
OnInit:
.bsId=BS_NPC07;
.sex=G_MALE;
.distance=5;
npcsit;
end;
}
020-7-1,33,39,4 script Henriikka NPC_BLUESAGEWORKER_FA,{
function askQuestion;
mesc l("You see a helper looking through some papers that have a strange smell.");
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;
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?"),
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("We're trying to repair the books by collecting the ripped out bookpages and sorting them and copying them for new books. It's a lot to do, and after being eaten by a slime they stink!");
next;
mesn;
mesq l("And a lot of pages are missing, since most of the slimes escaped. I suppose we'll have to go out and hunt them once we're done here. Unless someone else hunt them for us.");
if (!.@qt) {
next;
mesn;
mesq l("Well, these slimes are dangerous, but if you find some pages, be sure to bring them to Ensio. This will help us a lot. Eh, if you're interested in helping, that is. %%1");
}
break;
case 2:
mesn;
mesq l("With a mask? I don't really remember... We have so many visitors. Though I suppose someone wearing a mask would be noticeable... But I'm so worn out from the past few days that I'm just glad I can even recall my own name! Sorry.");
break;
case 3:
mesn;
mesq l("Oh, I never really thought about that. He was the one who failed the sealing, right? But I heard it's a quite difficult spell, so I suppose this could've happened to any mage. I don't know. Why are you asking such difficult questions?");
next;
mesn;
mesq l("I need to go on with sorting the bookpages now.");
break;
}
} while (@menu != 4);
close;
}
OnInit:
.sex=G_FEMALE;
.distance=5;
npcsit;
end;
}
020-7-1,45,39,0 script Teuvo NPC_BLUESAGEWORKER_MA,{
function askQuestion;
mesn;
mesc l("@@ seems to be upset.", .name$);
mesq l("I always thought it was a bad idea to play around with the slimes. And as if holding them in here isn't bad enough, no, they also had to mess around with magic.");
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;
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, ""),
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 2:
mesn;
mesq l("With a mask? Hm. I don't remember.");
break;
case 3:
mesn;
mesq l("Peetu? He's one of those magic wielders who think they can do anything. Heh, you see the result here.");
next;
mesn;
mesq l("But to be fair, from what I've seen Peetu was always very attentive and dutiful.");
if (!(.@q3 & .bsId))
setq3 NivalisQuest_BlueSage, .@q3 | .bsId;
break;
}
} while (@menu != 4);
close;
}
OnInit:
.bsId=BS_NPC07;
.sex=G_MALE;
.distance=5;
npcsit;
end;
}