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;
}
|