//////////////////////////////////////////////////////////////////////// // 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.