summaryrefslogtreecommitdiff
path: root/npc/020-7-1/janika.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/020-7-1/janika.txt')
-rw-r--r--npc/020-7-1/janika.txt101
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;
+}
+