msg_neu.tfilesource 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 5/16/2013 from TADS version 3.1.3