diff options
Diffstat (limited to 'npc/020-7-1/janika.txt')
-rw-r--r-- | npc/020-7-1/janika.txt | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/npc/020-7-1/janika.txt b/npc/020-7-1/janika.txt new file mode 100644 index 000000000..47c9c38ba --- /dev/null +++ b/npc/020-7-1/janika.txt @@ -0,0 +1,101 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// TMW Org. +// Description: +// Workers which produces pages +// helperM* + +// NivalisQuest_BlueSagePagemaker STRUCTURE +// FIELD 1: +// MAIN STATE +// FIELD 2: +// BOOK MAKING QUEST +// 1 - Illustrations delivered (BS_PMINK) +// 2 - Bindings delivered (BS_PMBINDING) +// 4 - Pages delivered (BS_PMPAGE) +// 8 - Glue delivered (BS_PMGLUE) +// =15: All items delivered + +020-7-1,44,56,0 script Janika NPC_BLUESAGEWORKER_FA,{ + function askQuestion; + .@qt=getq2(NivalisQuest_BlueSagePagemaker); + mesn; + if (.@qt & BS_PMBINDING) + mesq l("Thanks for the Silk Cocoons. With these the new books are going to be exquisite."); + else + mesq l("This is going to be difficult... oh, hello. I'm working on recreating some of the books that were destroyed."); + + // Begin here + askQuestion(); + .@qt=getq2(NivalisQuest_BlueSagePagemaker); + mes ""; + mesn; + mesq l("I need @@/@@ @@ for the book covers and binding of some of the more valuable books we're trying to recreate.", countitem(SilkCocoon), 60, getitemlink(SilkCocoon)); + next; + mesn; + mesq l("You wouldn't happen to have them, would you?"); + if (countitem(SilkCocoon) < 60) + close; + next; + if (askyesno() == ASK_NO) { + mes ""; + mesn; + mesq l("That's a pity."); + close; + } + mes ""; + + delitem SilkCocoon, 60; + setq2 NivalisQuest_BlueSagePagemaker, .@qt|BS_PMBINDING; + getexp 3535, 215; // 20% from references, rounded up. It's part of main story. + // is present. REMEMBER THIS IS A LEVEL 36/16 QUEST, REGARDLESS IF EVERYONE DECIDES + // TO DO IT AT LEVEL 40. Exp reward will not change. It's main story, too. + // Besides, it gives Job Experience, which is not common. + mesn; + mesq l("Excellent! This is exactly what I need. Thanks a lot. I'll tell Nikolai about your generosity."); + close; + +function askQuestion { + .@qs=BSQuestion(getq(NivalisQuest_BlueSage)); + do { + .@q=getq(NivalisQuest_BlueSage); + .@q2=getq2(NivalisQuest_BlueSage); + .@q3=getq3(NivalisQuest_BlueSage); + .@qt=getq2(NivalisQuest_BlueSagePagemaker); + next; + select + rif(!(.@qt & BS_PMBINDING), l("Can I help you?")), + 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."), l("Good luck.")); + mes ""; + switch (@menu) { + case 2: + mesn; + mesq l("Oh, I know who you mean! That impertinent person came over in the workshop area and fiddled about with all kinds of things here! Such a rude person! Didn't he understand that we had delicate things going on here? We had to send him back to the library area several times."); + next; + mesn; + mesc l("She shakes her head."); + mesq l("Sometimes I think it'd be better not to allow visitors here. But Nikolai set a high value on keeping contact with the population. Politics."); + if (!(.@q2 & .bsId)) + setq2 NivalisQuest_BlueSage, .@q2 | .bsId; + break; + case 3: + mesn; + mesq l("Mh, I don't know him closely."); + break; + case 4: + close; + } + } while (@menu != 1); + return; +} + +OnInit: + .bsId=BS_NPC02; + .sex=G_FEMALE; + .distance=5; + end; +} + |