Room Resolutions

Details  |  Rooms  |  Mobiles  |  Items  |  Exits  |  Extras  |  Buffs  |  Races

Rooms define the locations available geographically within the mud. Linking of rooms creates routes, and groups of rooms define areas, and groups of areas define continents. Following are the room fields that can currently be retrieved and set via the resolution operator. Each description is prefixed with either [G] gettable, [S] settable, or [G,S] gettable and settable. Resolutions are case sensitive.

General Information
Various fields to retrieve and set room information.
@room->id [G] The ID (vnum) of the room as assigned by the builder.
@room->uniqueId [G] The unique ID of the room. This will change when the area reloads or the MUD reboots.
@room->zoneId [G] The ID of the zone with which the room is associated.
@room->areaId [G] The ID of the area with which the room is associated.
@room->level [G,S] The level of the room. This is used for magical effects invoked by the room.
@room->terrainType [G,S] The terrain type. This will be one of the following textual identifiers (the preferred way to test for a terrain type):

inside, city, field, forest, hills, mountain, swimWater, noSwimWater, underwater, desert, air, jungle, tundra, plain, swamp
@room->terrainName [G] The name of the terrain. This is a user friendly name for the terrain, and can be embedded in output intended to be read.
@room->terrainTypeId [G,S] The integer ID of the terrain type. This should not be used in comparisons against explicit integer values.
@room->sizeType [G,S] The size of the room. This will be one of the following textual identifiers (the preferred way to test for a room's size):

micro, tiny, small, medium, large, huge, enormous, gargantuan, unlimited
@room->sizeTypeId [G,S] The integer ID of the room's size type. This should not be used in comparisons against explicit integer values.
@room->name [G,S] The name (or title) of the room.
@room->description [G,S] The room's description when a player types "look".
@room->brightness [G] The ambient brightness. Players can see in brightness of 101 (this can differ to some degree based on race).

Exits
You can use these fields to retrieve and set exits for the room. Assigning a room pointer or ID to an exit field will cause the room to re-link that exit to the assigned room.
@room->exits [G] Returns an array of exits indexed by the associated cardinal direction's name. The following indexes may be set:

north, south, east, west, up, down.
@room->exits->north [G] Returns a pointer to the exit leading north; otherwise null.
@room->exits->east [G] Returns a pointer to the exit leading east; otherwise null.
@room->exits->south [G] Returns a pointer to the exit leading south; otherwise null.
@room->exits->west [G] Returns a pointer to the exit leading west; otherwise null.
@room->exits->up [G] Returns a pointer to the exit leading up; otherwise null.
@room->exits->down [G] Returns a pointer to the exit leading down; otherwise null.

Mobiles
Fields for retrieving and setting information about any mobiles in the room.
@room->mobiles [G] Returns an array of mobile pointers currently in the room. Entries are indexed sequentially from 1 onward.
@room->pcs [G] Returns an array of PC mobile pointers currently in the room. Entries are indexed sequentially from 1 onward.
@room->npcs [G] Returns an array of NPC mobile pointers currently in the room. Entries are indexed sequentially from 1 onward.
@room->mobiles->first [G,S] Returns a pointer to the first mobile in the room. If assigned a pointer then moves the assigned mobile to the first mobile position in the room.
@room->mobiles->last [G,S] Returns a pointer to the last mobile in the room. If assigned a pointer then moves the assigned mobile to the last mobile position in the room.
@room->mobiles->head [G,S] An alias for @room->mobiles->first
@room->mobiles->tail [G,S] An alias for @room->mobiles->last

Items
Fields for retrieving and setting information about any items in the room.
@room->items [G] Returns an array of item pointers currently in the room. Entries are indexed sequentially from 1 onward.
@room->items->first [G,S] Returns a pointer to the first item in the room. If assigned a pointer then moves the assigned item to the first item position in the room.
@room->items->last [G,S] Returns a pointer to the last item in the room. If assigned a pointer then moves the assigned item to the last item position in the room.
@room->items->head [G,S] Alias for @room->items->first
@room->items->tail [G,S] Alias for @room->items->last

Items (deprecated aliases)
Fields for retrieving and setting information about any items in the room. This style is deprecated since the term "object" can be confused with object oriented programming terminology.
@room->objects [G] DEPRECATED. Alias for @room->items
@room->objects->first [S] DEPRECATED. Alias for @room->items->first
@room->objects->last [S] DEPRECATED. Alias for @room->items->last
@room->objects->head [S] DEPRECATED. Alias for @room->items->head
@room->objects->tail [S] DEPRECATED. Alias for @room->items->tail

Inventory (mobiles and objects)
These fields are used to retrieve and set the rooms contents with respect to mobiles and objects. Using these fields for retrieval provides an aggregation of the mobiles and objects found in the room with mobiles taking precedence in any returned results. Additionally, using these meta fields allows indiscriminate movement of items and mobiles into the room.
@room->inventory [G] Returns an aggregate array of mobile and item pointers currently in the room. Entries are indexed sequentially from 1 onward. mobiles are listed first.
@room->inventory->first [S] Depending on the type of pointer assigned, this will move the assigned mobile or object to the first mobile or object position in the room respectively.
@room->inventory->last [S] Depending on the type of pointer assigned, this will move the assigned mobile or object to the last mobile or object position in the room respectively.
@room->inventory->head [S] Alias for @room->inventory->first
@room->inventory->tail [S] Alias for @room->inventory->last

Inventory (mobiles and objects -- short alias)
Exactly the same as the inventory field counterparts except less typing is involved :)
@room->inv [G] Alias for @room->inventory
@room->inv->first [S] Alias for @room->inventory->first
@room->inv->last [S] Alias for @room->inventory->last
@room->inv->head [S] Alias for @room->inventory->head
@room->inv->tail [S] Alias for @room->inventory->tail

Flags
Flags are boolean values that enable or disable features for the room. To set a flag you can assign the value 1, to disable a flag you can assign the value 0.
@room->flags->isDark [G] Whether or not the room is dark.
@room->flags->isLight [G] Whether or not the room is light.
@room->flags->isDeathtrap [G,S] Deathtrap status.
@room->flags->isNoMobs [G,S] No mobiles allowed status.
@room->flags->isInside [G,S] Inside status (eg. not outside).
@room->flags->isIndoors [G,S] Alias for @room->flags->isInside
@room->flags->isNoAggro [G,S] No aggression status.
@room->flags->isGladiator [G,S] Gladiator combat status. When enabled deaths in the room will be treated as gladiatorial deaths.
@room->flags->isFreeDeath [G,S] Free death status. When enabled deaths in the room will not generate the usual penalty of exp loss and corpse creation.
@room->flags->isNoMagic [G,S] No magic status.
@room->flags->isTunnel [G,S] Room is a tunnel status.
@room->flags->isPrivate [G,S] Private status. When enabled only two players may be in the room at once (immortals are immune to this check).
@room->flags->isNoSummon [G,S] No summon status. When enabled mobiles cannot be summoned to the room. Additionally mobiles cannot gate out of the room.
@room->flags->isNoTeleport [G] No teleport status. When enabled mobiles cannot teleport into this room.
@room->flags->isNoNegativeAffects [G,S] No negative affects flag. When enabled negative affects in the room will expire prematurely.
@room->flags->isShop [G] Shop status. Set at load time if a shop corresponds to the room.
@room->flags->isLawful [G,S] NOT CURRENTLY SUPPORTED.
@room->flags->isNeutral [G,S] NOT CURRENTLY SUPPORTED.
@room->flags->isChaotic [G,S] NOT CURRENTLY SUPPORTED.