// Temporary placing of all non shop npcs
// A proper break down of files will need to be done later
// drunk lover: quest,
// werewolf: gambling,
// chef's helper: simple dialog,
// horn mage: golbenez,
// drunker: simple dialog,
// barman: crafting related,
// swordguy: weapon master,
// ghost from dead drunk: simple dialog,
// crying child: I don't know,
// Innkeeper's ghost: quest,
// evil guard: simple dialog,
// hangman: quest,
// headless: quest or simple dialog,
// lightman: quest,
027-2.gat,80,34,0 script Drunk Lover 303,{
mes "You see a man and a woman holding each other very tight.";
next;
mes "They are kissing and whispering things to each other you can't hear.";
next;
mes "Now the woman giggles. They don't notice you.";
next;
mes "Maybe it's better not to bother them.";
close;
}
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.\"";
close;
L_Close:
close;
S_Update_Mask:
set QUEST_Graveyard_Inn,
(QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK))
| (@state << @Graveyard_Inn_SHIFT);
return;
}
027-2.gat,110,30,0 script Debug 305,{
set @Graveyard_Inn_Woman_MASK, NIBBLE_0_MASK;
set @Graveyard_Inn_Woman_SHIFT, NIBBLE_0_SHIFT;
set @woman, ((QUEST_Graveyard_Inn & @Graveyard_Inn_Woman_MASK) >> @Graveyard_Inn_Woman_SHIFT);
set @Graveyard_Inn_Lover_MASK, NIBBLE_1_MASK;
set @Graveyard_Inn_Lover_SHIFT, NIBBLE_1_SHIFT;
set @Lover, ((QUEST_Graveyard_Inn & @Graveyard_Inn_Lover_MASK) >> @Graveyard_Inn_Lover_SHIFT);
set @Graveyard_Inn_Child_MASK, NIBBLE_2_MASK;
set @Graveyard_Inn_Child_SHIFT, NIBBLE_2_SHIFT;
set @Child, ((QUEST_Graveyard_Inn & @Graveyard_Inn_Child_MASK) >> @Graveyard_Inn_Child_SHIFT);
set @Graveyard_Inn_Husband_MASK, NIBBLE_3_MASK;
set @Graveyard_Inn_Husband_SHIFT, NIBBLE_3_SHIFT;
set @Husband, ((QUEST_Graveyard_Inn & @Graveyard_Inn_Husband_MASK) >> @Graveyard_Inn_Husband_SHIFT);
set @Graveyard_Inn_Golb_MASK, NIBBLE_4_MASK;
set @Graveyard_Inn_Golb_SHIFT, NIBBLE_4_SHIFT;
set @Golb, ((QUEST_Graveyard_Inn & @Graveyard_Inn_Golb_MASK) >> @Graveyard_Inn_Golb_SHIFT);
mes "debug for the lovetriangle quest";
menu
"reset all",-,
"reset reid " + @woman,L_Reid,
"reset lover " + @Lover,L_Lover,
"reset child " + @Child,L_Child,
"reset husband " + @Husband,L_Husband,
"reset golbanez " + @Golb,L_Golb,
"leave", L_Close;
set QUEST_Graveyard_Inn, 0;
close;
L_Reid:
set @woman, 0;
callsub S_Update_Mask_Woman;
close;
L_Lover:
set @Lover, 0;
callsub S_Update_Mask_Lover;
close;
L_Child:
set @Child, 0;
callsub S_Update_Mask_Child;
close;
L_Husband:
set @Husband, 0;
callsub S_Update_Mask_Husband;
close;
L_Golb:
set @Golb, 0;
callsub S_Update_Mask_Golb;
close;
L_Close:
close;
S_Update_Mask_Golb:
set QUEST_Graveyard_Inn,
(QUEST_Graveyard_Inn & ~(@Graveyard_Inn_Golb_MASK))
| (@Golb << @Graveyard_Inn_Golb_SHIFT);
return;
S_Update_Mask_Husband:
set QUEST_Graveyard_Inn,
(QUEST_Graveyard_Inn & ~(@Graveyard_Inn_Husband_MASK))
| (@Husband << @Graveyard_Inn_Husband_SHIFT);
return;
S_Update_Mask_Child:
set QUEST_Graveyard_Inn,
(QUEST_Graveyard_Inn & ~(@Graveyard_Inn_Child_MASK))
| (@Child << @Graveyard_Inn_Child_SHIFT);
return;
S_Update_Mask_Lover:
set QUEST_Graveyard_Inn,
(QUEST_Graveyard_Inn & ~(@Graveyard_Inn_Lover_MASK))
| (@Lover << @Graveyard_Inn_Lover_SHIFT);
return;
S_Update_Mask_Woman:
set QUEST_Graveyard_Inn,
(QUEST_Graveyard_Inn & ~(@Graveyard_Inn_Woman_MASK))
| (@woman << @Graveyard_Inn_Woman_SHIFT);
return;
}
027-2.gat,75,29,0 script Archibald 306,{
end;
}
027-2.gat,77,40,0 script Drunker 308,{
set @drunker, rand(4);
if (@drunker == 0) goto L_0;
if (@drunker == 1) goto L_1;
if (@drunker == 2) goto L_2;
if (@drunker == 3) goto L_3;
end;
L_0:
mes "[Ghost Drunker]";
mes "\"zzzZZZzzz...\"";
close;
L_1:
mes "[Ghost Drunker]";
mes "\"Ish that a Zzombee?...\"";
close;
L_2:
mes "[Ghost Drunker]";
mes "\"Auuu... Hiccup... Don't byte mee... \"";
close;
L_3:
mes "[Ghost Drunker]";
mes "\"Moar Bearr...Pleash!\"";
close;
}
027-2.gat,103,22,0 script Barman 310,{
end;
}
027-2.gat,70,77,0 script Cerhan 311,{
end;
}
027-2.gat,110,23,0 script Ghost Drunker 312,{
mes "[Ghost Drunker]";
mes "\"Ohh... My head is killing me! I have to stop "
+ "drinking too much or I will lose my job... But "
+ "being a waiter... oh I can't resist a drink or two!\"";
close;
}
027-2.gat,24,77,0 script Headless Man 318,{
end;
}