Seekobjectnewbie.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  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)OVERRIDDENnewbie.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 25/04/2024 from adv3Lite version 2.0