Seek object | newbie.t[944]

SeekAction is designed to handle of commands FIND X, LOOK FOR Y or SEARCH FOR Z, when they don't seem to be intended as attempts to look something up in a Consultable. We make it a TopicAction so that it will match whatever the player types, and so not give away any premature spoilery information by the nature of the parser's response.

The appropriate response then depends on the player character's state of knowledge. In the most general case the player is simply given instructions on how to go about looking for things. This hardly seems appropriate, however if the object requested is in plain sight, in which case we point this out to the player. As a courtesy to the player, we also remind him or her of where an object was last seen, if it has been seen.

One or two complications need to be dealt with. If the player finds something like FIND SMELL or FIND NOISE then we should describe it as having been smelt or heard elsewhere, not seen. We also want to make sure that the command never matches an Unthing in preference to a Thing, and that if an Unthing is matched it is not described as being present.

`Seek : TopicAction`

Superclass Tree (in declaration order)

`Seek`
`TopicAction`
`IAction`
`Action`
`ReplaceRedirector`
`Redirector`
`object`

Summary of Properties

``

Inherited from `TopicAction` :
`curTopic`

Inherited from `IAction` :
`againRepeatsParse`

Inherited from `Action` :
`actionFailed advanceOnFailure allowAll extraMessageParams failCheckMsg failedActionCountsAsTurn implicitTimeTaken includeInUndo isConversational isImplicit isRepeatable oldRoom parentAction parentAllowAll preCond redirectParent reportImplicitActions scopeList spellingPriority synthParamID timeTaken turnsTaken unhides verbRule verifyObj wasIlluminated`

``

``

Summary of Methods

`execAction getBestMatch locDesc senseDesc`

Inherited from `TopicAction` :
`exec`

Inherited from `IAction` :
`execCycle execResolvedAction resolvedObjectsInScope scoreObjects setResolvedObjects`

Inherited from `Action` :
`acknowledgeNotifyStatus addExtraScopeItems addImplicitTime advanceTime afterAction announceObject beforeAction buildImplicitActionAnnouncement buildScopeList checkAction checkActionPreconditions commandNotPresent execGroup getAll getAllUnhidden getMessageParam getPostImplicitReports implicitAnnouncement reportAction setMessageParam setMessageParams spPrefix spSuffix synthMessageParam turnSequence verify verifyObjRole wrapObjectsNP`

Inherited from `ReplaceRedirector` :
`redirect`

Inherited from `Redirector` :
`askMissingLiteral doInstead doNested doOtherAction`

Properties

(none)

Methods

`execAction (cmd)`OVERRIDDEN | `newbie.t[945]`

no description available

`getBestMatch (cmd)` | `newbie.t[1006]`

gTopic.getBestMatch() may not give the best results for our purposes. The following code is designed to prefer Things to Unthings, and then to prioritize what the player char can see over what s/he has seen, and both over what s/he only knows about. If none of these find a match, we then revert to gTopic.getBestMatch.

`locDesc (obj, loc)` | `newbie.t[1044]`

Finally, if all else fails, just return the ResolvedTopic's idea of a best match.

`senseDesc (obj)` | `newbie.t[1052]`

no description available

Adv3Lite Library Reference Manual
Generated on 03/07/2024 from adv3Lite version 2.1