Example 1 — Viewer position

A description that changes to reflect how the observer is positioned in the room.

MCF room long-description:

#DYou are {position} in a long hallway.

Depending on the observer’s position, the room would display as one of:

Long Hallway
[Exits: east west ]
You are flying in a long hallway.

Long Hallway
[Exits: east west ]
You are standing in a long hallway.

Long Hallway
[Exits: east west ]
You are resting in a long hallway.

Long Hallway
[Exits: east west ]
You are fighting in a long hallway.

Dead, mortally wounded, incapacitated, stunned, and sleeping observers cannot look at a room, so those positions never appear here.


Example 2 — Time of day

A room that appears differently depending on whether it is day or night.

MCF room long-description:

#DYou are in Someone's office where
[{time.day}] sunlight |
[{time.day} == {false}] moonlight |
streams through a skylight.

Note: == {false} must be added to the second conditional to make it true at night and thus show “moonlight”.

During the day:

Someone's Office
[Exits: north ]
You are in Someone's office where sunlight streams through a skylight.

At night:

Someone's Office
[Exits: north ]
You are in Someone's office where moonlight streams through a skylight.

Example 3 — Direction of arrival

A common building mistake is assuming the reader has entered from a particular direction (“As you get closer to the mountain peak…”). What if the player is going down the mountain, or has teleported in? Dynamic Descriptions fix this.

MCF room long-description:

#D[{dir.from} == {dir.down}] As you
    [{position.flying}=={false}] climb |
    [{position.flying}] get |
    closer to the mountain peak it is getting much hotter. |
[{dir.from} == {dir.up}] Things are cooler here as you move away from the mountain peak. |
[{dir.from} == {dir.other}] There is a great deal of heat coming from the mountain peak above you. |

Results based on how the observer arrived:

Walking up the mountain:

Path Up the Mountain
[Exits: up down ]
As you climb closer to the mountain peak it is getting much hotter.

Flying up:

Path Up the Mountain
[Exits: up down ]
As you get closer to the mountain peak it is getting much hotter.

Walking down:

Path Up the Mountain
[Exits: up down ]
Things are cooler here as you move away from the mountain peak.

Teleported or summoned in:

Path Up the Mountain
[Exits: up down ]
There is a great deal of heat coming from the mountain peak above you.

Example 4 — Statue by size

A statue in a giants’ village that the observer appears to look at differently depending on their racial size.

MCF room long-description:

#DYou are in the town square in the village of the giants.
You are looking
  [{size} <= {size.dwarf}] at the lower legs of |
  [({size} > {size.dwarf}) && ({size} < {size.giant})] at the belt line of |
  [{size} == {size.giant}] into the face of |
  [{size} > {size.giant}] down on |
a statue of one of the town's heroes.

A small race (hobbit, dwarf) sees:

Town Square
[Exits: up down ]
You are in the town square in the village of the giants. You are looking
at the lower legs of a statue of one of the town's heroes.

A medium race sees:

You are looking at the belt line of a statue of one of the town's heroes.

A giant sees:

You are looking into the face of a statue of one of the town's heroes.

A larger-than-giant race sees:

You are looking down on a statue of one of the town's heroes.

Example 5 — Helmet by size

An object long description for a bird-sized helmet that reads differently based on the viewer’s racial size.

MCF object long-description:

#DA [{size} <= {size.dwarf}] well fitting |
[({size} > {size.dwarf}) && ({size} < {size.giant})] small |
[{size} >= {size.giant}] very tiny |
helmet is here.

A small race sees: A well fitting helmet is here.

A medium race sees: A small helmet is here.

A large or giant race sees: A very tiny helmet is here.


Example 6 — Mirror by race

A mirror in a room that reflects the observer’s racial appearance back at them.

MCF room long-description (excerpt — add as many races as your area needs):

#DThe reflection of your
[{race}=={race.aarakocra}] feathered form |
[{race}=={race.dragon}] hulking scaled body |
[{race}=={race.elf}] lithe body |
[{race}=={race.merfolk}] slightly blue-tinged body |
looks back at you from the mirror.

An aarakocra sees:

The reflection of your feathered form looks back at you from the mirror.

A dragon sees:

The reflection of your hulking scaled body looks back at you from the mirror.

Example 7 — Named inscription

An object extra-description that uses the observer’s own name, making each reading feel personal.

MCF object extra-description:

#DInscribed on the bracelet is: {name}.

If Talac looks at the inscription:

Inscribed on the bracelet is: Dragonlord Talac.

{name} expands to the short description of whoever is looking.


Example 8 — Player description by race and size

A mob’s look description that reacts to the observer — fellow ogres get a friendly greeting, smaller races see a threat, larger races are not impressed.

MCF mob look-description:

#D[{race} == {race.ogre}] Ogreon is a friendly, soft, fluffy, sweet smelling
      one of your countrymen, who will help you whenever there is trouble. |
  [{size} < {size.ogre}] A large threatening ogre appears ready to eat you. |
  [{size} > {size.ogre}] An ogre gets out of your way so that you don't step on him. |

An ogre observer sees:

Ogreon is a friendly, soft, fluffy, sweet smelling one of your countrymen,
who will help you whenever there is trouble.

A smaller race sees:

A large threatening ogre appears ready to eat you.

A larger race sees:

An ogre gets out of your way so that you don't step on him.

Example 9 — Gender

A mob’s long description that uses a different label depending on the observer’s gender.

MCF mob long-description:

#DA [{gender.female}] sister |
[{gender.female} != {true}] sweet girl |
is here.

A female observer sees: A sister is here.

A non-female observer sees: A sweet girl is here.