![]() | Chapter 5: Text | ![]() ![]() |
5.6. Text with variations |
Text sometimes needs to take different forms in different circumstances. Perhaps it needs an extra sentence if something has happened, or perhaps only one altered word.
say "[if a condition]"
This text substitution produces no text. It's used only for a side-effect: it says that the text following should be said only if the condition is true. That continues until the end of the text, or until an "[end if]" substitution, whichever comes first. If the "[otherwise]" and "[otherwise if]" substitutions are also present, they allow alternatives to be added in case the condition is false. Example:
The wine cask is a container. The printed name of the cask is "[if open]broached, empty cask[otherwise]sealed wine cask".
we find that the cask is described as "a broached, empty cask" when open, and "a sealed wine cask" when closed. A longer example which begins and ends with fixed text, but has two alternatives in the middle:
The Customs Wharf is a room. "Amid the bustle of the quayside, [if the cask is open]many eyes stray to your broached cask. [otherwise]nobody takes much notice of a man heaving a cask about. [end if]Sleek gondolas jostle at the plank pier."
|
say "[unless a condition]"
This text substitution produces no text. It's used only for a side-effect: it says that the text following should be said only if the condition is false. That continues until the end of the text, or until an "[end if]" substitution, whichever comes first. If the "[otherwise]" and "[otherwise if]" substitutions are also present, they allow alternatives to be added in case the condition is true. Example:
The Customs Hall is a room. "With infinite slowness, with ledgers and quill pens, the clerks ruin their eyesight.[unless the player is a woman] They barely even glance in your direction."
|
say "[otherwise]"
or: say "[else]"
This text substitution produces no text, and can be used only following an "[if ...]" or "[unless ...]" text substitution. It switches from text which appears if the condition is true, to text which appears if it is false. Example:
The wine cask is a container. The printed name of the cask is "[if open]broached, empty cask[otherwise]sealed wine cask".
|
say "[end if]"
This text substitution produces no text, and can be used only to close off a stretch of varying text which begins with "[if ...]".
|
say "[end unless]"
This text substitution produces no text, and can be used only to close off a stretch of varying text which begins with "[unless ...]".
|
say "[otherwise/else if a condition]"
This text substitution produces no text, and can be used only following an "[if ...]" or "[unless ...]" text substitution. It gives an alternative text to use if the first condition didn't apply, but this one does. Example:
The wine cask is a container. The printed name of the cask is "[if open]broached, empty cask[otherwise if transparent]sealed cask half-full of sloshing wine[otherwise]sealed wine cask".
|
say "[otherwise/else unless a condition]"
This text substitution produces no text, and can be used only following an "[if ...]" or "[unless ...]" text substitution. It gives an alternative text to use if the first condition didn't apply, and this one is false too.
|
We sometimes need to be careful about the printing of line breaks:
The Cell is a room. "Ah, [if unvisited]the unknown cell. [otherwise]the usual cell."
This room description has two possible forms: "Ah, the unknown cell. ", at first sight, and then "Ah, the usual cell." subsequently. But the second form is rounded off with a line break because the last thing printed is a ".", whereas the first form isn't, because it ended with a space. The right thing would have been:
The Cell is a room. "Ah, [if unvisited]the unknown cell.[otherwise]the usual cell."
allowing no space after "unknown cell."
| ![]() A door whose description says "...leads east" in one place and "...leads west" in the other. |
|
| ![]() ![]() ![]() Separate the player's inventory listing into two parts, so that it says "you are carrying..." and then (if the player is wearing anything) "You are also wearing...". |
|
| ![]() ![]() ![]() A kind of door that always automatically describes the direction it opens and what lies on the far side (if that other room has been visited). |
|
Previous | Contents | Next |