Seekobject
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
no description available
getBestMatch (cmd)
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)
Finally, if all else fails, just return the ResolvedTopic’s idea of a best match.
senseDesc (obj)
no description available
Adv3Lite Library Reference Manual
Generated on 15/03/2023 from adv3Lite version 1.6.1