// 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,
{
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,
"That's right, so move and let me kill that demon behind you.", L_Close;
L_Who:
mes "[Caretaker]";
mes "\"I was once the caretaker of these cemetery grounds, but look at what they have become.";
mes "Now, I 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?", L_WatchCorpse;
L_WatchCorpse:
mes "[Caretaker]";
mes "\"I am bound to this wretched place by the very same spell that was cast to keep the undead from leaving. Until the day that this cemetery is free from its curse, I shall 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's the favor?", L_Favor,
"I'm sure I can, for a price.", L_Favor,
"Sorry, I am busy.", L_Close;
L_Favor:
mes "[Caretaker]";
mes "\"I have not seen my daughter since I was cursed to stay in this cemetery, twenty-five years ago.";
mes "We communicate through letters, now. 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.", L_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 in your inventory.";
next;
if (@menu != 2)
close;
goto L_Location;
L_Location:
mes "[Caretaker]";
mes "\"Her name is Airlia. She works at the town hall in Hurnscald. Thank you for your help.\"";
close;
L_Has_Letter:
mes "[Caretaker]";
mes "\"Have you found my daughter?\"";
next;
menu
"Not yet.", L_Close,
"I'll get there when I get there.", L_Close,
"Where did you say I could find her?", L_Location;
L_Delivered_Letter:
mes "[Caretaker]";
mes "\"Have you found my daughter?\"";
next;
menu
"Yes.", L_Next;
L_Next:
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.", L_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 in your inventory.";
next;
mes "[Caretaker]";
mes "\"Thank you.\"";
close;
L_Close:
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;
}