InstructionsActionclass

instruct.t[81]

Superclass
Tree

Subclass
Tree

Global
Objects

Property
Summary

Method
Summary

Property
Details

Method
Details

The INSTRUCTIONS command. Make this a “system” action, because it’s a meta-action outside of the story. System actions don’t consume any game time.

DefineSystemAction(Instructions)      // original source text
class InstructionsAction :   SystemAction// after macro expansion

Superclass Tree   (in declaration order)

InstructionsAction
SystemAction
IAction
Action
BasicProd
`                                         object`

Subclass Tree  

InstructionsAction
predicate(instructions)

Global Objects  

(none)

Summary of Properties  

allRequiredVerbsDisclosed conversationAbbr conversationInstructions conversationVerbs crueltyLevel customVerbs includeInUndo isRealTime isRepeatable truncationLength

Inherited from SystemAction :
actionTime

Inherited from Action :
afterActionMainList beforeAfterObjs defaultForRecursion extraMessageParams implicitMsg isImplicit iterationCanceled originalAction parentAction preCond predicateNounPhrases pronounOverride remappedFrom showDefaultReports synthParamID verbFlags verifiedOkay

Inherited from BasicProd :
firstTokenIndex isSpecialResponseMatch lastTokenIndex

Summary of Methods  

execSystemAction showAbbrevChapter showAdvancedCmdChapter showAmbiguousCmdChapter showCommandsChapter showConversationChapter showInstructions showObjectsChapter showSaveRestoreChapter showSpecialCmdChapter showTimeChapter showTipsChapter showTravelChapter showUnknownWordsChapter

Inherited from SystemAction :
execAction getInputFile

Inherited from IAction :
doActionMain resolveNouns

Inherited from Action :
actionOfKind addBeforeAfterObj afterAction afterActionMain announceActionObject announceAllDefaultObjects announceDefaultObject beforeAction beforeActionMain cacheMultiObjectAnnouncements callAfterActionMain callCatchAllProp callPreConditions callVerifyPreCond callVerifyProp cancelIteration checkAction checkPreConditions checkRemapping combineRemappedVerifyResults createActionFrom createActionInstance createTopicQualifierResolver doAction doActionOnce filterAmbiguousWithVerify filterFacets filterPluralWithVerify finishResolveList getAnaphoricBinding getCurrentObjects getDefaultWithVerify getEnteredVerbPhrase getImplicitPhrase getInfPhrase getMatchForRole getMessageParam getNotifyTable getObjectForRole getObjPreCondDescList getObjPreConditions getObjResponseProd getOriginalAction getOrigTokenList getOtherObjectRole getParticiplePhrase getPreCondDescList getPreCondPropForRole getPredicate getPronounOverride getQuestionInf getRemappedFrom getRemapPropForRole getResolvedObjList getResolveInfo getRoleFromIndex getSimpleSynonymRemap getSortedVerifyResults getVerbPhrase getVerifyPropForRole initTentative isConversational isNestedIn isPartOf isRemapped makeResolveInfo makeResolveInfoList maybeAnnounceDefaultObject maybeAnnounceImplicit maybeAnnounceMultiObject noMatch notifyBeforeAfter objListPronoun preAnnounceActionObject recalcSenseContext repeatAction resetAction resolveAction resolvedObjectsInScope runBeforeNotifiers saveActionForAgain setCurrentObjects setImplicit setMessageParam setMessageParams setNested setObjectMatches setOriginalAction setPronounOverride setRemapped setResolvedObjects spPrefix spSuffix synthMessageParam verifyAction verifyHandlersExist whatObj whatTranslate withVerifyResults zeroActionTime

Inherited from BasicProd :
canResolveTo getOrigText setOrigTokenList

Properties  

allRequiredVerbsDisclosed

instruct.t[97]

This property tells us how complete the verb list is. By default, we’ll assume that the instructions fail to disclose every required verb in the game, because the generic set we use here doesn’t even try to anticipate the special verbs that most games include. If you provide your own list of game-specific verbs, and your custom list (taken together with the generic list) discloses every verb required to complete the game, you should set this property to true; if you set this to true, the instructions will assure the player that they will not need to think of any verbs besides the ones listed in the instructions. Authors are strongly encouraged to disclose a list of verbs that is sufficient by itself to complete the game, and to set this property to true once they’ve done so.

conversationAbbr

instruct.t[129]

conversation verb abbreviations

conversationInstructions

instruct.t[219]

Conversation system description. Several different conversation systems have come into relatively widespread use, so there isn’t any single convention that’s generic enough that we can assume it holds for all games. In deference to this variability, we provide this hook to make it easy to replace the instructions pertaining to the conversation system. If the game uses the standard ASK/TELL system, it can leave this list unchanged; if the game uses a different system, it can replace this with its own instructions.

We’ll include information on the TALK TO command if there are any in-conversation state objects in the game; if not, we’ll assume there’s no need for this command.

We’ll mention the TOPICS command if there are any SuggestedTopic instances in the game; if not, then the game will never have anything to suggest, so the TOPICS command isn’t needed.

We’ll include information on special topics if there are any SpecialTopic objects defined.

conversationVerbs

instruct.t[118]

Verbs relating specifically to character interaction. This is in the same format as customVerbs, and has essentially the same purpose; however, we call these out separately to allow each game not only to supplement the default list we provide but to replace our default list. This is desirable for conversation-related commands in particular because some games will not use the ASK/TELL conversation system at all and will thus want to remove any mention of the standard set of verbs.

crueltyLevel

instruct.t[188]

This property should be set on a game-by-game basis to indicate the “cruelty level” of the game, which is a rough estimation of how likely it is that the player will encounter an unwinnable position in the game.

Level 0 is “kind,” which means that the player character can never be killed, and it’s impossible to make the game unwinnable. When this setting is used, the instructions will reassure the player that saving is necessary only to suspend the session.

Level 1 is “standard,” which means that the player character can be killed, and/or that unwinnable positions are possible, but that there are no especially bad unwinnable situations. When this setting is selected, we’ll warn the player that they should save every so often.

(An “especially bad” situation is one in which the game becomes unwinnable at some point, but this won’t become apparent to the player until much later. For example, suppose the first scene takes place in a location that can never be reached again after the first scene, and suppose that there’s some object you can obtain in this scene. This object will be required in the very last scene to win the game; if you don’t have the object, you can’t win. This is an “especially bad” unwinnable situation: if you leave the first scene without getting the necessary object, the game is unwinnable from that point forward. In order to win, you have to go back and play almost the whole game over again. Saved positions are almost useless in a case like this, since most of the saved positions will be after the fatal mistake; no matter how often you saved, you’ll still have to go back and do everything over again from near the beginning.)

Level 2 is “cruel,” which means that the game can become unwinnable in especially bad ways, as described above. If this level is selected, we’ll warn the player more sternly to save frequently.

We set this to 1 (“standard”) by default, because even games that aren’t intentionally designed to be cruel often have subtle situations where the game becomes unwinnable, because of things like the irreversible loss of an object, or an unrepeatable event sequence; it almost always takes extra design work to ensure that a game is always winnable.

customVerbs

instruct.t[106]

A list of custom verbs. Each game should set this to a list of single-quoted strings; each string gives an example of a verb to display in the list of sample verbs. Something like this:

customVerbs = [‘brush my teeth’, ‘pick the lock’]

includeInUndoOVERRIDDEN

instruct.t[992]

no description available

isRealTime

instruct.t[195]

Does this game have any real-time features? If so, set this to true. By default, we’ll explain that game time passes only in response to command input.

isRepeatableOVERRIDDEN

instruct.t[991]

INSTRUCTIONS doesn’t affect UNDO or AGAIN

truncationLength

instruct.t[141]

Truncation length. If the game’s parser allows words to be abbreviated to some minimum number of letters, this should indicate the minimum length. The English parser uses a truncation length of 6 letters by default.

Set this to nil if the game doesn’t allow truncation at all.

Methods  

execSystemAction ( )OVERRIDDEN

instruct.t[299]

execute the command

showAbbrevChapter ( )

instruct.t[547]

Abbreviations chapter

showAdvancedCmdChapter ( )

instruct.t[870]

Advance Command Formats chapter

showAmbiguousCmdChapter ( )

instruct.t[831]

Ambiguous Commands chapter

showCommandsChapter ( )

instruct.t[432]

Entering Commands chapter

showConversationChapter ( )

instruct.t[659]

show the Conversation chapter

showInstructions ( )

instruct.t[337]

Show the instructions as a standard text display. Give the user the option of turning on a SCRIPT file to capture the text.

showObjectsChapter ( )

instruct.t[632]

Objects chapter

showSaveRestoreChapter ( )

instruct.t[698]

Saving, Restoring, and Undo chapter

showSpecialCmdChapter ( )

instruct.t[770]

Other Special Commands chapter

showTimeChapter ( )

instruct.t[670]

Time chapter

showTipsChapter ( )

instruct.t[933]

General Tips chapter

showTravelChapter ( )

instruct.t[586]

Travel chapter

showUnknownWordsChapter ( )

instruct.t[816]

Unknown Words chapter

TADS 3 Library Manual
Generated on 5/16/2013 from TADS version 3.1.3