summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/020-1/mapflags.txt2
-rw-r--r--npc/020-7-1/peetu.txt94
2 files changed, 92 insertions, 4 deletions
diff --git a/npc/020-1/mapflags.txt b/npc/020-1/mapflags.txt
index 89d51c9a8..838cbfa62 100644
--- a/npc/020-1/mapflags.txt
+++ b/npc/020-1/mapflags.txt
@@ -4,3 +4,5 @@
020-4 mapflag town
020-5 mapflag town
020-6 mapflag town
+020-7 mapflag town
+020-7-1 mapflag town
diff --git a/npc/020-7-1/peetu.txt b/npc/020-7-1/peetu.txt
index dee7aca40..75ad56713 100644
--- a/npc/020-7-1/peetu.txt
+++ b/npc/020-7-1/peetu.txt
@@ -9,8 +9,8 @@
// FIELD 1:
// INVESTIGATION
// 1 - STBY OUTSIDE
-// 2 - ACCESS GRANTED
-// 3 - QUEST ASSIGNED BY PEETU - talk to Oskari (and others)
+// 2 - ACCESS GRANTED - But Peetu is crying too much
+// 3 - Peetu was calmed down, go talk to Oskari about him
// 4 - Oskari is OK with peetu, but wanna hear from others. He also sends you
// to ask what Peetu happened
// 5 - Adultered ingredients seems the cause, report to Elias
@@ -32,10 +32,96 @@
// Bitwise (BS_QHELPER)
020-7-1,122,27,2 script Peetu NPC_BLUESAGEWORKER_MA,{
+ function pWaiting;
+
+ function pIntro;
+ function pReflection;
+ function pInvestigation;
+ function pComplete;
.@q=getq(NivalisQuest_BlueSage);
- if (.@q < 12)
+ if (.@q <= 4)
npctalk3 any(l("*sob sob*"), l("*crying*"));
- end;
+
+ switch (.@q) {
+ case 2:
+ pIntro();
+ break;
+ case 3:
+ pWaiting("Oskari");
+ break;
+ case 4:
+ pReflection();
+ break;
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ pWaiting("Oskari");
+ break;
+ case 9:
+ pInvestigation();
+ break;
+ case 10:
+ case 11:
+ pWaiting("Blue Sage");
+ break;
+ case 12:
+ pComplete();
+ break;
+ default:
+ warp "Save", 0, 0;
+ percentheal -100, -100;
+ end;
+ break;
+ }
+ close;
+
+// Here we begin
+function pWaiting {
+ .@name$=getarg(0, "##1##BBUG, REPORT ME: PEETU IS WAITING THE FLYING COW##0##b");
+ mesn;
+ mesc l("*sniff sniff*");
+ mesq l("I'm waiting for @@ feedback... Please go talk to them! %%S", .@name$);
+ close;
+}
+
+// Peetu is too upset with failing (yeah, he is that kind of perfectionist here).
+// We should find a way to calm him down.
+function pIntro {
+ mesn;
+ mesc l("*sniff sniff*");
+ mesq l("I'm waiting for ##1##BBUG, REPORT ME: PEETU IS WAITING THE FLYING COW##0##b feedback... Please go talk to them! %%S", .@name$);
+ close;
+}
+
+// Report that Oskari is not planning to fire him (yet), and is trying to understand
+// what went wrong so it do not repeat.
+function pReflection {
+ mesn;
+ mesc l("*sniff sniff*");
+ mesq l("I'm waiting for ##1##BBUG, REPORT ME: PEETU IS WAITING THE FLYING COW##0##b feedback... Please go talk to them! %%S", .@name$);
+ close;
+}
+
+// Peetu hurries back to check what happened. Wait 3 minutes in the library.
+// He'll then say that in fact there was silk cocoon
+function pInvestigation {
+ mesn;
+ mesc l("*sniff sniff*");
+ mesq l("I'm waiting for ##1##BBUG, REPORT ME: PEETU IS WAITING THE FLYING COW##0##b feedback... Please go talk to them! %%S", .@name$);
+ close;
+}
+
+// The crime was "solved"
+function pComplete {
+ mesn;
+ mesq l("Oh, hey, welcome back, @@! Many thanks for helping me!", strcharinfo(0));
+ next;
+ mesn;
+ .@subject$=any(l("town finances"), l("house finances"), l("town damage by monsters"), l("library damage"), l("supply report"), l("magic book"), l("town overview"));
+ mesq l("I'm currently going over some of the household paperwork. Right now I'm inspecting the @@. The work never stops!", .@subject$);
+ close;
+}
OnInit:
.sex=G_MALE;