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