Repository navigation
OLC Rooms
TL;DR:
reditedits a room prototype in place. Exits are edited with the direction commands (north,southand so on). Doors that are not compass exits are extra exits with their own sub-editor (eexit), and extra descriptions are edited withed. Use when: you create or change rooms, link rooms together, add doors, hidden passages orlooktargets, or choose a sector. Source of truth:plug-ins/olc/redit.cpp,plug-ins/olc/eeedit.cpp,plug-ins/movement/exitsmovement.cpp(extra exit messages),src/bits.conf(room_flags,sector_table,exit_flags). Verified: 2026-11-02 against dreamland_code a7c4fd10, dreamland_world a35c62ce, dreamland_areas 6a04168
redit
redit <vnum>
redit create <vnum>
redit create next
redit show [vnum]
redit reset
redit purge all|mob|obj|<name>
redit goto <vnum>
redit move <vnum> <area file or number>
edit room [...]
| Form | What it does |
|---|---|
redit |
Edits the room you stand in. |
redit <vnum> |
Edits another room. You are moved into it, and moved back when you leave the editor. |
redit create <vnum> |
Makes a room with that vnum and opens it. The vnum must lie in an area you may edit and must be free. |
redit create next |
Same, with the first free room vnum of the area you stand in. |
redit show [vnum] |
Prints a room without opening the editor. |
redit reset |
Resets the room you stand in (mobs and items come back as the resets say). |
redit purge ... |
Destroys mobs, items or both in the room. Only things whose vnum you may edit are destroyed. |
redit goto <vnum> |
Teleports you to a room you may edit. |
redit move <vnum> <area> |
Not implemented: it says so and changes nothing. |
The editor works on the room prototype directly. A change is live at once, and the area is marked as changed. There is no cancel. See OLC.
show (an empty line) prints all of these.
| Field | Command | Notes |
|---|---|---|
| Name |
name, uaname, runame
|
One line per language. |
| Description |
desc, uadesc, rudesc
|
Multi-line text, see OLC-Line-Editor. |
| Sector | sector <name> |
? sector_table. See Choosing a sector. |
| Flags | flags <names> |
Toggles. ? room_flags. |
| Clan |
clan <name> or clan clear
|
Marks the room as that clan's territory: outsiders cannot quit there and clan guards defend it. It does not block entry by itself. |
| Guilds |
guilds <class> or guilds clear
|
Class guild. A character of another class cannot walk into it from a room that is not a guild. Each call adds one class, clear removes all. |
| Liquid | liquid <name> |
Liquid of a river or lake room. A water sector with no liquid gets water automatically. |
| Smell |
smell, uasmell, rusmell
|
Text shown by smell. |
| Sound |
sound, uasound, rusound
|
Text shown by listen. |
| Heal rate | heal <number> |
Health and movement regeneration, percent. 100 is normal. The help string says 100 to 400, the command accepts any number. |
| Mana rate | mana <number> |
Mana regeneration, percent. |
| Extra descriptions |
ed, uaed, rued
|
See Extra descriptions. |
| Extra exits | eexit |
See Extra exits. |
| Exits |
north south east west up down
|
See Exits. |
| Behaviors |
behaviors <names>, props <behavior> <prop> <value>
|
Attaches bedit behaviors and sets their properties. A behavior name with a space is typed with an underscore in props. props <behavior> <prop> web opens the web editor, props ... del removes the value. |
| Scripts | fenia <trigger> |
Opens the trigger editor for the room, see Fenia-Triggers. |
| Legacy behavior |
oldbehavior, oldbehavior clear
|
XML behavior of the old engine. Not for new work. |
Other commands inside redit:
| Command | Meaning |
|---|---|
rlist |
Rooms of this area, three per line. |
mlist <all or name> |
Mobs of this area. |
olist <all, name or item type> |
Objects of this area. |
purge ... |
Same as redit purge. |
create <vnum or next> |
Makes a room and switches to it. |
commands, done
|
List the commands, leave the editor. |
Each direction has a command. Typed alone, it moves you through the exit. Inside the editor that means the editor follows you into the next room. Typed with an argument, it edits the exit.
north dig next
north dig 3105
north link 3105
north room 3105
north delete
north unlink
north key 3110
north key clear
north name gate
north uaname ворота
north runame ворота
north short gate
north desc
north copy
north ?
| Form | Result |
|---|---|
<dir> dig <vnum or next> |
Creates a new room with that vnum and a two-way link to it. |
<dir> link <vnum> |
Two-way link to an existing room. It fails if the room on the other side already has an exit in the opposite direction, or if you may not edit that room. |
<dir> room <vnum> |
One-way exit to an existing room. |
<dir> delete |
Removes this exit, and the exit on the other side if it leads back here. |
<dir> unlink |
Removes this exit only. |
<dir> <flags> |
Toggles exit flags (? exit_flags). Setting isdoor fills in the default door names. |
<dir> key <vnum> |
Sets the key. The item must be a key. Also sets the exit flags isdoor closed locked and default door names. key clear removes the key. |
<dir> name, uaname, runame
|
Door keywords, the words a player types: open gate. |
<dir> short, uashort, rushort
|
Door name used in messages, with all grammatical cases for Russian and Ukrainian (a Flexer form, see Area-Format). |
<dir> desc, uadesc, rudesc
|
Text shown by look <direction>. Opens the line editor. |
<dir> copy |
Copies flags, names and key to the door on the other side. |
Default door names are "door" in English, "дверь" in Russian and "двері" in Ukrainian. They are filled in only when the exit has none.
Exit flags are in exit_flags: isdoor closed locked noflee noscan pickproof nopass easy hard infuriating noclose nolock invisible hidden improved camouflage fade nofly nowalk swim_only bash_only.
An exit change edits the stored prototype and the loaded room. Default door names are written to the prototype only. Room flags reach the loaded room only when you leave the editor with done.
An extra exit is an exit that is not a compass direction: a hole, a ladder, a secret door, a portal. A player passes it with enter <keyword>. open, close, lock, unlock and look also accept its keyword. Extra exits are edited in a sub-editor.
eexit set <keywords>
eexit delete <keywords>
eexit set opens the editor for the extra exit with those keywords, creating it if needed. The keywords are split by alphabet: Latin words become the English keywords, Cyrillic words the Russian ones. Set the Ukrainian ones afterwards with uaname. done stores the exit in the room, cancel drops the edit. The exit is created at the first done.
| Command | Field |
|---|---|
name, uaname, runame
|
Keywords the player types. |
target <room vnum> |
Where the exit leads. |
flags <names> |
Exit flags, toggled. |
size <size> |
Biggest character size that fits (? size_table). |
key <vnum> |
Key item. |
desc, uadesc, rudesc
|
Text shown by look <keyword>. |
room, uaroom, ruroom
|
A line added to the room description for those who can see the exit. |
from, uafrom, rufrom
|
Name of the exit seen from the room being left. |
to, uato, ruto
|
Name of the exit seen from the room being entered. |
leaveroom, ualeaveroom, ruleaveroom
|
Message to the room being left. |
entryroom, uaentryroom, ruentryroom
|
Message to the room being entered. |
leaveself, ualeaveself, ruleaveself
|
Message to the traveller on leaving (optional). |
entryself, uaentryself, ruentryself
|
Message to the traveller on arrival (optional). |
How the messages work:
- The room messages are finished sentences in the act format.
%1$^C1is the traveller,%4$N<case>is the exit name. The name comes fromfromwhen the traveller leaves and fromtowhen the traveller arrives, so each side can use its own noun in its own case. The engine adds the closing full stop, so do not type one. If a mover is riding, it appends ", riding on " before the full stop. - Gender-dependent verbs use the
%1$Gform, for example%1$^C1 протиснул%1$Gось|ся|ась в %4$N4. -
leaveselfandentryselfare sent as written, with no full stop added. - An old numeric message-code scheme (codes 0 to 11 for "ушел", "забрался" and so on) is gone. Write the whole sentence.
redit show lists every extra exit as [keywords]. With both room messages empty the engine still prints its closing full stop, so fill them in.
An extra description is a keyword and a text, shown by look <keyword>. Rooms and objects have them.
ed set <keywords>
ed web <keywords>
ed copy <keywords>
ed paste <keywords>
ed delete <keywords>
uaed set <keywords>
rued set <keywords>
-
ededits the English text,uaedthe Ukrainian andruedthe Russian one. All three share the same keyword string. One keyword string holds the words of every language, separated by spaces. -
setopens the line editor on the text. A missing keyword is created. -
webopens the web editor.copyandpastemove the text through the edit buffer.deleteremoves the whole entry. -
show(or an empty line) lists the extra descriptions of the room, with a web button for each language.
The sector sets the terrain for movement cost, weather and the mapper. The values are in sector_table: inside city field forest hills mountain water_swim water_noswim air desert underwater. (unused and max exist in the table and are not for use.) Water sectors set the liquid to water if none is set.
The rules the maintainers used when they audited the existing rooms:
- A building (house, hall, tower, temple, shop, cell, castle, tent) is
citywith theindoorsflag, even in the wilderness. - A built underground space (dungeon, crypt, catacomb, sewer, cellar, vault) is
insidewithindoors. - A natural cave or tunnel takes the sector of the land around it (
mountainorhills) withindoors. - Streets, squares, gardens, courtyards, walls and roofs under open sky are
citywithoutindoors. - Nature under open sky is the matching land sector without
indoors. A dense forest is still open sky unless the text says there is no sky or roof (a hollow trunk, a dugout, a cave). - Add
darkonly to caves and underground rooms whose text names no light source. - Add
near_wateronly when the text shows real, reachable water (fountain, well, river, lake, sea, dock, spring, waterfall, pool).
indoors means a roof overhead: no sky, no weather.
dark no_vanish no_mob indoors nosac nodamage private safe solitary no_recall imp_only gods_only heroes_only newbies_only law nowhere near_water chat no_cast nosummon no_time no_weather traverse_marked no_quest noquit mansion dumb
? room_flags prints the same list with a description of each flag.
- Speedwalks in the area header start from the central square of Midgaard, room 3014, see OLC.
- Mobs and items appear in a room through resets, not through the room: OLC-Resets.
-
redit purgetakesmobandobjexactly, notmobsandobjs.
See also: OLC, OLC-Resets, OLC-Line-Editor, Area-Format, Writing-Player-Text.
Start here
Get running
Contribute
- Contribute
- Contributing Workflow
- Code Style
- Accessibility
- Writing Player Text
- Game Design Principles
Build areas
- Building
- OLC
- OLC Rooms
- OLC Mobiles
- OLC Objects
- OLC Resets
- OLC Line Editor
- OLC Other Editors
- Area Format
- Area Quests
- Mob Forms and Parts
Fenia
- Fenia
- Fenia Language
- Fenia Triggers
- Fenia Gotchas
- Fenia API
- Fenia Scripts
- Fenia Behaviors
- Fenia Skills and Spells
- Fenia Cookbook
- Fenia Grammar
Engine
- Engine Architecture
- Engine Time and Pulses
- Output Format
- Mechanics Combat
- Mechanics World
- Data Configs
- Item Power
Localization
Clients
More