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 == 4) goto L_News;
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;
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.\"";
next;
L_Jealousy:
mes "[Hamond]";
mes "\"Savaric calls himself the first apprentice of a great wizard and seems to hold his head very high because of that. Pah, that snooty-nosed little upstart.\"";
next;
mes "\"Don't get me wrong, usually I'm a very open minded man, everyone can live their life as ever they like. But I never saw a wizard do anything good. They're in their books and ancient riddles and speaking with demons and whatever they might come up with.\"";
next;
mes "\"But do they care for normal people? I've never seen that. And not only that! This Savaric guy seems to think it is fun to play games with my wife.\"";
next;
mes "Hamond seems to nearly burst of anger.";
next;
mes "\"I guess, they think I don't see what they are doing! But they are flirting all the time, my poor Reid seems not to be able to have a straight thought anymore.\"";
next;
mes "\"I already thought about throwing him out of the inn - but he is a patron! I can't be rude to a patron.\"";
next;
mes "\"Ah, this is annoying.\"";
set @state, 4;
callsub S_Update_Mask;
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_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_News:
mes "TODO: add story";
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;
}