// 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; }