SpecialTravelAction class | actions.t[831]

Base class for special travel actions like CLIMB or JUMP or XYZZY which refer to similar-named properties on the current room without implying any particular direction. This is similar to TravelAction except that we define the property pointer on the action subclasses rather than any associated direction.

Note that concrete instances of SpecialTravelAction can normally be defined using the macro *. DefSpecialTravel(action, prop, voc); *. Where action is both the action name and the associated VerbRule tag, prop is a property pointer for the property we want to use on Room, and voc is the vocab/grammar we want to use to invoke the action, e.g., *. DefSpecialTravel(Xyzzy, &xyzzy, 'xyzzy') darkTravelAllowed = true;

`class SpecialTravelAction : IAction`

Superclass Tree (in declaration order)

`SpecialTravelAction`
`IAction`
`Action`
`ReplaceRedirector`
`Redirector`
`object`

Subclass Tree

(none)

Global Objects

`ClimbVague Jump`

Summary of Properties

`baseActionClass darkTravelAllowed noGoodHereMsg requireOutOfNested travelProp`

Inherited from `IAction` :
`againRepeatsParse`

Inherited from `Action` :
`actionFailed advanceOnFailure allowAll combineDuplicateObjects 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

`connotTravelInDark execAction fallback getOutOfNested noteRetval`

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

Inherited from `Action` :
`acknowledgeNotifyStatus addExtraScopeItems addImplicitTime advanceTime afterAction announceObject beforeAction buildImplicitActionAnnouncement buildScopeList checkActionPreconditions commandNotPresent exec execCycle 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

`baseActionClass` | `actions.t[832]`

no description available

`darkTravelAllowed` | `actions.t[845]`

Is rhis travel permitted in the dark? By default we don't permit this but subclasses can override (for example if implememting travel via a magic work like XYZZY where light levels may not be relevant).

`noGoodHereMsg` | `actions.t[953]`

The message to display when our travelProp doesn't point to anything usable in the current location.

`requireOutOfNested` | `actions.t[851]`

Does the traveler need to be out of any nested room before travel can proceed? Normally this will be the case.

`travelProp` | `actions.t[838]`

Property pointer for The property defined on a Room that this action will match, e.g. &jump or &xyxxy. Subclasses MUST override this to an appropriate value.

Methods

`connotTravelInDark (loc)` | `actions.t[943]`

The message to display is travel is attempted in the dark from loc when dark travel is not allowed.

`execAction (cmd)`OVERRIDDEN | `actions.t[855]`

Carry out the travel (or other action) defined on our associated room property.

`fallback (loc)` | `actions.t[936]`

Our fallback() method to use if our travelProp does not point to a non-nil property defined on the actor's currec location. By default we just display our noGoodHereMsg.

`getOutOfNested (conn)` | `actions.t[968]`

Get our traveler out of any nested room it's in.

`noteRetval (loc, val)` | `actions.t[961]`

A chance to do something else with the return value of a method, triggered by travel, defined on a direction property of a Room. loc is the room in question (where the travel started from) and val is the return value from the method. The detault is to display the val if val is a single-quoted string but do nothing otherwise, but game code can override.

Adv3Lite Library Reference Manual
Generated on 08/12/2025 from adv3Lite version 2.2.2