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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
// Cemetary Caretaker
// TODO: add dialog/code for giving more letters
// Airlia supports receiving an infinate number of letters
027-2.gat,24,25,0|script|Caretaker|159,{
set @hw2011_npc_id, $@hw2011_npc_caretaker;
if (gettime(7) == $@hw2011_year && gettime(6) == 10 && gettime(5) >= $@hw2011_start_day)
goto L_TrickOrTreat;
L_Begin:
if (QUEST_Graveyard_Caretaker == 1) goto L_Return_Dialog;
if (QUEST_Graveyard_Caretaker == 2) goto L_Has_Letter;
if (QUEST_Graveyard_Caretaker == 3) goto L_Delivered_Letter;
if (QUEST_Graveyard_Caretaker == 4) goto L_Give_New_Letter;
if (QUEST_Graveyard_Caretaker == 5) goto L_Has_Letter;
mes "[Caretaker]";
mes "\"...Another adventurer comes to slay the already dead.\"";
next;
menu
"And what are you?", L_Who,
"Thats right, so move and let me kill that demon behind you.", -;
close;
L_Who:
mes "[Caretaker]";
mes "\"I was once the caretaker to these cemetery grounds, but look at what they have become.";
mes "I now care only for my wife. I watch over her... make sure that nobody ever does her harm.\"";
next;
menu
"You guard her corpse day and night?", -;
mes "[Caretaker]";
mes "\"I am bound to this place by the very same spell that was cast to keep the undead from leaving. Until the day that this cemetery is cured of its curse, I remain within these gates.\"";
set QUEST_Graveyard_Caretaker, 1;
close;
L_Return_Dialog:
mes "[Caretaker]";
mes "\"I am somewhat fortunate that adventurers like yourself frequent this place... despite your intentions.";
mes "Perhaps you can do me a favor?\"";
next;
menu
"What is the favor?", L_Favor,
"I'm sure I can, for a price.", L_Favor,
"Sorry, I am busy.", -;
close;
L_Favor:
mes "[Caretaker]";
mes "\"I have not seen my daughter since I was cursed to stay in this cemetery 25 years ago.";
mes "We communicate now through letters. Would you please take this to her?";
mes "I am sure she will compensate you for your trouble.\"";
next;
menu
"I will take it to her.", L_Receive,
"I will help you. Where can I find your daughter?", L_Receive,
"Sorry, but I am too busy.", -;
close;
L_Receive:
set QUEST_Graveyard_Caretaker, 2;
mes "You receive the letter and put it in a special place so it doesn't get lost among your inventory.";
if (@menu == 2)
goto L_Location;
close;
L_Location:
next;
L_Location_Real:
mes "[Caretaker]";
mes "\"Her name is Airlia. She works at the city hall in Hurnscald. Thank you for your help.\"";
close;
L_Has_Letter:
mes "[Caretaker]";
mes "\"Have you found my daughter?\"";
next;
menu
"Not Yet.", -,
"I'll get there when I get there.", -,
"Where did you say I could find her?", L_Location_Real;
close;
L_Delivered_Letter:
mes "[Caretaker]";
mes "\"Have you found my daughter?\"";
next;
menu
"Yes.", -;
mes "[Caretaker]";
mes "\"Thank you for delivering my letter.\"";
set QUEST_Graveyard_Caretaker, 4;
close;
L_Give_New_Letter:
mes "[Caretaker]";
mes "\"I have another letter, if you want to deliver it.\"";
next;
menu
"Sure.", L_Give_New_Letter_Real,
"I'm too busy right now.", -;
close;
L_Give_New_Letter_Real:
set QUEST_Graveyard_Caretaker, 5;
mes "You receive the letter and put it in a special place so it doesn't get lost among your inventory.";
next;
mes "[Caretaker]";
mes "\"Thank you.\"";
close;
OnTimer3000:
monster "027-2.gat", 29, 21, "Caretaker's Wife", 1044, 1, "Caretaker::OnWifeDeath";
stopnpctimer;
setnpctimer 0;
end;
onInit:
monster "027-2.gat", 29, 21, "Caretaker's Wife", 1044, 1, "Caretaker::OnWifeDeath";
end;
OnWifeDeath:
mapannounce "027-2.gat", "NO! YOU KILLED MY WIFE!", 0;
gmcommand "@l I killed the caretaker's wife!";
gmcommand "@ban +5mn " + strcharinfo(0);
initnpctimer;
end;
L_TrickOrTreat:
callfunc "TrickOrTreat2011";
goto L_Begin;
}
|