Seekobject

newbie.t[937]

Superclass
Tree

Property
Summary

Method
Summary

Property
Details

Method
Details

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 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 implicitAnnouncement reportAction setMessageParam setMessageParams spPrefix spSuffix synthMessageParam turnSequence verify verifyObjRole wrapObjectsNP

Inherited from ReplaceRedirector :
redirect

Inherited from Redirector :
doInstead doNested doOtherAction

Properties  

(none)

Methods  

execAction (cmd)OVERRIDDEN

newbie.t[938]

no description available

getBestMatch (cmd)

newbie.t[999]

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[1037]

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

senseDesc (obj)

newbie.t[1045]

no description available

Adv3Lite Library Reference Manual
Generated on 15/03/2023 from adv3Lite version 1.6.1