# long: Long description, always shown on first encounter.
# short: Short description. If none, use long description.
# maptag: Tag for mapping, not used by the game itself.
-# Only used if the "short" propery in !!null.
+# Only used if the "short" property in !!null.
# conditions: A dictionary of attributes
# LIT Light
# OILY If FLUID flag is on: true for oil, false for water
# FLUID Liquid asset
# NOARRR Pirate doesn't go here unless following player
# NOBACK Cannot use "back" to move away
+# ALLDIFFERENT Part of the maze all different (used in grapher only)
+# ALLALIKE Part of the maze all alike (used in grapher only)
# HCAVE Trying to get into cave
# HBIRD Trying to catch bird
# HSNAKE Trying to deal with snake
# All attributes are optional except the long description and
# travel. Order of locations is not significant.
#
-# arbitrary_messages: These are arguments to rspeak(). Some spans of
-# these messages need to be kept adjacent and ordered (for now),
-# though there are no dependencies on actual numbers left. To see
-# which, grep for rspeak() calls containing expressions with
-# arithmetic. Eventually, these will be pulled out into more
-# appropriate data structures. Then ordering can be dropped.
+# arbitrary_messages: These are arguments to rspeak(). Order is
+# not significant.
#
# classes: Each item contains a point threshold and a message
# describing a classification of player. Point thresholds must be
# Order doesn't matter; the logic simply tests every threshold on
# the assumption that turn counts never decrease nor skip values.
#
-# objects: Objects that are refernced in C code or the YAML by name
+# objects: Objects that are referenced in C code or the YAML by name
# have human-readable names; others are named OBJ with a numeric suffix.
# Objects have attributes as follows...
# inventory: A description for use in the inventory command.
# message when the message is printed. These sequences are:
# %d = an integer
# %s = an ASCII string
-# %S = The letter 's' or nothing (if a previous %d value is exactly 1)
+# %S = the letter 's' or nothing (if a previous %d value is exactly 1)
# %V = substitute program version string
#
# Copyright (c) 2017 by Eric S. Raymond
# SPDX-License-Identifier: BSD-2-clause
+# Motion names of the form MOT_* are not explicitly referenced in the
+# locations YAML, but usually get compiled into generated C.
motions: !!omap
- MOT_0:
words: !!null
long: 'You are in a maze of twisty little passages, all alike.'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [UPWAR], action: [goto, LOC_MISTWEST]},
long: 'You are in a maze of twisty little passages, all alike.'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [WEST], action: [goto, LOC_ALIKE1]},
long: 'You are in a maze of twisty little passages, all alike.'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [EAST], action: [goto, LOC_ALIKE2]},
long: 'You are in a maze of twisty little passages, all alike.'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [WEST], action: [goto, LOC_ALIKE1]},
long: 'Dead end'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOARRR: true}
+ conditions: {DEEP: true, NOARRR: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [WEST, OUT], action: [goto, LOC_ALIKE4]},
long: 'Dead end'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOARRR: true}
+ conditions: {DEEP: true, NOARRR: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [EAST, OUT], action: [goto, LOC_ALIKE4]},
long: 'Dead end'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOARRR: true}
+ conditions: {DEEP: true, NOARRR: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [UPWAR, OUT], action: [goto, LOC_ALIKE3]},
long: 'You are in a maze of twisty little passages, all alike.'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [EAST], action: [goto, LOC_ALIKE6]},
long: 'You are in a maze of twisty little passages, all alike.'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [EAST], action: [goto, LOC_ALIKE3]},
long: 'You are in a maze of twisty little passages, all alike.'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [WEST], action: [goto, LOC_ALIKE5]},
long: 'You are in a maze of twisty little passages, all alike.'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [WEST], action: [goto, LOC_ALIKE6]},
long: 'You are in a maze of twisty little passages, all alike.'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [WEST], action: [goto, LOC_ALIKE7]},
long: 'Dead end'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOARRR: true}
+ conditions: {DEEP: true, NOARRR: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [WEST, OUT], action: [goto, LOC_ALIKE9]},
long: 'You are in a maze of twisty little passages, all alike.'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [WEST], action: [goto, LOC_ALIKE8]},
long: 'Dead end'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOARRR: true}
+ conditions: {DEEP: true, NOARRR: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [UPWAR, OUT], action: [goto, LOC_ALIKE10]},
up. The maze continues at this level.
short: 'You''re at brink of pit.'
maptag: !!null
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
travel: [
{verbs: [DOWN, CLIMB], action: [goto, LOC_BIRDCHAMBER]},
{verbs: [WEST], action: [goto, LOC_ALIKE10]},
long: 'Dead end'
short: !!null
maptag: 'Maze all alike.'
- conditions: {NOARRR: true, DEEP: true}
+ conditions: {NOARRR: true, DEEP: true, ALLALIKE: true}
travel: [
{verbs: [EAST, OUT], action: [goto, LOC_PITBRINK]},
]
very tight canyon 15 feet below. If you go down you may not be able
to get back up.
short: 'You''re in secret e/w canyon above tight canyon.'
- maptag: 'Secret e/w canyom'
+ maptag: 'Secret e/w canyon'
conditions: {DEEP: true}
travel: [
{verbs: [EAST], action: [goto, LOC_KINGHALL]},
long: 'You are in a maze of twisty little passages, all alike.'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [NORTH], action: [goto, LOC_ALIKE1]},
long: 'Dead end'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true}
+ conditions: {DEEP: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [WEST, OUT], action: [goto, LOC_ALIKE11]},
long: 'Dead end'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOARRR: true}
+ conditions: {DEEP: true, NOARRR: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [SOUTH, OUT], action: [goto, LOC_ALIKE3]},
long: 'You are in a maze of twisty little passages, all alike.'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
travel: [
{verbs: [SOUTH], action: [goto, LOC_PITBRINK]},
{verbs: [EAST], action: [goto, LOC_ALIKE13]},
long: 'You are in a maze of twisty little passages, all alike.'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
travel: [
{verbs: [NORTH], action: [goto, LOC_PITBRINK]},
{verbs: [WEST], action: [goto, LOC_ALIKE12]},
long: 'Dead end'
short: !!null
maptag: 'Maze all alike.'
- conditions: {NOARRR: true, DEEP: true}
+ conditions: {NOARRR: true, DEEP: true, ALLALIKE: true}
travel: [
{verbs: [EAST, OUT], action: [goto, LOC_ALIKE12]},
]
long: 'Dead end'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOARRR: true}
+ conditions: {DEEP: true, NOARRR: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [UPWAR, OUT], action: [goto, LOC_ALIKE8]},
long: 'You are in a maze of twisty little passages, all alike.'
short: !!null
maptag: 'Maze all alike.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
hints: [*maze]
travel: [
{verbs: [UPWAR, DOWN], action: [goto, LOC_ALIKE4]},
long: 'You are in a maze of twisty little passages, all different.'
short: !!null
maptag: 'Maze all different'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
travel: [
{verbs: [SOUTH], action: [goto, LOC_DIFFERENT3]},
{verbs: [SW], action: [goto, LOC_DIFFERENT4]},
having done so you would be unable to reach it to climb back up.
short: 'You''re at top of stalactite.'
maptag: !!null
- conditions: {DEEP: true}
+ conditions: {DEEP: true, ALLALIKE: true}
travel: [
{verbs: [NORTH], action: [goto, LOC_SECRET2]},
{verbs: [DOWN, JUMP, CLIMB], cond: [pct, 40],
long: 'You are in a little maze of twisting passages, all different.'
short: !!null
maptag: 'Maze all different'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
travel: [
{verbs: [SW], action: [goto, LOC_DIFFERENT3]},
{verbs: [NORTH], action: [goto, LOC_DIFFERENT4]},
long: 'Dead end'
short: !!null
maptag: !!null
- conditions: {DEEP: true}
+ conditions: {DEEP: true, ALLALIKE: true}
travel: [
{verbs: [SE], action: [goto, LOC_ALIKE13]},
]
wall, and stretches to the other end of the room, where various other
sundry objects can be glimpsed dimly in the distance.
short: 'You''re at ne end.'
- maptag: 'Reoisitory ne end'
+ maptag: 'Repository ne end'
conditions: {DEEP: true, LIT: true}
sound: MURMURING_SNORING
travel: [
long: 'You are in a maze of twisting little passages, all different.'
short: !!null
maptag: 'Maze all different.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
travel: [
{verbs: [WEST], action: [goto, LOC_DIFFERENT1]},
{verbs: [SE], action: [goto, LOC_DIFFERENT4]},
long: 'You are in a little maze of twisty passages, all different.'
short: !!null
maptag: 'Maze all different.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
travel: [
{verbs: [NW], action: [goto, LOC_DIFFERENT1]},
{verbs: [UPWAR], action: [goto, LOC_DIFFERENT3]},
long: 'You are in a twisting maze of little passages, all different.'
short: !!null
maptag: 'Maze all different.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
travel: [
{verbs: [UPWAR], action: [goto, LOC_DIFFERENT1]},
{verbs: [DOWN], action: [goto, LOC_DIFFERENT3]},
long: 'You are in a twisting little maze of passages, all different.'
short: !!null
maptag: 'Maze all different.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
travel: [
{verbs: [NE], action: [goto, LOC_DIFFERENT1]},
{verbs: [NORTH], action: [goto, LOC_DIFFERENT3]},
long: 'You are in a twisty little maze of passages, all different.'
short: !!null
maptag: 'Maze all different.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
travel: [
{verbs: [NORTH], action: [goto, LOC_DIFFERENT1]},
{verbs: [SE], action: [goto, LOC_DIFFERENT3]},
long: 'You are in a twisty maze of little passages, all different.'
short: !!null
maptag: 'Maze all different.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
travel: [
{verbs: [EAST], action: [goto, LOC_DIFFERENT1]},
{verbs: [WEST], action: [goto, LOC_DIFFERENT3]},
long: 'You are in a little twisty maze of passages, all different.'
short: !!null
maptag: 'Maze all different.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
travel: [
{verbs: [SE], action: [goto, LOC_DIFFERENT1]},
{verbs: [NE], action: [goto, LOC_DIFFERENT3]},
long: 'You are in a maze of little twisting passages, all different.'
short: !!null
maptag: 'Maze all different.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
travel: [
{verbs: [DOWN], action: [goto, LOC_DIFFERENT1]},
{verbs: [EAST], action: [goto, LOC_DIFFERENT3]},
long: 'You are in a maze of little twisty passages, all different.'
short: !!null
maptag: 'Maze all different.'
- conditions: {DEEP: true, NOBACK: true}
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
travel: [
{verbs: [SW], action: [goto, LOC_DIFFERENT1]},
{verbs: [NW], action: [goto, LOC_DIFFERENT3]},
long: 'Dead end'
short: !!null
maptag: !!null
- conditions: {DEEP: true}
+ conditions: {DEEP: true, ALLDIFFERENT: true}
travel: [
{verbs: [NORTH, OUT], action: [goto, LOC_DIFFERENT2]},
{verbs: [SOUTH], cond: [not, VEND, VEND_BLOCKS], action: [goto, LOC_ROUGHHEWN]},
description:
long: 'You are in a long, rough-hewn, north/south corridor.'
short: !!null
- maptag: 'Rough-newn corridor'
+ maptag: 'Rough-hewn corridor'
conditions: {DEEP: true}
travel: [
{verbs: [NORTH], action: [goto, LOC_DEADEND13]},
description:
long: 'You are in the ogre''s storeroom. The only exit is to the south.'
short: !!null
- maptag: 'Ogre''s streroom.'
+ maptag: 'Ogre''s storeroom.'
conditions: {DEEP: true}
travel: [
{verbs: [SOUTH, OUT], action: [goto, LOC_LARGE]},
You are on a small ledge at the top of a nearly vertical cliff.
There is a low crawl leading off to the northeast.
short: 'You''re at top of cliff.'
- maptag: 'Cliiftop'
+ maptag: 'Cliftop'
conditions: {DEEP: true}
travel: [
{verbs: [CLIMB, DOWN], action: [goto, LOC_CLIFFACE]},
- 'The bird does not seem inclined to sing while in the cage.'
- 'It almost seems as though the bird is trying to tell you something.'
- |-
- To your surprise, you can understand the bird''s chirping; it is
+ To your surprise, you can understand the bird's chirping; it is
singing about the joys of its forest home.
- 'The bird does not seem inclined to sing while in the cage.'
- |-