.SH Rooms .LP Any item within the game can be made into a room. A room adds a set of rules and properties to the basic item structure. To make something into a room you do 'beroom <itemname>'. To get rid of its room properties you do 'unroom <itemname>'. To view the values type 'showroom <itemname>'. .LP A room has the following properties .LP .IP "Short Description:" 25 A one line room description used for brief room descriptions. This is set by doing .I setshort <item> <text>. .IP "Long Description:" 25 A long description text. This text may be merged with other texts in ways controlled by the flags. This is set by using .I setlong <item> <text> . If text begins with a * it is assumed to be a file you wish to read in. If text is blank the current text is provided for editing. To blank a description use */dev/null. (Yes I know its a hack). .IP Flags: 25 A set of optional behaviour modifiers for the room. These are set with .I setrflag <room> <flags> . To clear a flag use -<flagname> .IP Picture: 25 Do not use - an obsolete field. More on graphics later in the BSX section. .LP The flags are: .LP .IP Dark: 16 Without a light source nothing can be seen. .IP Outside: 16 Subject to weather. This is now provided only for use by the database. All builtin weather code is removed. .IP Death: 16 The room causes death on entry. This is kicking off and not losing any points. Its meant for cases where people go stupid directions (like over a waterfall), and you just want to display some text and finish. All the users belongings also conveniently end up lost in the death flagged room. .IP Merge: 16 The room description will be merged with the description of the contents of this room if its join flag is set. .IP Join: 16 See above. An example probably makes this clearer - if you had a boat you could set it to merge and its description to 'You are in a boat.' If you set the join flag on the locations the boat floats around then you will see the rooms out of the boat. .IP DropEMsg: 16 As we will see shortly it is possible to have a message appear as you move from location to location. If this flag is set and such a message is printed the normal description is not displayed. .LP Being a room gives other basic properties. A room will be described, complete with its contents all nicely formatted up, using simple database facilities. A room has no size - it is assumed to be of infinite capacity. If you want a room to be size limited you need to make it a container - as we shall see later. .LP The room flags can be listed with listrflags, and named with .I namerflag <number> <name> . At the moment the other room flags are free but they may be used by the system in later releases. Any user added room flags should start at the last one and work backwards. .SP 1 .SH Exits .LP While exits are associated with rooms they can be attached to anything. There are three types of exit within the AberMUD5 system. The first is the simple exit. Simple exits are created by doing .I newexit from_item direction to_item . .br e.g. .br newexit Big Hall east Side Passage .LP A simple exit can be made to an object or to a room. In the normal form the exit is to a room. In these cases anything moving in that direction travels from the one room to the other. If the exit is to an object, the object is assumed to be a door. In this case movement through the exit is only possible if the object is in state 0 (open). Anything moving through such an exit is moved to the item containing the door. Such exits are removed by doing .I delexit <fromrom> <direction>. All other types of exit are removed in this fashion too. .LP A message exit displays some text as the player travels in that direction. A typical use might be a chute which displays 'You hurtle wildly down the chute and come crashing to a halt in a cloud of thick dust.'. For such a chute you might not want the room description to appear. In this case you can set the 'dropemsg' flag for the room. To create such an exit do .br .I msgexit <from_item> <direction> <to_item> <text...........> .LP A currently existing text can be edited by doing .I msgexit <from_item> <direction> .LP Finally a conditional exit allows you to attach a table of database. These are created with .I condexit <from_item> <direction> <to_item> <table_name> .LP We will deal with tables much much later on. The condexit is only included here for completeness. .LP .I Note: It is possible to have multiple exit types in the same direction from the same location. What happens if you do this is undefined - so behave and don't do it.