Functions

Reference index

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.