summaryrefslogtreecommitdiff
path: root/npc/027-2_Caretakers_House/werewolf.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/027-2_Caretakers_House/werewolf.txt')
-rw-r--r--npc/027-2_Caretakers_House/werewolf.txt97
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;
+}