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