diff options
Diffstat (limited to 'npc/027-2_Caretakers_House')
-rw-r--r-- | npc/027-2_Caretakers_House/_import.txt | 2 | ||||
-rw-r--r-- | npc/027-2_Caretakers_House/diary.txt | 2 | ||||
-rw-r--r-- | npc/027-2_Caretakers_House/husband.txt | 200 | ||||
-rw-r--r-- | npc/027-2_Caretakers_House/innkeeper.txt | 2 | ||||
-rwxr-xr-x | npc/027-2_Caretakers_House/testnpcs.txt | 4 |
5 files changed, 204 insertions, 6 deletions
diff --git a/npc/027-2_Caretakers_House/_import.txt b/npc/027-2_Caretakers_House/_import.txt index 5a78e00e..5ba5f6d5 100644 --- a/npc/027-2_Caretakers_House/_import.txt +++ b/npc/027-2_Caretakers_House/_import.txt @@ -7,7 +7,7 @@ npc: npc/027-2_Caretakers_House/caretaker.txt npc: npc/027-2_Caretakers_House/diary.txt npc: npc/027-2_Caretakers_House/door.txt npc: npc/027-2_Caretakers_House/gy_inn_shops.txt -//npc: npc/027-2_Caretakers_House/husband.txt +npc: npc/027-2_Caretakers_House/husband.txt npc: npc/027-2_Caretakers_House/innkeeper.txt npc: npc/027-2_Caretakers_House/crying_child.txt //npc: npc/027-2_Caretakers_House/lover.txt diff --git a/npc/027-2_Caretakers_House/diary.txt b/npc/027-2_Caretakers_House/diary.txt index f110c9f7..98febebb 100644 --- a/npc/027-2_Caretakers_House/diary.txt +++ b/npc/027-2_Caretakers_House/diary.txt @@ -1,4 +1,4 @@ -027-2.gat,26,97,0 script #Diary 127,1,1,{ +027-2.gat,26,97,0 script #Diary 127, { set @Graveyard_Inn_MASK, NIBBLE_0_MASK; set @Graveyard_Inn_SHIFT, NIBBLE_0_SHIFT; diff --git a/npc/027-2_Caretakers_House/husband.txt b/npc/027-2_Caretakers_House/husband.txt new file mode 100644 index 00000000..7e2e578d --- /dev/null +++ b/npc/027-2_Caretakers_House/husband.txt @@ -0,0 +1,200 @@ +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; +} diff --git a/npc/027-2_Caretakers_House/innkeeper.txt b/npc/027-2_Caretakers_House/innkeeper.txt index 4afe1074..855168bd 100644 --- a/npc/027-2_Caretakers_House/innkeeper.txt +++ b/npc/027-2_Caretakers_House/innkeeper.txt @@ -1,4 +1,6 @@ 027-2.gat,104,39,0 script Reids Ghost 315,{ + +//TODO: add child quest context another way: not helping her child, but finding the bracelet set @Graveyard_Inn_MASK, NIBBLE_0_MASK; set @Graveyard_Inn_SHIFT, NIBBLE_0_SHIFT; diff --git a/npc/027-2_Caretakers_House/testnpcs.txt b/npc/027-2_Caretakers_House/testnpcs.txt index 38f961c3..684bc87f 100755 --- a/npc/027-2_Caretakers_House/testnpcs.txt +++ b/npc/027-2_Caretakers_House/testnpcs.txt @@ -105,7 +105,3 @@ L_3: 027-2.gat,24,77,0 script Headless Man 318,{ end; } - -027-2.gat,22,84,0 script Lantern Man 319,{ - end; -} |