SpecialTopicAction class | actions.t[2033]

Invoke the active SpecialTopic. This isn't a real command - the player will never actually type this; rather, it's a pseudo-command that we send to ourselves from a string pre-parser when we recognize input that matches a SpecialTopic's custom command syntax.

Note that we actually define the syntax for this command right here in the language-independent library, because this isn't a real command. The user never needs to type this command, since it's something we generate internally. The only important language issue is that we use a command keyword that no language will ever want to use for a real command, so we intentionally use some near-English gibberish.

`DefineLiteralAction(SpecialTopic) // original source text`
`class SpecialTopicAction : LiteralAction // after macro expansion`

Superclass Tree (in declaration order)

`SpecialTopicAction`
`LiteralAction`
`LiteralActionBase`
`object`
`IAction`
`Action`
`BasicProd`
`object`

Subclass Tree

`SpecialTopicAction`
`predicate(SpecialTopic)`

Global Objects

(none)

Summary of Properties

``

Inherited from `LiteralAction` :
`predicateNounPhrases verbPhrase`

Inherited from `LiteralActionBase` :
`text_`

``

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

Inherited from `BasicProd` :
`firstTokenIndex isSpecialResponseMatch lastTokenIndex`

Summary of Methods

`decodeOrig encodeOrig execAction getEnteredText repeatAction`

Inherited from `LiteralAction` :
`getQuestionInf getVerbPhrase resolveNouns whatObj`

Inherited from `LiteralActionBase` :
`getLiteral getMessageParam setObjectMatches setResolvedObjects`

Inherited from `IAction` :
`doActionMain`

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 getNotifyTable getObjectForRole getObjPreCondDescList getObjPreConditions getObjResponseProd getOriginalAction getOrigTokenList getOtherObjectRole getParticiplePhrase getPreCondDescList getPreCondPropForRole getPredicate getPronounOverride getRemappedFrom getRemapPropForRole getResolvedObjList getResolveInfo getRoleFromIndex getSimpleSynonymRemap getSortedVerifyResults getVerifyPropForRole initTentative isConversational isNestedIn isPartOf isRemapped makeResolveInfo makeResolveInfoList maybeAnnounceDefaultObject maybeAnnounceImplicit maybeAnnounceMultiObject noMatch notifyBeforeAfter objListPronoun preAnnounceActionObject recalcSenseContext resetAction resolveAction resolvedObjectsInScope runBeforeNotifiers saveActionForAgain setCurrentObjects setImplicit setMessageParam setMessageParams setNested setOriginalAction setPronounOverride setRemapped spPrefix spSuffix synthMessageParam verifyAction verifyHandlersExist whatTranslate withVerifyResults zeroActionTime`

Inherited from `BasicProd` :
`canResolveTo getOrigText setOrigTokenList`

Properties

(none)

Methods

`decodeOrig (txt)` | `actions.t[2099]`

decode our encoding

`encodeOrig (txt)` | `actions.t[2092]`

encode the original text for our literal phrase: turn double quotes into '%q' sequences, and turn percent signs into '%%' sequences

`execAction ( )`OVERRIDDEN | `actions.t[2034]`

no description available

`getEnteredText ( )` | `actions.t[2085]`

Get the original player-entered text. This is our literal phrase, with the embedded-quote encoding decoded.

`repeatAction (lastTargetActor, lastTargetActorPhrase, lastIssuingActor, countsAsIssuerTurn)`OVERRIDDEN | `actions.t[2048]`

Repeat the action, for an AGAIN command. We need to make sure the special text interpretation we gave to the command still holds; if not, reparse the original text and try that.

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