027-2.gat,22,84,0 script Hamond 319,{
set @Graveyard_Inn_MASK, NIBBLE_3_MASK;
set @Graveyard_Inn_SHIFT, NIBBLE_3_SHIFT;
set @state, ((QUEST_Graveyard_Inn & @Graveyard_Inn_MASK) >> @Graveyard_Inn_SHIFT);
set @Graveyard_Inn_Woman_MASK, NIBBLE_0_MASK;
set @Graveyard_Inn_Woman_SHIFT, NIBBLE_0_SHIFT;
set @woman, ((QUEST_Graveyard_Inn & @Graveyard_Inn_Woman_MASK) >> @Graveyard_Inn_Woman_SHIFT);
set @Graveyard_Inn_Kid_MASK, NIBBLE_2_MASK;
set @Graveyard_Inn_Kid_SHIFT, NIBBLE_2_SHIFT;
set @kidstate, ((QUEST_Graveyard_Inn & @Graveyard_Inn_Kid_MASK) >> @Graveyard_Inn_Kid_SHIFT);
//TODO: determine sane values
set @ICE_CUBE_AMOUNT, 100;
set @ICE_CUBE_EXP, 10000;
//TODO: determine sane values
set @BONE_AMOUNT, 100;
set @SKULL_AMOUNT, 50;
set @BONE_EXP, 30000;
if (@state == 3) goto L_Brought_Bones;
if (@state == 2) goto L_Check_Bones;
if (@state == 1) goto L_Ice_Cube;
mes "[Pale Man]";
mes "\"Hello, I hope you're enjoying your time in Reid's Inn. My name is Hamond, and I'm running this inn together with my beautiful wife Reid. If there is anything I can do for you, please let me know.\"";
if (baselevel < 85) goto L_Close;
next;
menu
"I'd like to know why all the people in here are dead.",-,
"Are you feeling well? You look very pale... In fact, deathly pale.",-,
"Thank you, but I'm fine.", L_Close;
mes "Hamond seems very confused. Then he notices the grey color of his hands and begins to shake his head in panic.";
mes "[Hamond]";
mes "\"WHAT IS THIS?\"";
next;
//TODO: ask a native speaker if this is understandable
mes "Because of the fast movement of his head, it hinges back in his neck along a cut in his throat, a deep cut you haven't seen before.";
next;
mes "You're trying hard not to run away screaming. Instead, you grab his hair and pull his head back in place.";
next;
mes "Hamond blinks a few times, with a puzzled look on his face.";
mes "[Hamond]";
mes "\"That was uncomfortable! I guess you are right. I am dead. Weird.\"";
next;
mes "\"How can I be dead, if I am walking around and talking? This is very strange. \"";
next;
mes "\"But nevertheless, I will continue to run this inn and do my best to make all our patrons happy and satisfied - be they alive or dead.\"";
next;
menu
"Can I help with that?", -;
mes "[Hamond]";
mes "\"Help me? I would never ask you for this, but actually, I need something to cool the drinks. Maybe you can find something.\"";
set @state, 1;
callsub S_Update_Mask;
close;
L_Ice_Cube:
mes "[Hamond]";
mes "\"Hello my friend! Good to see you again. Did you find something to cool the drinks?\"";
next;
if ((@kidstate == 4) && countitem("IceCube") > 0)
menu
"Maybe this never melting Ice Cubes?", L_Check_Ice,
"I found this in the main hall. Do you know to whom it belongs?", L_Bracelet,
"I'm still searching.", L_Close;
if (@kidstate == 4)
menu
"I found this in the main hall. Do you know to whom it belongs?", L_Bracelet,
"I'm still searching.", L_Close;
if (countitem("IceCube") > 0)
menu
"Maybe this never melting Ice Cubes?", L_Check_Ice,
"I'm still searching.", L_Close;
mes "\"You didn't? Too bad.\"";
close;
L_Check_Ice:
if (countitem("IceCube") < @ICE_CUBE_AMOUNT)
goto L_Not_Enough_Cubes;
delitem "IceCube", @ICE_CUBE_AMOUNT;
getexp @ICE_CUBE_EXP, 0;
set @state, 2;
callsub S_Update_Mask;
mes "[Hamond]";
mes "\"Yes, wonderfull! That's exactly what I need.\"";
next;
mes "\"I put all my effort in making this inn a well running place for my beloved Reid.\"";
next;
mes "\"You know, she had a very hard childhood.\"";
next;
mes "\"Her parents were the former owners of the inn. But they had some problems and the inn wasn't running well.\"";
next;
mes "\"Also they died very early and Reid was so lonely and sad. She is such a wonderful woman, I'd do everything for her.\"";
next;
mes "He is mumbling to himself the next sentence.";
next;
mes "\"And I won't let a wannabe mage take her away from me...\"";
next;
menu
"What do you mean?",-;
mes "[Hamond]";
mes "\"Nevermind, nevermind. I'd like to ask you for another favor, if I might.\"";
next;
mes "\"A patron asked for - uhm, bones. He said he need it to replace some of his bones, which were damaged in a scuffle with mortals.\"";
next;
mes "\"I know, this is a bit strange - I'm still getting used to being dead. But a patron's wish is a patron's wish!\"";
next;
mes "\"Can you bring me a huge amount of bones and skulls? This way I can fulfill that peculilar wish and make another patron very happy!\"";
close;
L_Check_Bones:
mes "[Hamond]";
mes "\"Welcome back! Let me see what you have.\"";
if ((countitem("Bone") < @BONE_AMOUNT) || (countitem("Skull") < @SKULL_AMOUNT))
goto L_Not_Enough_B;
delitem "Bone", @BONE_AMOUNT;
delitem "Skull", @SKULL_AMOUNT;
getexp @BONE_EXP, 0;
set @state, 3;
callsub S_Update_Mask;
L_Brought_Bones:
mes "[Hamond]";
mes "\"Thanks for your help! Now I'll be able to satisfy another strange request from one of our patrons.\"";
next;
if ((@kidstate == 4) && (@woman > 5))
menu
"Would you tell me about this mage named Savaric?", L_Savaric,
"I found this in the main hall. Do you know to whom it belongs?", L_Bracelet,
"You're welcome.", L_Close;
if (@kidstate == 4)
menu
"I found this in the main hall. Do you know to whom it belongs?", L_Bracelet,
"You're welcome.", L_Close;
if (@woman > 5)
menu
"Would you tell me about this mage named Savaric?", L_Savaric,
"You're welcome.",-;
mes "[Hamond]";
mes "\"Please make yourself at home.\"";
close;
L_Savaric:
mes "Hamond's face turns into an ugly grimace.";
mes "[Hamond]";
mes "\"This egomaniac cheekily - \"";
next;
if ((Sex == 0) && (@kidstate < 7)) goto L_Woman;
if ((Sex == 1) && (@kidstate < 7)) goto L_Man;
mes "\"Well, I have been thinking about you. You seem to be a very helpful and wise person. Even my son told me good things about you, making a long speech about how great you are and your ability to comprehend and deal with delicate matters. I wonder how he reached that conclusion... But anyway, I'll tell you about Savaric.\"";
L_Jealousy:
mes "TODO: add story :P";
close;
L_Man:
mes "[Hamond]";
mes "\"You're a man - I think you would understand what is happening to me.\"";
mes "\"But, to be honest, I think I will only be able to talk about such a complicated matter if I am sure I am sharing my feelings with a good, wise and understanding person. No offense, it is just that I barely know you...\"";
close;
L_Woman:
mes "[Hamond]";
mes "\"Hrm - I don't think you'll understand. It is a problem between men.\"";
next;
mes "\"And, to be honest, I will only be able to talk about such a complicated matter if I am sure I am sharing my feelings with a good, wise and understanding person. No offense, it is just that I barely know you...\"";
close;
//L_Helped_Kid:
// mes "[Hamond]";
// mes "\"It was very nice of you to help my son. He told me, you found something he lost. I think, I can tell you about Savaric.\"";
// goto L_Jealousy;
L_Bracelet:
mes "[Hamond]";
mes "\"Well.. this is just a cheap bracelet, it is very popular with the young kids these days, specially the magic students. They call it 'Scarab Armlet'. Fancy name, huh? But for me it is just a cheap bracelet.\"";
next;
mes "\"They also say it increases 'magic atack'. But, in fact, I think these kids are delusional. Magic, pah.\"";
next;
mes "\"Anyway, you can easily find one of these in a lot of small shops in this town. I am pretty sure that whoever lost it won't bother coming all the way back to get it.\"";
set @kidstate, 5;
callsub S_Update_Mask_Kid;
close;
L_Not_Enough_B:
if (countitem("Bone") < @BONE_AMOUNT)
mes "\"I'm not sure, but I think more bones will be better.\"";
if (countitem("Skull") < @SKULL_AMOUNT)
mes "\"Maybe you should bring more skulls. It is not enough.\"";
close;
L_Not_Enough_Cubes:
mes "[Hamond]";
mes "\"Yes, they look good! But I think I need more of them. Maybe " + @ICE_CUBE_AMOUNT + "?\"";
close;
L_Close:
close;
S_Update_Mask_Kid:
set QUEST_Graveyard_Inn,
(QUEST_Graveyard_Inn & ~(@Graveyard_Inn_Kid_MASK))
| (@kidstate << @Graveyard_Inn_Kid_SHIFT);
return;
S_Update_Mask:
set QUEST_Graveyard_Inn,
(QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK))
| (@state << @Graveyard_Inn_SHIFT);
return;
}