////////////////////////////////////////////////////////////////////////
// POWDER Rooms
////////////////////////////////////////////////////////////////////////

    This is the definition of the .map file format as used in POWDER.

////////////////////////////////////////////////////////////////////////
// Format
////////////////////////////////////////////////////////////////////////

    A .map file consists of:

    1) Lines starting with "# ".  These are comments and are ignored.
    
    2) An ascii map.  This is a + followed by W -s, and then another +.

       Each successive H lines must consist of | followed by W
       printable characters, followed by a terminating |.
       
       After H lines, a line consisting of +, W -s, and a final + must
       occur.

       This will define a W x H room.
    
    3) A legend entry.  This is any printable character followed by a :
       After the : should a series of comma seperated attributes
       defining what the printable character should represent.  Any
       instance of the character in the map will be replaced by these
       attributes.  A given legend entry does not have to appear in
       the map, but every character in the map must have a legend
       entry.

    4) A global definition.  This is the name of some global variable
       followed by =, and then followed by the value.  The global
       variable for this map will get the value to the right of the =.
       Global variables have default values so do not have to be
       specified.

////////////////////////////////////////////////////////////////////////
// Attributes
////////////////////////////////////////////////////////////////////////

    Attributes are in ALL CAPS.

    Attributes have a TYPE followed by an _ followed by the specific
    name.

    The attribute names correspond to those generated by source.txt.

    Valid types are:

    SQUARE
	This is a floor tile.  It is a mandatory attribute, and there
	can only be one.

    SQUAREFLAG
	This is a flag for the tile.  Often it is set to
	SQUAREFLAG_LIT to specify a lit map square.
	
    MOB
	This creates the specified creature.

    MOBLEVEL
	This creates a creature of a given level range, depending on
	the threat level of the dungeon the room is in.

    ITEM
	This creates the specified item.
	
    ITEMTYPE
	This creates a random item of the given type.  To create an
	entirely random item, use ITEMTYPE_ANY.

    INTRINSIC
	This will set the given intrinsic to any MOBs also on this
	square.  For example, INTRINSIC_ASLEEP will ensure the MOB
	starts off asleep.

////////////////////////////////////////////////////////////////////////
// Global Variables
////////////////////////////////////////////////////////////////////////

    Valid global variables are:

    minlevel
	Defaults to -1, for no limit.

	The room will not be created if the dungeon level is less than
	this.

    maxlevel	
	Defaults to -1, for no limit.

	The room will not be created if the dungeon level is greater
	than this.

    rarity
	Defaults to 100 for normal.

	This affects how often the map will show up.  Lower numbers is
	rarer.  0 will prevent it from being generated.

    mandatory
	Defaults to false.

	This controls whether the room MUST show up on at least one
	level.  Not yet implemented.

    onlyonce
	Defaults to false.

	This controls whether the room show up at MOST once.  Not yet
	implemented.

    allowstairs
	Defaults to true.

	This controls whether staircases can be built in the room.
	Rooms with big nasties (like zoos) or from which their may be
	no exit, should not get stairs.

    allowgeneration
	Defaults to true

	Determines if a map containing this room is allowed to have monster
	generation

    allowdig
	Defaults to true

	Determines if one is allowed to dig down in levels with this map.

    quest
	Whose quest this is.  Defaults to GOD_NONE.

	Determines which god's quest this is map is attached to.

    pos
	Defaults to -1, for no location

	Creates the room at the given X Y coordinates.
    
