Tavern system

Overview
Klingon Mages' NRS Tavern System will implement a variety of important tavern functions automatically, and will be suitable for use in single-player, multiplayer session-based, and persistent world applications. Features currently planned and in progress are:


 * 1) A system that allows different "casts of characters" to be present in the tavern's common room depending upon the time of day.
 * 2) A simplified room-rental system allowing rooms to be rented for the night or by the week.
 * 3) Waitress and Bartender scripting that allows a merchant GUI to open directly from the conversation with waitress or bartender.
 * 4) This is the initial functionality. An option that allows the waitress to "take the order", walk to the bar to "collect" it, and return to "deliver" it, is also planned but is not a top priority at this time.
 * 5) Plenty of ambient animations

Critical to the value of this system is that it should not be TIED DOWN to a particular area. The module builder must be able to simply import the .erf and apply the scripts and NPC's to whichever area he or she desires.

Technical Plan

 * The main area, which comprises the tavern main floor with common room. The rental rooms can either be in a separate "upstairs" area or on the same main floor, provided all the rental rooms are present with appropriately-tagged locked doors on each.
 * The doors will be tagged with a coded tag that indicates the system (nrs_tavern_room_) and the room number. The corresponding keys need to also be created and tagged to match (nrs_tavern_room_ plus room number).  Thus, door and key will always have the same tag.
 * The special object "nrs_keybox" will contain all the keys
 * There is no upper limit, technically, to how many rooms there can be.
 * Room quality (and appropriate price) will be features of the KEY not the ROOM. Thus, the value assigned to the KEY determines the room price.  The key's name and description will identify for the player and, thus, the rooms are "sold" via a standard merchant GUI.  This will reduce the need for special scripting.
 * A set of special, inaccessible (except to DMs) areas where the different shifts' "personnel" are when not "on stage" in the tavern. The DM or module designer can thereby set up the cast any way he or she chooses, provided the NPCs are tagged properly.  They will be spawned in where they should be, when they should be, automatically.
 * Tags to be used are nrs_tavern_bartender, nrs_tavern_waitress, nrs_tavern_regular, and nrs_tavern_irregular
 * Irregulars will have special handling in the script that transfers them from the "waiting" area to the "onstage" area. There will be a "die roll" determining their appearance on stage.  This random probability will be adjustable from NPC to NPC.

Goals

 * 1) The system must be easily portable from area to area
 * 2) The system must be easy to understand and modify to taste
 * 3) The system must be very flexible.