Nightmare pubs may only work in the presence of a living barkeep. The file /std/barkeep.c has been created for you to inherit a monster that has all of the pub functions built inside it. To build a pub, you need only build a room that has a menu of the drinks you want to serve. An example of how to do that is /d/standard/pub.c It is almost exactly like a regular room except that it clones a barkeep and has a function for reading the menu. The barkeep is in /obj/mon/lars.c This is what you have to do for your pub: inherit "std/barkeep"; // this inherits /std/monster You set the regular functions you need to set for building a monster, plus set_menu( ({ "firebreather" }), ({ "alcoholic" }), ({ 25 }) ); This function sets the minimum information a pub needs to get itself working properly. The first argument is an array of names of pub/restaurant items, the second is an array of what type of items they are (food, soft drink, alcohlic). The third is their strength, or healing power. An example of a function that gives a pub more than one drink is: set_menu( ({ "firebreather", "special", "ale" }), ({ "alcoholic", "alcoholic", "alcoholic" }), ({ 25, 15, 3 }) ); This makes the pub sell a drink called a firebreather with a strength of 25, a special, also an alco drink, with a strength of 15, and an ale, an alco drink with a strength of 3 set_currency("gold"); // This sets the currency for your pub No other functions are NECESSARY, but they should be used. ******************************************************************** set_my_mess( ({ "You drink a firebreather.\n", "You drink a special of the house.\n", "You drink some ale.\n" }) ); This function gives a message to the drinker different than the standard message. If you give a message for one drink or food, you have to give a message for all of them. They must match up with the order you put them in set_menu() set_your_mess( ({ "drinks a firebreather.\n", "drinks a special of the house.\n", "drinks some ale.\n", }) ); This function sets the messages given to observers of the player who drinks or eats the item in question set_menu_short( ({ "A firebreather", "A special of the house", "An ale" }) ); This function sets a more interesting short description for the item in question that the capitalized version of its name. set_menu_long( ({ "A firebreather from Lars Pub.\n", "A special of the house from Lars Pub.\n", "A nice pitcher of ale.\n" }) ); This function sets the long description for the drinks. set_empty_container( ({ "shot glass", "shot glass", "pitcher" }) ); This function gives a name for the empty containers of drinks. If you have food and drink, make sure you put a 0 where the food objects are.