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); //TODO: find out, why this don't work set @Graveyard_Inn_Woman_MASK, NIBBLE_0_MASK; set @Graveyard_Inn_Woman_SHIFT, NIBBLE_0_SHIFT; set @woman, ((QUEST_Graveyard_Inn & @Graveyard_Inn_MASK_Woman) >> @Graveyard_Inn_SHIFT_Woman); //TODO: determine correct nibble 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) && (sex == 0) && (@kidstate >= 5)) goto L_Helped_Kid; //TODO: determine right value of kidstate 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 Reids 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, better to say - 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 begans 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 rapid movement of his head, it snaps back in his neck along a cut in his throat 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 his eyes with a puzzled look on his face."; mes "[Hamond]"; mes "\"This was uncomfortable! It seems, you are right. I am dead. Weird.\""; next; mes "\"How can I be dead, but 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 happy all our patrons - may they be alive or dead.\""; next; menu "Can I help with that?", -; mes "[Hamond]"; mes "\"Helping me? I never would have asked, 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 (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; 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 patrons wish is a patrons wish!\""; next; mes "\"Maybe you can bring me a huge amount of bones and skulls, so I can fulfill those wishes in future?\""; 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; set @state, 3; callsub S_Update_Mask; L_Brought_Bones: mes "[Hamond]"; mes "\"Thanks for your help! Now I'll be able to satisfy our patrons wishes.\""; next; mes "TODO: remove, debug: @woman =" + @woman; if (@woman > 5) menu "Would you tell me about this mage named Savaric?", L_Savaric, "Your welcome.",-; mes "[Hamond]"; mes "\"Please make yourself at home.\""; close; L_Savaric: mes "Hamonds face turns into an ugly grimace."; mes "[Hamond]"; mes "\"This egomaniac cheekily - \""; next; if (Sex == 1) goto L_Man; //TODO: think, if gender change should be checked //TODO: determine correct value for kidstate if ((Sex == 0) && (@kidstate < 5)) goto L_Woman; mes "\"Hrm - I don't think, you'll understand. It is something between men.\""; next; mes "\"Although you're a woman, it was very nice of you to help my son. I'll tell you nevertheless.\""; L_Jealousy: //TODO: go on here mes "TODO: add story :P"; close; L_Man: mes "[Hamond]"; mes "\"You're a man - I think you will understand what I'm going to tell you.\""; goto L_Jealousy; L_Woman: mes "[Hamond]"; mes "\"Hrm - I don't think, you'll understand. It is something between men.\""; next; mes "\"Maybe if you show me, you're a understanding person.\""; close; L_Helped_Kid: mes "[Hamond]"; mes "\"It was very nice of you to help my son. I think, I can tell you about Savaric.\""; goto L_Jealousy; 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 "\"That are not enough skulls.\""; 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: set QUEST_Graveyard_Inn, (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) | (@state << @Graveyard_Inn_SHIFT); return; }