summaryrefslogtreecommitdiff
path: root/npc/008-2-14/doctor.txt
blob: aac419e60ed4911e6efa200d0c2fc7264b1b343e (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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
// Evol scripts.
// Author:
//    gumi
//    The Mana World Project
// Quest states:
//    [1] 0  - cannot do the quest
//    [1] 1  - can do the quest
//    [1] 2  - talked to inspector (1) <= start
//    [1] 3  - talked to old woman (1)
//    [1] 4  - talked to old woman (2)
//    [1] 5  - talked to inspector (2)
//    [1] 6  - talked to troupe leader (1)
//    [1] 7  - talked to inspector (3)
//    [1] 8  - talked to old man
//    [1] 9  - talked to old woman (3)
//    [1] 10 - talked to inspector (4)
//    [1] 11 - talked to old woman (4)
//    [1] 12 - talked to malek
//    [1] 13 - searched the bookcase
//    [1] 14 - talked to inspector (5)
//    [1] 15 - talked to troupe leader (2) <= reward
//    [1] 16 - talked to inspector (6) <= reward, end
//    [2] unused
//    [3] unused
//    [t] unused
// Description:
//    The crazy Hurnscald Doctor.

008-2-14,27,27,0	script	Doctor	NPC_DOCTOR_LEGACY,{
    function doctorAxeHat;
    function doctorEyePatch;

    if (getequipid(EQI_HEAD_TOP) == AxeHat)
        doctorAxeHat();
    if (getequipid(EQI_ACC_R) == Eyepatch)
        doctorEyePatch();

    speech(4,
        l("Hello, can I help you?"));

    selectd(
        l("I think I am sick!"),
        l("No, I feel fine."),
        rif(getq(.quest_inspector) == 2, l("Have you seen anything strange in town? Anything that might have to do with the robberies?")));

    switch (@menu)
    {
    case 1:
        narrator(4,
            l("The doctor examines you briefly."));
        // TODO: check for poison or other status conditions currently in use
        speech(
            l("Nonsense!"),
            l("You look fine and dandy to me."),
            l("All you need is a bit more exercise and fresh fruit in your diet!"));
        close;
    case 2:
        speech(
            l("Then please stop wasting my precious time."));
        close;
    case 3:
        speech(
            l("No, I haven't seen anything."));
        close;
    }
    end;

function doctorAxeHat {
    mesn;
    mesq l("Oh my, what happened to you?");
    next;
    mesn;
    mesq l("Wait. Thats just a fake. Shame on you!");
    next;
    mesn;
    mesq l("Anyway...");
    next;
    return;
}

function doctorEyePatch {
    mesn;
    mesq l("Would you like a glass eye to replace that eye patch you have? We just got a whole load of them in today. I'll even let you keep the patch as a souvenir.");
    next;
    select
        l("No, thank you."),
        l("Yes, please.");
    mes "";
    if (@menu == 1) {
        mesn;
        mesq l("If you change your mind, just say the word. Anyway...");
        next;
        return;
    }
    mesn;
    mesq l("Now, where did I put that box of eyes...");
    next;
    mesn;
    mesc l("He goes off to look for them and comes back empty handed.");
    mesq l("I can't seem to find where I put that box. You should come back later, I may have found them by then.");
    next;
    mesn;
    mesq l("Anyway...");
    next;
    return;
}


OnInit:
    .quest_inspector = HurnscaldQuests_Inspector;
    .quest_debug = .quest_inspector;
    .distance = 3;
    end;
}