room building detail (Room Building)
(This is the walkthrough. Command references: help @dig,
help @describe, help @detail, help @roomstate,
help +weather, help +tp. Builder permissions required.)
Building a room, start to finish:
1. Dig it. From the room it should connect to:
@dig North Bowl;bowl = north;n, south;s
One command makes the room plus both exits - the exit out,
then the exit back, each with ;aliases. @tunnel n = <name>
is a shortcut that knows the compass pairs; @open <exit> =
<room> adds an exit between existing rooms; @teleport gets
you around while working. Every new room is an extended room
on Pern time - everything below works out of the box.
2. Describe it.
@describe <text> (@describe/edit opens the editor)
That's the year-round look, and for interior rooms it is
usually all you need. Where the setting breathes with the
year, add seasonal variants:
@describe/winter <text>
Winter, spring, summer and autumn swap in on their own with
the Pern calendar, following the room's region (step 4). For
a line that shifts with the time of day (morning, afternoon,
evening, night) or with a room state, use $state inlines
inside any desc:
$state(morning, Dawn light creeps down the east rim.)
$state(on_fire, Flames roar along the roofline!)
(Seasons don't work in $state - for season-shifting text,
use the @describe/<season> descs.)
3. Detail it. Things worth a look that don't need to be
objects - walls, carvings, the view:
@detail walls;wall = The walls are covered in ...
@detail/del walls
4. Bind its weather.
+weather/here = <region org>
This ties the room to a region (a Weyr, Hold or area org)
and drives the +weather command, which season the descs
follow, local IC time (+time) and the IC date stamped on
scenes recorded there. The org itself needs a real-world
weather equivalent (+org/weather) and possibly a timezone
(+org/timezone) - normally already set for your area; if
+weather complains, that's what's missing.
5. Walk it. look at it, check +weather and +time, try the
exits both ways, look at your details. Seasonal descs can
be previewed by pinning: @roomstate winter forces winter
until you toggle it off again.
# subtopics
## room states
Beyond seasons, rooms can be in arbitrary states - a fire, a
gather, flood damage:
@describe/on_fire <text> (write the state's look)
@roomstate on_fire (toggle it on/off)
A state desc wins over the seasonal one while active, and
$state(on_fire, ...) inlines light up in any desc. @roomstate
alone lists the room's current states.
Some states are structural - the game reads them:
@roomstate sky open air; dragons must be in one
to learn jump points and go
between (help between)
@roomstate inside under a roof: +weather stops
reading the sky, and a dragon
here is not told about it
@roomstate no_dragons too small for a dragon to enter
outside and dragon_ok undo those last two. Both are what a
room already is if you say nothing, so you only need them to
change your mind. Setting one of a contradicting pair clears
the other, and the command tells you when it did.
## tp rooms
A TP room is a stage: players redress it from a shared
library of saved locations (+tp <location>) instead of new
rooms being built for every plot. Staff make one by digging
with the typeclass:
@dig The Clearing:typeclasses.rooms.TPRoom = <exits>
Dress its default look with the tools above, then
+tp/default captures it (it also auto-captures on first
use). Any nicely-dressed room - TP or grid - can be saved
into the library with +tp/save <name>. See help +tp.
## room images
A room can carry a web image (its profile portrait) - shown
with the room in published scene logs and saved into TP
library entries. Staff attach these via the web admin.
Building