diff options
Diffstat (limited to 'npc/027-2_Caretakers_House/werewolf.txt')
-rw-r--r-- | npc/027-2_Caretakers_House/werewolf.txt | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/npc/027-2_Caretakers_House/werewolf.txt b/npc/027-2_Caretakers_House/werewolf.txt new file mode 100644 index 00000000..ffde29d9 --- /dev/null +++ b/npc/027-2_Caretakers_House/werewolf.txt @@ -0,0 +1,97 @@ +027-2.gat,118,23,0 script Werewolf 305,{ + set @Graveyard_Inn_MASK, NIBBLE_5_MASK; + set @Graveyard_Inn_SHIFT, NIBBLE_5_SHIFT; + + set @state, ((QUEST_Graveyard_Inn & @Graveyard_Inn_MASK) >> @Graveyard_Inn_SHIFT); + + set @ANIMALBONES_AMOUNT, 30; + set @ANIMALBONES_EXP, 75000; + + if (@state > 1) goto L_Happy; + if (@state == 1) goto L_Bones; + + mes "[Werewolf]"; + mes "\"What a nice place here, isn't it?\""; + next; + mes "\"Just the stuff they call 'food' in here is awful, bah.\""; + if (baselevel < 80) goto L_Close; + next; + mes "\"I like bones from big animals, the best would be with some raw flesh at it. But only the bones are fine too.\""; + next; + mes "\"Can you bring me " + @ANIMALBONES_AMOUNT + " of them?\""; + set @state, 1; + callsub S_Update_Mask; + close; + +L_Bones: + mes "[Werewolf]"; + mes "\"Do you have " + @ANIMALBONES_AMOUNT + " bones of an animal for me?\""; + next; + if ((countitem("Bone") > 0) && (countitem("AnimalBones") >= @ANIMALBONES_AMOUNT)) + menu + "Yes, here they are.",L_Bring, + "What about this normal bone?",L_Human, + "Not yet.",L_Close; + if (countitem("Bone") > 0) + menu + "What about this normal bone?",L_Human, + "Not yet.",L_Close; + if (countitem("AnimalBones") >= @ANIMALBONES_AMOUNT) + menu + "Yes, here they are.",L_Bring, + "Not yet.",L_Close; + menu + "Not yet.",-; + close; + +L_Bring: + if (countitem("AnimalBones") < @ANIMALBONES_AMOUNT) + goto L_Not_Enough; + delitem "AnimalBones", @ANIMALBONES_AMOUNT; + getexp @ANIMALBONES_EXP, 0; + mes "[Werewolf]"; + mes "\"Ah! Wonderful! Thank you.\""; + set @state, 2; + callsub S_Update_Mask; + close; + +L_Human: + mes "[Werewolf]"; + mes "\"What?! That's a humans bone! I don't eat humans. That brings only trouble.\""; + next; + mes "\"Beside of that I heard, they taste is bad.\""; + close; + +L_Not_Enough: + mes "[Werewolf]"; + mes "\"Are you trying to kid me? I do can count.\""; + close; + +L_Happy: + mes "You see the werewolf happily crunching the bones you brought him."; + mes "[Werewolf]"; + mes "\"Delicious. Thanks again.\""; + next; + mes "\"By the way... would you be interested in a little round of black jack?\""; + mes "He pulls a card game out of his pocket."; + next; + mes "[Werewolf]"; + mes "\"You will need TODO: how much? GP.\""; + menu + "Sure, why not?",L_Game, + "No, thanks.",-; + close; + +L_Game: +//TODO: add + close; + +L_Close: + close; + +S_Update_Mask: + set QUEST_Graveyard_Inn, + (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) + | (@state << @Graveyard_Inn_SHIFT); + return; +} |