Actionclass | action.t[22], english.t[5320], objtime.t[173], sysrules.t[340] |
Superclass Tree | Subclass Tree | Global Objects | Property Summary | Method Summary | Property Details | Method Details |
Modified in english.t[5320]:
Language-specific modifications to Action classes principally to enable the construction of implicit action announcements.
Modified in objtime.t[173]:
Modifications to the Action class for use with the OBJTIME EXTENSION. The purpose of these modifications is to advance the game clock each turn.
class
Action : ReplaceRedirector
Action
ReplaceRedirector
Redirector
object
Action
IAction
LiteralAction
MiscConvAction
NumericAction
SystemAction
FileOpAction
TopicAction
ImplicitConversationAction
TAction
LiteralTAction
NumericTAction
TIAction
TIAAction
TopicTAction
TravelAction
FootnotesFullAction
FootnotesMediumAction
FootnotesOffAction
Record
RecordEvents
RecordEventsString
RecordString
Replay
ReplayString
RestoreString
Save
SaveString
ScriptOn
ScriptString
actionFailed
advanceOnFailure
againRepeatsParse
allowAll
extraMessageParams
failCheckMsg
implicitTimeTaken
includeInUndo
isImplicit
isRepeatable
oldRoom
parentAction
parentAllowAll
preCond
redirectParent
reportImplicitActions
scopeList
spellingPriority
synthParamID
timeTaken
turnsTaken
unhides
verifyObj
wasIlluminated
acknowledgeNotifyStatus
addExtraScopeItems
addImplicitTime
advanceTime
afterAction
announceObject
beforeAction
buildImplicitActionAnnouncement
buildScopeList
checkAction
checkActionPreconditions
commandNotPresent
exec
execAction
execCycle
execGroup
getAll
getAllUnhidden
getMessageParam
implicitAnnouncement
reportAction
scoreObjects
setMessageParam
setMessageParams
spPrefix
spSuffix
synthMessageParam
turnSequence
verify
verifyObjRole
wrapObjectsNP
Inherited from ReplaceRedirector
:
redirect
Inherited from Redirector
:
doInstead
doNested
doOtherAction
actionFailed | action.t[29] |
advanceOnFailure | objtime.t[190] |
againRepeatsParse | action.t[385] |
allowAll | action.t[934] |
extraMessageParams | action.t[745] |
failCheckMsg | action.t[950] |
implicitTimeTaken | objtime.t[208] |
includeInUndo | action.t[367] |
isImplicit | action.t[364] |
isRepeatable | action.t[374] |
oldRoom | action.t[136] |
parentAction | action.t[404] |
parentAllowAll | action.t[943] |
preCond | action.t[146] |
redirectParent | action.t[940] |
reportImplicitActions | english.t[5349] |
scopeList | action.t[922] |
spellingPriority | action.t[925] |
synthParamID | action.t[736] |
timeTaken | objtime.t[198] |
turnsTaken | action.t[361] |
unhides | action.t[972] |
verifyObj | action.t[649] |
wasIlluminated | action.t[139] |
acknowledgeNotifyStatus (stat) | action.t[962] |
addExtraScopeItems (role?) | action.t[916] |
addImplicitTime ( ) | action.t[978], objtime.t[214] |
Modified in objtime.t[214]:
Add our implicitTimeTaken to the total time taken for the turn. [OBJTIME EXTENSION]
advanceTime ( ) | action.t[984], objtime.t[176] |
Modified in objtime.t[176]:
Advance the notional game time [OBJTIME EXTENSION]
afterAction ( ) | action.t[263], sysrules.t[352] |
Note that afterAction() is called from the current Command object.
Modified in sysrules.t[352]:
Carry out the post-action processing. This first checks to see if there's been a change in illumination. If there has we either show a room description (if the actor's location is now lit) or announce the onset of darkness. We then call the after action notifications first on the actor's current room and then on every object in scope.
Note that afterAction() is called from the current Command object. [MODIFIED FOR SYSRULES EXTENSION]
announceObject (obj) | english.t[5469] |
beforeAction ( ) | action.t[209], sysrules.t[377] |
Modified in sysrules.t[377]:
[MODIFIED FOR SYSRULES EXTENSION] Use the beforeRules RuleBook to carry out the before action handling.
buildImplicitActionAnnouncement (success, clearReports, =, true) | english.t[5358] |
[Required]
buildScopeList (whichRole, =, DirectObject) | action.t[900] |
checkAction ( ) | action.t[46] |
checkActionPreconditions ( ) | action.t[148] |
commandNotPresent ( ) | action.t[954] |
exec (cmd) | action.t[53] |
execAction (cmd) | action.t[131] |
execCycle (cmd) | action.t[88] |
execGroup (cmd) | action.t[38] |
getAll (cmd, role) | action.t[755] |
getAllUnhidden (cmd, role) | action.t[769] |
getMessageParam (objName) | action.t[657] |
implicitAnnouncement (success) | english.t[5451] |
A return value of nil will suppress the implicit action report for this action altogeher.
reportAction ( ) | action.t[396] |
scoreObjects (cmd, role, lst) | action.t[815] |
'cmd' is the Command object describing the command. The various object lists (dobjs, iobjs, accs) have been filled in with the in-scope objects that match the noun phrase, but these haven't been disambiguated yet, so there might be more objects listed than will actually be used in the final command.
'role' tells us the noun phrase role that we're scoring (DirectObject, IndirectObject, AccessoryObject, TopicRole, LiteralRole).
'lst' is the match list. This is a Vector containing NPMatch objects. There's one NPMatch for each object that we're considering as a match for the player's noun phrase.
For each item in the match list, we must set the NPMatch object's 'score' property to a number indicating how likely we think it is that the player is referring to this object. The higher the score, the more likely we think it is. The score value is purely relative - the caller will pick the object or objects with the highest score.
We run through the verify routine for each object, which in turn runs through the preconditions of that object. We take the returned verify score to be the score for the object (or its replacement if remapping took place).
Next, we do any verb-specific adjustments via self.actionScore().
Finally, we call each object's scoreObject() routine to give the object a chance to make any adjustments for special affinities (or aversions).
setMessageParam (objName, obj) | action.t[693] |
setMessageParams ([lst]) | action.t[710] |
spPrefix (str) | english.t[5461] |
spSuffix (str) | english.t[5462] |
synthMessageParam (obj) | action.t[721] |
turnSequence ( ) | action.t[329], sysrules.t[406] |
Modified in sysrules.t[406]:
[MODIFIED FOR SYSRULES EXTENSION] Use the turnEnd RuleBook to carry out the end-of-turn processing.
verify (obj, role) | action.t[413] |
verifyObjRole (obj, role) | action.t[577] |
wrapObjectsNP (lst) | action.t[887] |