Functions¶
accompanists¶
accompanists(leader, from, conn, dest) · Source
The actors in this room travelling with this leader, breadth first. A state says whether it comes along, and a guided tour says so only for the leg of the tour it is on — which is what stops a guide following the player off the route.
account¶
account(id, c) · Source
Internal implementation detail; no supported authoring contract is documented.
accountAbout¶
accountAbout(id, c, word) · Source
Internal implementation detail; no supported authoring contract is documented.
accountAs¶
accountAs(where, id, c, word) · Source
One account, at a given place in the report order.
accountDefault¶
accountDefault(id, c) · Source
Internal implementation detail; no supported authoring contract is documented.
actOnce¶
actOnce(c, a, item) · Source
One object's worth of a command: redirect, refuse, act.
addReport¶
addReport(c, where, id, a, b) · Source
Put a report on the command's list.
addToAgenda¶
addToAgenda(a, item) · Source
Internal implementation detail; no supported authoring contract is documented.
aName¶
aName(item) · Source
Internal implementation detail; no supported authoring contract is documented.
AName¶
AName(item) · Source
Internal implementation detail; no supported authoring contract is documented.
applyCase¶
applyCase(word, head) · Source
Internal implementation detail; no supported authoring contract is documented.
article¶
article(word) · Source
------------------------------------------------------------- the words
awardPoints¶
awardPoints(points, why) · Source
Award points once for a named achievement.
bestReading¶
bestReading(matches) · Source
Internal implementation detail; no supported authoring contract is documented.
beVerb¶
beVerb() · Source
"is" or "are", and "was" or "were".
blockingFor¶
blockingFor(item) · Source
The nearest shut container between the player and this thing, or nil. Nearest first, because opening the outer one is what lets you reach the inner one, and the loop comes back for the rest.
bothOf¶
bothOf(left, right) · Source
What is in both lists.
bulkIn¶
bulkIn(container) · Source
How much is already inside something.
capitalised¶
capitalised(text) · Source
Internal implementation detail; no supported authoring contract is documented.
carried¶
carried(item) · Source
Internal implementation detail; no supported authoring contract is documented.
carriedBulk¶
carriedBulk() · Source
How much the player has in their arms, for a passage with a limit.
chooseOne¶
chooseOne(candidates, a, role) · Source
Internal implementation detail; no supported authoring contract is documented.
clearMessageParams¶
clearMessageParams() · Source
Internal implementation detail; no supported authoring contract is documented.
conjugate¶
conjugate(verb, past) · Source
One verb, agreeing with whatever the last parameter named. English needs an -s on a third-person singular present verb and nothing anywhere else, which is the whole of the agreement most library messages need. A verb whose past is not "-ed" says so.
connectorHere¶
connectorHere(item) · Source
A connector is in scope from either of the rooms it joins.
contractionName¶
contractionName(item) · Source
it's, you're, the keeper's* — the contraction of a name and "to be".
converse¶
converse(actor, about, asking) · Source
ASK X ABOUT Y and TELL X ABOUT Y.
defaultDescReport¶
defaultDescReport(c, id, a, b) · Source
The same, for a description: You see nothing unusual. Dropped when anything else is said, but kept for an implied command, because a description is an answer rather than an acknowledgement.
defaultReport¶
defaultReport(c, id, a, b) · Source
Internal implementation detail; no supported authoring contract is documented.
deliverTopic¶
deliverTopic(t, actor, about) · Source
Execute the exact selected entry; both ASK/TELL and menu adapters use it.
describeRoom¶
describeRoom() · Source
Internal implementation detail; no supported authoring contract is documented.
destinationOf¶
destinationOf(from, way) · Source
Where this exit ends up, following a connector if there is one.
dialogueContext¶
dialogueContext() · Source
Internal implementation detail; no supported authoring contract is documented.
dialogueEnd¶
dialogueEnd(reason) · Source
Internal implementation detail; no supported authoring contract is documented.
dialogueSay¶
dialogueSay(speaker, key) · Source
Internal implementation detail; no supported authoring contract is documented.
dialogueText¶
dialogueText(key) · Source
Keys stay stable; optional literal Message.text is terminal/example fallback. Fallback text and message activity must be observational, like availability.
dirName¶
dirName(way) · Source
Internal implementation detail; no supported authoring contract is documented.
doBoard¶
doBoard(c, item) · Source
Internal implementation detail; no supported authoring contract is documented.
doEnter¶
doEnter(c, item) · Source
Internal implementation detail; no supported authoring contract is documented.
doGetOff¶
doGetOff() · Source
Internal implementation detail; no supported authoring contract is documented.
doGo¶
doGo(way) · Source
Internal implementation detail; no supported authoring contract is documented.
doInventory¶
doInventory() · Source
---------------------------------------------------------- action helpers
doorDestination¶
doorDestination(door, from) · Source
The room on a door's far side, from the one you are standing in.
doPush¶
doPush(item, way) · Source
Internal implementation detail; no supported authoring contract is documented.
doPutIn¶
doPutIn(c, item, into) · Source
Internal implementation detail; no supported authoring contract is documented.
doPutOn¶
doPutOn(c, item, onto) · Source
Internal implementation detail; no supported authoring contract is documented.
endedCommand¶
endedCommand() · Source
Internal implementation detail; no supported authoring contract is documented.
endingFor¶
endingFor(word) · Source
The verb endings, by the string inside the braces. Answers nil for a word that is not one.
expandAll¶
expandAll(text, c) · Source
Internal implementation detail; no supported authoring contract is documented.
expandBody¶
expandBody(body, c) · Source
Internal implementation detail; no supported authoring contract is documented.
expandNested¶
expandNested(text, c) · Source
A nested [...] inside a tense choice, which is a parameter in brackets.
expandOne¶
expandOne(body, c) · Source
Expand one {...}, given what is inside it. The order matters: a tense choice, then a verb ending, then an irregular verb, then the format table, and only then the fallback that treats an unknown word as a regular verb — which is vhyl's own addition and is what lets a message write {take} instead of take{s}.
extraReport¶
extraReport(c, id, a, b) · Source
An extra line that does not suppress a default.
findDoer¶
findDoer(c) · Source
The Doer that catches this command, if any.
finishAccompaniment¶
finishAccompaniment(escort, advanceTours) · Source
Internal implementation detail; no supported authoring contract is documented.
finishCommand¶
finishCommand(c, a) · Source
The account and the turn, once, however many objects the command named.
finishGame¶
finishGame(why) · Source
End the game. The turn that calls this finishes; nothing after it runs.
firstNamed¶
firstNamed(candidates) · Source
Internal implementation detail; no supported authoring contract is documented.
formKind¶
formKind(head) · Source
Internal implementation detail; no supported authoring contract is documented.
getLiteral¶
getLiteral(c) · Source
Internal implementation detail; no supported authoring contract is documented.
getTopic¶
getTopic(c) · Source
Internal implementation detail; no supported authoring contract is documented.
getTopicText¶
getTopicText(c) · Source
Internal implementation detail; no supported authoring contract is documented.
here¶
here() · Source
Return the room containing the player.
holds¶
holds(list, wanted) · Source
Internal implementation detail; no supported authoring contract is documented.
inPast¶
inPast() · Source
---------------------------------------------------------- the expander
inScope¶
inScope(item) · Source
Internal implementation detail; no supported authoring contract is documented.
irregularVerb¶
irregularVerb(word) · Source
Internal implementation detail; no supported authoring contract is documented.
isAre¶
isAre(count) · Source
"is" or "are", for a count. Agreement, as far as vhyl needs it.
isAreFor¶
isAreFor(item) · Source
The same, for one thing whose name is grammatically plural.
isDark¶
isDark() · Source
A room you can see in: lit itself, or by something in it or carried.
isVerbWord¶
isVerbWord(word) · Source
Whether a word left of a | is a verb rather than one half of a choice.
itName¶
itName(item, nominative) · Source
A pronoun for something that is not the player: he, her, it, them.
kindIsPronoun¶
kindIsPronoun(kind) · Source
Internal implementation detail; no supported authoring contract is documented.
kindIsSubject¶
kindIsSubject(kind) · Source
Whether this kind is the sentence's subject.
kindMeansActor¶
kindMeansActor(kind) · Source
Whether this kind implies the actor rather than taking a selector.
kindNamesNothing¶
kindNamesNothing(kind) · Source
{way} names no object, so it must not disturb the antecedent.
kindReflexes¶
kindReflexes(kind) · Source
Whether this kind has a reflexive form to fall back on.
listContents¶
listContents(room) · Source
Internal implementation detail; no supported authoring contract is documented.
listedPhrases¶
listedPhrases(np) · Source
Internal implementation detail; no supported authoring contract is documented.
listSensed¶
listSensed(room) · Source
What can be sensed here, listed after the room.
litBy¶
litBy(room) · Source
Internal implementation detail; no supported authoring contract is documented.
literalText¶
literalText(phrase) · Source
The words of a literal phrase, joined back into a line.
mainReport¶
mainReport(c, id, a, b) · Source
The main result of the action. There may be several.
meetPreConds¶
meetPreConds(c, a, item, role) · Source
Internal implementation detail; no supported authoring contract is documented.
messageFor¶
messageFor(id) · Source
The message that answers to this id, or nil.
msgFor¶
msgFor(id, a, b) · Source
The text of a message about one or two objects, read rather than said. refuses answers a sentence for the turn to print, so it needs the words rather than the side effect. A message with no text — one whose body emits — has nothing to read, and answers nil so the caller falls back to whatever it would have said anyway.
nameList¶
nameList(items) · Source
Internal implementation detail; no supported authoring contract is documented.
nestedIn¶
nestedIn() · Source
What the player is in or on, if anything short of the room.
nomName¶
nomName(item) · Source
The subject form: you, I, the keeper.
noteDone¶
noteDone(c, item) · Source
Internal implementation detail; no supported authoring contract is documented.
noteSeen¶
noteSeen(items) · Source
A displayed discovery is world knowledge, including for a host using only semantic events. Do not infer this from arbitrary message subjects.
noteSentenceEnd¶
noteSentenceEnd(text) · Source
Internal implementation detail; no supported authoring contract is documented.
noteSubject¶
noteSubject(item, isPlural) · Source
Note that a parameter named this entity, for the verb and the pronoun after it.
objName¶
objName(item) · Source
The object form: you, me, the keeper.
oppositeOf¶
oppositeOf(way) · Source
Internal implementation detail; no supported authoring contract is documented.
paramOf¶
paramOf(name, c) · Source
The entity a {...} parameter names, by the word the message used.
pcPerson¶
pcPerson() · Source
The person the player character is written in, and whether that person takes a plural verb. "I", "you", "we" and "they" all take the bare form; only a third-person singular takes the -s.
pcWord¶
pcWord(nominative) · Source
Internal implementation detail; no supported authoring contract is documented.
phraseCandidates¶
phraseCandidates(np) · Source
The entities a phrase names: every word in it has to name them.
possAdjName¶
possAdjName(item) · Source
Internal implementation detail; no supported authoring contract is documented.
possNounName¶
possNounName(item) · Source
mine, yours, his, hers, its, theirs* — the form that stands alone.
postureName¶
postureName(p) · Source
Internal implementation detail; no supported authoring contract is documented.
prepFor¶
prepFor(pos) · Source
The English word for a spatial position. vhyl says a thing rests posOn another; which preposition that is, and that English has one at all, is this module's business.
proIsPlural¶
proIsPlural(item) · Source
Whether this thing takes a plural verb: they are, it is.
pronounSet¶
pronounSet(item) · Source
------------------------------------------------------- the name shapes
proPossAdj¶
proPossAdj(item) · Source
his/her/its/their — the form that qualifies a noun.
proPossNoun¶
proPossNoun(item) · Source
his/hers/its/theirs — the form that stands alone.
proReflexive¶
proReflexive(item) · Source
himself/herself/itself/themselves.
proWord¶
proWord(item, nominative) · Source
he/she/it/they, and him/her/it/them.
rankOf¶
rankOf(item, a, role) · Source
Internal implementation detail; no supported authoring contract is documented.
readingRank¶
readingRank(m) · Source
Internal implementation detail; no supported authoring contract is documented.
recover¶
recover(code) · Source
Internal implementation detail; no supported authoring contract is documented.
reflexiveName¶
reflexiveName(item) · Source
myself, yourself, himself, herself, itself, themselves*.
relocateActor¶
relocateActor(a, dest) · Source
A movement fact is independent of prose and visibility. Fiat relocation uses this too, but deliberately gathers nobody and consumes no action.
removeFromAgenda¶
removeFromAgenda(a, item) · Source
Internal implementation detail; no supported authoring contract is documented.
replaceAction¶
replaceAction(verb, item, other) · Source
Internal implementation detail; no supported authoring contract is documented.
reportAfter¶
reportAfter(c, id, a, b) · Source
Moved after every main report, however early it is added.
reportBefore¶
reportBefore(c, id, a, b) · Source
Internal implementation detail; no supported authoring contract is documented.
reportFailure¶
reportFailure(c, id, a, b) · Source
A main report that also marks the command a failure, so a caller that ran it as an implied action knows not to go on.
roomFor¶
roomFor(container, item) · Source
Whether one more thing fits. A capacity of 0 means no limit is stated.
roomSpecials¶
roomSpecials(room) · Source
Internal implementation detail; no supported authoring contract is documented.
runActors¶
runActors() · Source
Every event that is due, in declaration order.
runCommand¶
runCommand(c) · Source
Internal implementation detail; no supported authoring contract is documented.
runCommandOver¶
runCommandOver(c, items) · Source
Internal implementation detail; no supported authoring contract is documented.
runEvents¶
runEvents() · Source
Internal implementation detail; no supported authoring contract is documented.
runScenes¶
runScenes() · Source
Run every turn: start and stop whatever scenes are due.
sayAbout¶
sayAbout(id, a, list, word) · Source
Say an id about an object and a list of things, or a word.
sayFor¶
sayFor(id, a, b) · Source
Say an id about one or two objects, with no command in hand.
sayMsg¶
sayMsg(id, c) · Source
Say what this id means. c is the command, so a message that wants the objects has them; one that does not ignores it. An unknown id prints the id itself rather than nothing, because a message that silently says nothing is the hardest kind to find.
sayReports¶
sayReports(c) · Source
Internal implementation detail; no supported authoring contract is documented.
seeInto¶
seeInto(item) · Source
Whether what is inside can be seen. Open, or not shuttable, or shut but transparent — a glass jar with the lid on shows what is in it.
setMessageParam¶
setMessageParam(name, item) · Source
Internal implementation detail; no supported authoring contract is documented.
splitParam¶
splitParam(body) · Source
Internal implementation detail; no supported authoring contract is documented.
syncStates¶
syncStates() · Source
Bring every state's vocabulary into line with the world. Idempotent: a state whose word has not changed writes nothing, so this costs one property read per state on a turn where nothing happened.
takePosture¶
takePosture(c, item, want) · Source
------------------------------------------------------------- postures
tellApart¶
tellApart(item, others) · Source
Internal implementation detail; no supported authoring contract is documented.
thatName¶
thatName(item) · Source
Internal implementation detail; no supported authoring contract is documented.
theName¶
theName(item) · Source
------------------------------------------------------- naming helpers
TheName¶
TheName(item) · Source
Internal implementation detail; no supported authoring contract is documented.
topicAvailableTo¶
topicAvailableTo(t, asker) · Source
Internal implementation detail; no supported authoring contract is documented.
topicFor¶
topicFor(actor, about, asking) · Source
Internal implementation detail; no supported authoring contract is documented.
tryImplied¶
tryImplied(verb, item, into, outer) · Source
Internal implementation detail; no supported authoring contract is documented.
tSel¶
tSel(now, then) · Source
Internal implementation detail; no supported authoring contract is documented.
verbEnding¶
verbEnding(present, past) · Source
Internal implementation detail; no supported authoring contract is documented.
verbFor¶
verbFor(code) · Source
The verb this code names, or nil.
verbForPosture¶
verbForPosture(want) · Source
The verb that puts somebody into a posture, for an implied command.
vhylAct¶
vhylAct(verb, subjects) · Source
Submit a structured verb code and entity arguments to the normal action cycle.
vhylStart¶
vhylStart() · Source
Initialise the world once, place the player and describe the initial room.
vhylTurn¶
vhylTurn(toks) · Source
Submit parser tokens to the library's text command cycle.
visible¶
visible(item) · Source
Visible means reachable without opening anything: every container between the item and the room has to be open. One walk up the containment table.
wayFrom¶
wayFrom(from, to) · Source
Internal implementation detail; no supported authoring contract is documented.
wayWord¶
wayWord(c) · Source
Internal implementation detail; no supported authoring contract is documented.
wearTravelState¶
wearTravelState(a, conn) · Source
Internal implementation detail; no supported authoring contract is documented.
withPast¶
withPast(on) · Source
The tense a {...!} parameter and quoted speech pin themselves to.
withPresent¶
withPresent() · Source
Internal implementation detail; no supported authoring contract is documented.
withTense¶
withTense(past) · Source
Internal implementation detail; no supported authoring contract is documented.
wordFor¶
wordFor(kind, item) · Source
The word a kind produces for a thing.