summaryrefslogtreecommitdiff
path: root/world/map/npc/001-2/troupe_leader.txt
blob: 64eef7b25716973eec2286cc920df75b0dd83f1a (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
//

001-2.gat,34,23,0|script|Troupe Leader|165
{
    callfunc "ClearVariables";

    set @inspector, ((QUEST_Hurnscald & NIBBLE_3_MASK) >> NIBBLE_3_SHIFT);

    if (@inspector == 4) goto L_NohMask_Troupe;
    if (@inspector == 13) goto L_NohMask_Found;

    mes "[Troupe Leader]";
    mes "\"Hello. I'm the leader of a traveling theater troupe. We'll be staying here in Tulimshar for a while.\"";
    goto L_Close;

L_NohMask_Troupe:
    mes "[Troupe Leader]";
    mes "\"Yes, a mask was stolen from us the last night we were in Hurnscald.\"";
    next;
    menu
        "Any ideas on who might have taken it?", L_NohMask_Idea,
        "Are you sure one of your troupe members didn't hide it and commit those robberies?", L_NohMask_Accuse,
        "Hmm...", L_Close;

L_NohMask_Idea:
    set @inspector, 5;
    callsub S_Update_Mask;
    mes "[Troupe Leader]";
    mes "\"Hm...I did see an old man hang out near the theater after our last show.\"";
    goto L_Close;

L_NohMask_Accuse:
    mes "[Troupe Leader]";
    mes "\"I am absolutely positive. None of my troupe have left the city since we got here. Good day!\"";
    goto L_Close;

L_NohMask_Found:
    mes "[Troupe Leader]";
    mes "\"Thank you for finding the mask. You did such a good job, you should keep it.\"";
    getinventorylist;
    if (@inventorylist_count == 100) goto L_NohMask_TooMany;
    mes "[1500 experience points]";
    getexp 1500, 0;
    set @inspector, 14;
    callsub S_Update_Mask;
    getitem "NohMask", 1;
    next;
    mes "[Troupe Leader]";
    mes "\"We don't need it anymore. We're doing different shows here.\"";
    goto L_Close;

L_NohMask_TooMany:
    next;
    mes "[Troupe Leader]";
    mes "\"Except, you don't seem to have any room for it. I'll hold onto it for you until you do have room.\"";
    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;
}