msg_neu.t file | source file

TADS 3 Library - "neutral" messages for US English

This module provides standard library messages with a parser/narrator that's as invisible (neutral) as possible. These messages are designed to reduce the presence of the computer as mediator in the story, to give the player the most direct contact that we can with the scenario.

The parser almost always refers to itself in the third person (by calling itself something like "this story") rather than in the first person, and, whenever possible, avoids referring to itself in the first place. Our ideal phrasing is either second-person, describing things directly in terms of the player character's experience, or "no-person," simply describing things without mentioning the speaker or listener at all. For example, rather than saying "I don't see that here," we say "you don't see that here," or "that's not here." We occasionally stray from this ideal where achieving it would be too awkward.

In the earliest days of adventure games, the parser was usually a visible presence: the early parsers frequently reported things in the first person, and some even had specific personalities. This conspicuous parser style has become less prevalent in modern games, though, and authors now usually prefer to treat the parser as just another part of the user interface, which like all good UI's is best when the user doesn't notice it.

Summary of Classes

`BaseContentsLister BaseInlineContentsLister BaseRearContentsLister BaseSurfaceContentsLister BaseThingContentsLister BaseUndersideContentsLister CustomRoomLister ExitLister LookWhereContentsLister MajorAttachmentLister RemoteRoomLister SimpleAttachmentLister SuggestedTopicLister SuggestionListGroup`

Summary of Global Objects

`aboardVehicleLister actorHoldingDescInventoryListerLong actorHoldingDescInventoryListerShort actorInventoryLister actorSingleInventoryLister darkRoomLister equivalentStateLister exitsTip explicitExitLister finishOptionsLister footnotesTip fullScoreTip implicitAnnouncementGrouper inlineListingContentsLister keyringExamineContentsLister keyringInlineContentsLister libMessages lookAroundExitLister lookAroundTerseExitLister npcActionMessages npcDeferredMessages npcDeferredMessagesDirect npcMessages npcMessagesDirect oopsTip openableDescContentsLister openableOpeningLister otherExitLister playerActionMessages playerMessages rearAbandonContentsLister rearContentsLister rearDescContentsLister rearInlineContentsLister rearLookBehindLister roomLister roomPartContentsLister roomPartDescContentsLister roomPartLookInLister scoreChangeTip statuslineExitLister suggestionAskForGroup suggestionAskGroup suggestionGiveGroup suggestionShowGroup suggestionTellGroup suggestionYesNoGroup surfaceContentsLister surfaceDescContentsLister surfaceInlineContentsLister surfaceLookInLister thingContentsLister thingDescContentsLister thingLookInLister undersideAbandonContentsLister undersideContentsLister undersideDescContentsLister undersideInlineContentsLister undersideLookUnderLister undoTip`

Summary of Global Functions

`buildParam buildSynthParam`

Global Functions

`buildParam (typeString, nm)` | `msg_neu.t[53]`

Build a message parameter string with the given parameter type and name.

This is useful when we have a name from a variable, and we need to build the message substitution string for embedding in a larger string. We can't just embed the name variable using <<var>>, because that would process the output piecewise - the output filter needs to see the whole {typ var} expression in one go. So, instead of writing this:

{The/he <<var>>} {is} ...

write this:

<<buildParam('The/he', var)>> {is} ...

`buildSynthParam (typeString, obj)` | `msg_neu.t[66]`

Synthesize a message parameter, and build it into a parameter string with the given substitution type.

For example, buildSynthParam('abc', obj) returns '{abc xxx}', where 'xxx' is a synthesized message parameter name (created using gSynthMessageParam) for the object obj.

TADS 3 Library Manual
Generated on 8/21/2012 from TADS version 3.1.2