QDefaults object | query.t[176]

Query Defaults. This provides the default handlers for all query methods. These are the results that you get using the basic adventure game "physics" model to answer the questions, ignoring any special exceptions defined by the game.

This is the lowest-ranking Special object, and is always active.

`QDefaults : Special`

Superclass Tree (in declaration order)

`QDefaults`
`Special`
`object`

Summary of Properties

`active priority`

Inherited from `Special` :
`all allActive_`

Summary of Methods

`canHear canReach canSee canSmell canTalkTo canThrowTo inLight inLightFor knownScopeList reachBlocker reachProblem reachProblemCheck reachProblemVerify scentBlocker scopeList sightBlocker soundBlocker topicScopeList`

Inherited from `Special` :
`allActive classInit first next`

Properties

`active` OVERRIDDEN | `query.t[181]`

this is the defaults object, so it's always active

`priority` OVERRIDDEN | `query.t[178]`

this is the defaults object, so it has the lower priority

Methods

`canHear (a, b)` | `query.t[621]`

Can A hear B? We return true if there's a clear sound path from A to B.

`canReach (a, b)` | `query.t[321]`

Can we reach from A to B? We return true if there's a clear reach path from A to B, which we take to be the case if we can't find any problems in reaching from A to B.

`canSee (a, b)` | `query.t[288]`

Can A see B? We return true if and only if B is in light and there's a clear sight path from A to B. Also A can't see B is B is explicitly hidden.

`canSmell (a, b)` | `query.t[645]`

Can A smell B? We return true if there's a clear scent path from A to B.

`canTalkTo (a, b)` | `query.t[670]`

Determine if A can talk to B. In the base situation A can talk to B if A can hear B.

`canThrowTo (a, b)` | `query.t[680]`

Determine if A can throw something to B. In the base situation A can throw to B if A can reach B.

`inLight (a)` | `query.t[254]`

Is A in the light? This determines if there's light shining on the exterior surface of A.

`inLightFor (a, b)` | `query.t[270]`

is B lit from the perspect of A, who may be inside B.

`knownScopeList ( )` | `query.t[230]`

Get a list of all Things that are known to the player char

`reachBlocker (a, b)` | `query.t[612]`

Determine if A can reach B, and if not, what stands in the way. Returns a list of containers along the path between A and B that obstruct the reach. If the two objects are in separate rooms, the top-level room containing A is in the list to represent the room separation. If there's no obstruction, we return an empty list.

`reachProblem (a, b)` | `query.t[341]`

Determine if there is anything preventing or hindering A from reaching B; if so return a ReachProblem object describing the problem in a way that a check or verify routine can act on (possibly with an implicit action to remove the problem). If not, return an empty list.

NOTE: if you provide your own version of this method on a Special it must return either an empty list (to indicate that there are no problems with reaching from A to B) or a list of one or more ReachProblem objects describing what is preventing A from reaching B.

Your own Special should normally leave reachProblem() alone and override reachProblemVerify() and/or reachProblemCheck().

`reachProblemCheck (a, b)` | `query.t[416]`

Return our list of issues.

`reachProblemVerify (a, b)` | `query.t[357]`

Return a list of reach issues that might occur at the verify stage.

`scentBlocker (a, b)` | `query.t[660]`

Determine if A can smell B, and if not, what stands in the way. Returns a list of obstructions to scent between A and B. If the two objects are in separate rooms, the outermost room containing A represents the room separation. If there are no obstructions, returns an empty list.

`scopeList (actor)` | `query.t[188]`

Get the list of objects that are in scope for the given actor. Returns a ScopeList object containing the scope. You can convert the ScopeList to an ordinary list of objects via toList().

`sightBlocker (a, b)` | `query.t[310]`

Determine if there's anything blocking the sight path from A to B. Returns a list of objects blocking sight; if there's no obstruction, returns an empty list. If the two objects are in separate rooms, the outermost room containing 'a' represents the room separation. If there's no obstruction, returns an empty list.

`soundBlocker (a, b)` | `query.t[636]`

Determine if A can hear B, and if not, what stands in the way. We return a list of the obstructions to sound between A and B. If the two objects are in separate rooms, the top level room containing A represents the room separation. If there are no sound obstructions, returns an empty list.

`topicScopeList ( )` | `query.t[246]`

Get a list of all known mentionable objects, which we assume will include both known Things and known Topics

Adv3Lite Library Reference Manual
Generated on 26/02/2025 from adv3Lite version 2.2