summaryrefslogtreecommitdiff
path: root/world/map/npc/009-1/old_woman.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/009-1/old_woman.txt')
-rw-r--r--world/map/npc/009-1/old_woman.txt58
1 files changed, 39 insertions, 19 deletions
diff --git a/world/map/npc/009-1/old_woman.txt b/world/map/npc/009-1/old_woman.txt
index abca82c4..fbd0e7aa 100644
--- a/world/map/npc/009-1/old_woman.txt
+++ b/world/map/npc/009-1/old_woman.txt
@@ -1,68 +1,88 @@
// Old woman
009-1.gat,29,43,0|script|Old Woman|154,{
+ callfunc "ClearVariables";
+
+ set @inspector, ((QUEST_Hurnscald & NIBBLE_3_MASK) >> NIBBLE_3_SHIFT);
+
if (BaseLevel < 40) goto L_Lower;
mes "[Old Woman]";
mes "\"Hello deary.\"";
next;
-
-L_Continue:
- if ((Inspector >= 1 && Inspector <= 7) || Inspector == 9) goto L_NohMask;
- close;
+ goto L_Continue;
L_Lower:
mes "[Old Woman]";
mes "\"Watch out for these flowers. They don't like to be messed with.\"";
next;
- goto L_Continue;
+
+L_Continue:
+ if ((@inspector >= 1 && @inspector <= 7) || @inspector == 9)
+ goto L_NohMask;
+ goto L_Close;
L_NohMask:
- if (Inspector == 7) goto L_NohMask_Alibi;
+ if (@inspector == 7)
+ goto L_NohMask_Alibi;
callfunc "ProcessEquip";
if (@torsoC == cDarkBlue && @legsC == cDarkBlue)
goto L_NohMask_Fake;
- if (Inspector >= 3 && Inspector <= 6) close;
+ if (@inspector >= 3 && @inspector <= 6)
+ goto L_Close;
menu
"Have you seen anything strange lately?", L_NohMask_FirstAsk,
"Do you know anything about the recent robberies?", L_NohMask_FirstAsk,
- "Hello", -;
- close;
+ "Hello", L_Close;
L_NohMask_FirstAsk:
mes "[Old Woman]";
mes "\"Yes, but I'm only talking to the inspector himself!\"";
- if (Inspector == 1) set Inspector, 2;
- close;
+ if (@inspector != 1)
+ goto L_Close;
+ set @inspector, 2;
+ callsub S_Update_Mask;
+ goto L_Close;
L_NohMask_Alibi:
menu
"Was your husband with you at home all night the last night that the troupe was in town?", -;
mes "[Old Woman]";
mes "\"Yes, we were both at home all night.\"";
- set Inspector, 8;
- close;
+ set @inspector, 8;
+ callsub S_Update_Mask;
+ goto L_Close;
L_NohMask_Fake:
- if (Inspector == 9) goto L_NohMask_Fake_Satchel;
- if (Inspector >= 3 && Inspector <= 6) goto L_NohMask_Filler;
+ if (@inspector == 9) goto L_NohMask_Fake_Satchel;
+ if (@inspector >= 3 && @inspector <= 6) goto L_NohMask_Filler;
mes "[Old Woman]";
mes "\"I saw someone sneaking around town wearing a theater mask. It looked like one of the masks used by the troupe that was in town recently.\"";
- set Inspector, 3;
- close;
+ set @inspector, 3;
+ callsub S_Update_Mask;
+ goto L_Close;
L_NohMask_Filler:
mes "[Old Woman]";
mes "\"I hope you catch that naughty person!\"";
- close;
+ goto L_Close;
L_NohMask_Fake_Satchel:
mes "[Old Woman]";
mes "\"I've remembered something else. The night the troupe left, I saw someone with a theater mask take a large satchel out of town. He was heading north.\"";
- set Inspector, 10;
+ set @inspector, 10;
+ callsub S_Update_Mask;
+ goto L_Close;
+
+L_Close:
+ set @inspector, 0;
close;
+S_Update_Mask:
+ set QUEST_Hurnscald, (QUEST_Hurnscald & ~(NIBBLE_3_MASK)) | (@inspector << NIBBLE_3_SHIFT);
+ return;
+
OnPCDieEvent:
if (countitem(E10_TOKEN_ID) < 1) end;
delitem E10_TOKEN_ID, 1;