SenseRegion class | senseRegion.t[21]

A SenseRegion is a special kind of Region allowing sensory connection between rooms

`class SenseRegion : Region`

Superclass Tree (in declaration order)

`SenseRegion`
`Region`
`object`

Subclass Tree

(none)

Global Objects

(none)

Summary of Properties

`autoGoTo canHearAcross canSeeAcross canSmellAcross canTalkAcross canThrowAcross contSpace fastGoTo`

Inherited from `Region` :
`extraScopeItems familiar regions roomList rooms`

Summary of Methods

`addExtraScopeItems familiar setFamiliarRooms`

Inherited from `Region` :
`addToContents addToRoomList allRegions isCurrentlyWithin isFamiliar isIn isOrIsIn makeRegionLists moveMLIntoAdd moveMLOutOf notifyAfter notifyBefore regionAfterAction regionAfterTravel regionBeforeAction regionBeforeTravel regionDaemon removeFromContents travelerEntering travelerLeaving`

Properties

`autoGoTo` | `senseRegion.t[187]`

Flag: do we want the touchObj PreCondition to move the actor from one Room in the SenseRegion to another by implicit action to allow an actio to proceed? By default we set this to the value of contSpace, since if contSpace is true (i.e. we're using this SenseRegion to model a fairly small continuous space, such as a room) it probably makes sense for autoGoTo to be true as well, but it's nonetheless perfectly all right to override the values of autoGoTo and contSpace independently.

`canHearAcross` | `senseRegion.t[30]`

Is it possible to hear sounds (but not necessarily converse) in one room from another in this SenseRegion?

`canSeeAcross` | `senseRegion.t[24]`

Is it possible to see from one room to another in this SenseRegion?

`canSmellAcross` | `senseRegion.t[33]`

Do smells travel from one room to another in this SenseRegion?

`canTalkAcross` | `senseRegion.t[45]`

By default actors have to be in the same room to be able to converse. Even if sound can travel from one location to another that doesn't necessarily mean that one could converse over that distance. The only exception might be where a senseRegion models a relatively small area, like two ends of a room.

Note that if canHearAcross is nil setting canTalkAcross to true will have no effect.

`canThrowAcross` | `senseRegion.t[52]`

Are rooms in this SenseRegion close enough together to allow objects to be thrown from one room to another; by default we'll assume not.

`contSpace` | `senseRegion.t[210]`

Flag, do we want this SenseRegion to act as a continuous space (e.g. representing parts of the same room, so that moving from one room to another within this SenseRegion does not trigger a new room description, thereby creating the impression that we have moved within the same room rather than to another. This should probably be used sparingly and only for SenseRegions representing a relatively small area, otherwise the lack of a new room description (i.e. a LOOK AROUND) could be confusing to the player.

`fastGoTo` OVERRIDDEN | `senseRegion.t[197]`

If our autoGoTo flag is set, our fastGoTo flag should normally also be set so that autoGoTo works smoothly without breaks for CONTINUE commands impeding the workings of an implicit GoTo. Note, however, that it's perfectly okay to override fastGoTo to true on a SenseRegion for which autoGoTo is nil; it just may not be such a good idea to do it the other way round.

Methods

`addExtraScopeItems (action)`OVERRIDDEN | `senseRegion.t[112]`

Add everything to scope for all the rooms that belong to this SenseRegion. We do this by sending a senseProbe into each of the rooms and adding what would be in scope for that probe.

`familiar ( )` | `senseRegion.t[159]`

Since the PC should be able to see round the whole of a SenseRegion, presumably the PC should also be able to find their way around a SenseRegion once any of its rooms has been visited, even if the PC is yet to visit the other rooms. We can achieve this effect by making the SenseRegion familiar once any of its rooms has been visited, provided there's line of sight across the rooms in the SenseRegion and the PC is in a room in the SenseRegion which has light.

`setFamiliarRooms ( )`OVERRIDDEN | `senseRegion.t[58]`

Use this method to carry out some additional initialization useful to SenseRegions

Adv3Lite Library Reference Manual
Generated on 25/04/2024 from adv3Lite version 2.0