summaryrefslogtreecommitdiff
path: root/world/map/npc/009-1/old_woman.txt
blob: fbd0e7aa01141f0dba7b9be33d284e5a1065f470 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// 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;
    goto L_Continue;

L_Lower:
    mes "[Old Woman]";
    mes "\"Watch out for these flowers. They don't like to be messed with.\"";
    next;

L_Continue:
    if ((@inspector >= 1  && @inspector <= 7) || @inspector == 9)
        goto L_NohMask;
    goto L_Close;

L_NohMask:
    if (@inspector == 7)
        goto L_NohMask_Alibi;
    callfunc "ProcessEquip";
    if (@torsoC == cDarkBlue && @legsC == cDarkBlue)
        goto L_NohMask_Fake;
    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", L_Close;

L_NohMask_FirstAsk:
    mes "[Old Woman]";
    mes "\"Yes, but I'm only talking to the inspector himself!\"";
    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;
    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;

    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;
    callsub S_Update_Mask;
    goto L_Close;

L_NohMask_Filler:
    mes "[Old Woman]";
    mes "\"I hope you catch that naughty person!\"";
    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;
    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;
    getitem "DarkPetal", 1;
    message strcharinfo(0), "As you fall, the dark rose crumbles...";
    if ((Easter_2010_QuestState >> E10_STATE_ROSE_SHIFT) & E10_STATE_ROSE_MASK >= E10_STATE_ROSE_ROSE_USED) end;
    message strcharinfo(0), "There is a strange feeling pulling at you. A place... unfamiliar, yet unavoidable.";
    message strcharinfo(0), "But you do not move... the force is too distant, too weak, a shadow of the power that it might have once been.";
    set Easter_2010_QuestState, (Easter_2010_QuestState & ~(E10_STATE_ROSE_MASK << E10_STATE_ROSE_SHIFT)) | (E10_STATE_ROSE_ROSE_USED << E10_STATE_ROSE_SHIFT);
    end;
}