summaryrefslogblamecommitdiff
path: root/npc/027-2_Caretakers_House/werewolf.txt
blob: ffde29d9a449666ed749d52f8364cf1f6ba5fd40 (plain) (tree)
































































































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