Room class | travel.t[23], senseRegion.t[220], english.t[2226], objtime.t[370], postures.t[527], roomparts.t[71], sensory.t[709], symconn.t[18], viewport.t[164]

A Room is a top location in which the player character, other actors and other objects may be located. It may represent any discrete unit of space, not necessarily a room in a building. Normally actors may only interact with objects in the same room as themselves, but the senseRegion module allows us to define sensory connections between rooms.

Modified in senseRegion.t[220]:
modifications to Room to allow SenseRegions to work.

Modified in english.t[2226]:
English language modifications to Room. Here we simply allow a Room to take its vocab from its roomTitle property if vocab is not already defined; this reduces the need to type the same text twice when the two are effectively the same.

Modified in objtime.t[370]:
Modifications for OBJTIME extension, so make traversing a connector take a certain amount of game time.

Modified in postures.t[527]:
Modifications to Room class for use with POSTURES EXTENSION.

Modified in roomparts.t[71]:
Modifications to the Room class to allow for room parts. Note that the standard adv3Lite library already supplies a foor in every room defined via its floorObj property. [MODIFIED FOR ROOMPARTS EXTENSION]

Modified in sensory.t[709]:
MODIFICATIONS FOR SENSORY EXTENSION

Modified in symconn.t[18]:
Modification to Room for SymConn (symmetrical connector) extension

Modified in viewport.t[164]:
Modifications to Room class for VIEWPORT EXTENSION

`class Room : TravelConnector Thing`

Superclass Tree (in declaration order)

`Room`
`TravelConnector`
`object`
`Thing`
`ReplaceRedirector`
`Redirector`
`object`
`Mentionable`
`LMentionable`
`object`

Subclass Tree

`Room`
`OutdoorRoom`

Global Objects

`unknownDest_ varDest_`

Summary of Properties

`aft allowCompassDirections allowDarkTravel audibleRooms autoBackConnections autoName canLieInMe cannotGoThatWayInDarkMsg cannotGoThatWayMsg canSitInMe canStandInMe ceilingObj contType down east extraScopeItems floorObj fore in isDestinationKnown isFixed isLit isOpen lastSeenAt linkedRooms listOrder north northeast northwest noScriptAfterListen out outermostParent port regions remoteContentsLister remoteMiscContentsList remoteSecondSpecialList roomFirstDesc roomsViewed smellableRooms smellSize soundSize south southeast southwest starboard talkableRooms throwableRooms up visibleRooms visited wallObjs west`

Inherited from `TravelConnector` :
`destination isConnectorApparent isConnectorListed PushTravelVia suppressTravelDescForPushTravel transmitsLight travelBarriers traversalTime traversed traversedBy`

Inherited from `Thing` :
`actorAlreadyInMsg actorAlreadyOnMsg actorNotInMsg actorNotOnMsg allowImplicitSay allowPourIntoMe allowPourOntoMe alreadyCleanMsg alreadyClosedMsg alreadyFastenedMsg alreadyHasMsg alreadyHeldMsg alreadyInMsg alreadyLitMsg alreadyLockedMsg alreadyMovedToMsg alreadyOnMsg alreadyOpenMsg alreadyPresentMsg alreadyThereMsg alreadyWornMsg autoGetOutToReach autoTakeOnFindHidden autoUnlock brightness brightnessForReading brightnessOff brightnessOn bulk bulkCapacity canAttachToMe canAttackWithMe canBurnWithMe canCleanWithMe canClimbDownMe canClimbUpMe canCutWithMe canDetachFromMe canDigWithMe canDropContents canEnterOnMe canFastenToMe canGoAlongMe canGoThroughMe canHearIn canHearOut canJumpOffMe canJumpOverMe canLieOnMe canLockWithMe canLookBehindMe canLookThroughMe canLookUnderMe canMoveToMe canMoveWithMe cannotAttachMsg cannotAttachToMsg cannotAttachToSelfMsg cannotAttackMsg cannotAttackWithMsg cannotAttackWithSelfMsg cannotBoardMsg cannotBreakMsg cannotBurnMsg cannotBurnWithMsg cannotCleanMsg cannotCleanWithMsg cannotClimbDownMsg cannotClimbMsg cannotCloseMsg cannotConsultMsg cannotCutMsg cannotCutWithMsg cannotCutWithSelfMsg cannotDetachFromMsg cannotDetachFromSelfMsg cannotDetachMsg cannotDigMsg cannotDigWithMsg cannotDigWithSelfMsg cannotDoffMsg cannotDrinkMsg cannotDropMsg cannotEatMsg cannotEnterMsg cannotEnterOnMsg cannotExtinguishMsg cannotFastenMsg cannotFastenToMsg cannotFastenToSelfMsg cannotFeelMsg cannotFlipMsg cannotFollowMsg cannotFollowSelfMsg cannotGetInCarriedMsg cannotGetOnCarriedMsg cannotGiveToMsg cannotGiveToSelfMsg cannotGoAlongMsg cannotGoNearThereMsg cannotGoThroughMsg cannotJumpOffMsg cannotJumpOverMsg cannotKissMsg cannotLieInMsg cannotLieOnMsg cannotLightMsg cannotLockWithMsg cannotLockWithSelfMsg cannotLookBehindMsg cannotLookThroughMsg cannotLookUnderMsg cannotMoveMsg cannotMoveToMsg cannotMoveToSelfMsg cannotMoveWithMsg cannotMoveWithSelfMsg cannotOpenMsg cannotPlugIntoMsg cannotPlugIntoSelfMsg cannotPlugMsg cannotPourIntoMsg cannotPourIntoSelfMsg cannotPourMsg cannotPourOntoMsg cannotPourOntoSelfMsg cannotPullMsg cannotPurloinContainerMsg cannotPurloinRoomMsg cannotPurloinSelfMsg cannotPushDownMsg cannotPushIntoMsg cannotPushMsg cannotPushOwnContainerMsg cannotPushThroughMsg cannotPushUpMsg cannotPushViaSelfMsg cannotPutBehindMsg cannotPutInMsg cannotPutInSelfMsg cannotPutMsg cannotPutOnMsg cannotPutUnderMsg cannotReadMsg cannotRemoveMsg cannotScrewMsg cannotScrewWithMsg cannotScrewWithSelfMsg cannotSetMsg cannotSetToMsg cannotShowToMsg cannotShowToSelfMsg cannotSitInMsg cannotSitOnMsg cannotSmellMsg cannotStandInMsg cannotStandOnMsg cannotTakeFromSelfMsg cannotTakeMsg cannotTakeMyContainerMsg cannotTakeSelfMsg cannotTalkToMsg cannotTalkToSelfMsg cannotTasteMsg cannotThrowAtMsg cannotThrowAtSelfMsg cannotThrowMsg cannotThrowToMsg cannotThrowToSelfMsg cannotTurnMsg cannotTurnToMsg cannotTurnWithMsg cannotTurnWithSelfMsg cannotTypeOnMsg cannotUnfastenFromMsg cannotUnfastenFromSelfMsg cannotUnfastenMsg cannotUnlockWithMsg cannotUnlockWithSelfMsg cannotUnplugFromMsg cannotUnplugFromSelfMsg cannotUnplugMsg cannotUnscrewMsg cannotUnscrewWithMsg cannotUnscrewWithSelfMsg cannotWearMsg cannotWriteOnMsg canPlugIntoMe canPourIntoMe canPourOntoMe canPullTravel canPushTravel canPutBehindMe canPutInMe canPutUnderMe canReachIn canReachOut canScrewWithMe canSeeIn canSeeOut canSetMeTo canSitOnMe canSmellIn canSmellOut canStandOnMe canSupply canTalkToMe canThrowAtMe canThrowToMe cantMoveAwayFromSelfMsg cantSpecialActionMsg canTurnMeTo canTurnWithMe canTypeOnMe canUnfastenFromMe canUnlockWithMe canUnplugFromMe canUnscrewWithMe canWriteOnMe checkAttackMsg checkFeelMsg checkKissMsg circularlyInMsg collectiveGroups contents contentsListed contentsListedInExamine contentsListedInLook contentsListedInSearch currentInterlocutor curSetting darkName decorationActions decorationActions defaultPosture desc directlyHeld directlyIn directlyWorn distinguishByContents dontNeedCleaningObjMsg dropItemsBehind dropItemsUnder dropLocation enclosing examined examineListed examineLister exitLocation extContents familiar feelDesc findHiddenDest fluidName futileToAttackMsg futileToKissMsg getBulkHiddenBehind getBulkHiddenIn getBulkHiddenUnder getFacets getOutermostRoom getOutToJump getWeightHiddenBehind getWeightHiddenIn getWeightHiddenUnder globalParamName groupOrder hearNothingMsg hiddenBehind hiddenIn hiddenUnder illuminationThreshold inDarkDesc indirectLockableMsg informedNameTab initiallyKnowsAbout initSpecialDesc intContents interiorDesc inventoryListed isAttachable isAttackable isBoardable isBreakable isBurnable isClean isCleanable isClimbable isCloseable isConsultable isCuttable isDecoration isDetachable isDiggable isDoffable isDrinkable isDroppable isEdible isEnterable isExtinguishable isFastenable isFastened isFeelable isFlippable isFollowable isHidden isInitialPlayerChar isKissable isLightable isListed isLocked isMoveable isOn isOpenable isPlayerChar isPlugable isPourable isProminentNoise isProminentSmell isPullable isPushable isReadable isRemoveable isScrewable isSettable isSmellable isSwitchable isTakeable isTasteable isThrowable isTransparent isTurnable isUnfastenable isUnplugable isUnscrewable isVehicle isWearable keyDoesntWorkMsg keyList keyNotNeededMsg kissRank known knownKeyList knownProp lieOnScore lightSources listableContents listenDesc listenDescWithoutSource listenDescWithSource listWith location lockability lockedMsg lookBehindMsg lookInMsg lookListed lookThroughMsg lookUnderMsg markInventoryAsSeen matchPullOnly matchPushOnly maxBulkHiddenBehind maxBulkHiddenIn maxBulkHiddenUnder maxItemsCarried maxSingleBulk maxSingleWeight maxWeightHiddenBehind maxWeightHiddenIn maxWeightHiddenUnder mentioned moved movedTo moveNoEffectMsg mustBeCleanedWith myInventoryLister myLookBehindLister myLookInLister myLookUnderLister myOpeningContentsLister myThoughtManager myWornLister needsCleaning noLongerTalkingToAnyoneMsg nominalContents noNeedToCleanMsg notFastenedMsg notHoldingMsg notImportantMsg notInMsg notLitMsg notLockableMsg notLockedMsg notMovedToMsg notSwitchableMsg notTalkingToAnyoneMsg notWornMsg objInPrep objIntoPrep okayCleanMsg okayGetOutOfMsg okayLieInMsg okayLieOnMsg okayLockMsg okayOpenMsg okayPushIntoMsg okayPushOutOfMsg okaySetMsg okaySitInMsg okaySitOnMsg okayStandInMsg okayStandOnMsg okayUnlockMsg opacity opened openStatusReportable owner ownsContents paraBrksBtwnSubcontents partOfYouMsg pcListedInLook posture preCondActor pullNoEffectMsg pushNoEffectMsg readDesc recognizableInDark remapActor remapBehind remapIn remapOn remapProps remapUnder roomContentsLister roomPart roomPartDesc roomSubContentsLister roomTitle searchListed seen seenProp shouldBeBroken shouldNotBreakMsg shouldNotPourIntoMsg shouldNotPourOntoMsg sightSize sitOnScore smellDesc smellDescWithoutSource smellDescWithSource smellNothingMsg smellObj soundObj specialDesc specialDescBeforeContents specialDescListWith specialDescOrder stagingLocation standOnScore stateDesc tasteDesc throwFallsShortMsg tooDarkToReadMsg tooDarkToSeeMsg tooFarAwayToHearMsg tooFarAwayToReadMsg tooFarAwayToSeeDetailMsg tooFarAwayToSmellMsg totalWeight turnLastExamined turnLastMoved turnLastMovedInto turnNoEffectMsg useInitSpecialDesc useKey_ useSpecialDesc viaMode visibleInDark vocabLikelihood weight weightCapacity withKeyMsg wornBy`

``

``

Inherited from `Mentionable` :
`altVocab ambiguouslyPlural disambigGroup disambigMatchPhrases disambigName disambigOrder finalizeVocabWhen isHer isHim isIt massNoun matchPhrases matchPhrasesExclude name originalVocab person plural proper qualified states uavwNum useAltVocabWhen vocab vocabWords`

Inherited from `LMentionable` :
`acronymPluralPat alphaCharPat aName apostPluralPat apostSPat deannotatePat dictComp dummyName elevenEighteenPat emptyVocabWords esPluralPat firstWordPat heName herName hersName himName iesPluralPat irregularPlurals lastWordPat leadingTagOrQuotePat menPluralPat objInName objIntoName objName objOutOfName oneLetterAnWordPat oneLetterWordPat ownerNamed pluralPat posPat possAdj possEnding possNoun prepList prepPhrasePat prepWordPat pronounMap properNamePat properPat reflexiveName replacingVocab specialAOrAn tagOrQuotePat thatName thatObjName theName theObjName trimPat truncationLength weakWordPat`

Summary of Methods

`addExtraScopeItems addToRegions afterTravel allowShipboardDirections allRegions beforeTravel canHearInFrom canHearOutTo cannotGoThatWay cannotGoThatWayInDark cannotReachTargetMsg canSeeInFrom canSeeOutTo canSmellInFrom canSmellOutTo describeRemotely destination dobjFor(Examine) dobjFor(GetOutOf) examineStatus execTravel getAllRegions getConnector getDirection getDirectionTo getOutermostRoom initVocab inRoomName interiorDesc interiorParent iobjFor(PushTravelGetOutOf) isFamiliar isIn litWithin lookOnEnter notifyAfter notifyBefore notifyDeparture outermostVisibleParent preinitThing regionsInCommonWith remoteRoomListOrder roomAfterAction roomBeforeAction roomDaemon roomRemoteDesc setDestInfo showConnectedMiscContents showFirstConnectedSpecials showFirstRemoteSpecials showRemoteMiscContents showSecondConnectedSpecials showSecondRemoteSpecials showStatuslineExits sortRoomSublist statusName travelerEntering travelerLeaving unmentionRemoteContents updateSymVocab`

Inherited from `TravelConnector` :
`afterTravelNotifications beforeTravelNotifications canTravelerPass checkPushTravel checkTravelBarriers dobjFor(GoThrough) dobjFor(TravelVia) explainTravelBarrier getDepartingDirection getDestination getTraveler hasBeenTraversedBy iobjFor(PushTravelThrough) isConnectorVisible isDestinationKnown noteTraversal sayActorFollowing sayDeparting sayNoDestination travelDesc travelVia traversalMsg traversalTimeFrom`

Inherited from `Thing` :
`abcName accumulateBrightness accumulatedBrightnessWithin actionMoveInto actorAction addToAllContents addToContents afterAction allContents allowReachOut aobjFor beforeAction beforeMovePushable brightnessWithin byRoom canHear cannotPushTravelMsg cannotReachOutMsg canReach canSee canSmell canTalkTo checkDisplay checkForContradictions checkInsert checkReach checkReachIn checkRemove checkRoomToHold checkSetting childLocType commonContainingParent commonInteriorParent containerPath containerPathBlock darkDesc describeMovePushable describePushTravel directChildParent discover display displayAlt dobjFor(AskAbout) dobjFor(AskFor) dobjFor(Attach) dobjFor(AttachTo) dobjFor(Attack) dobjFor(AttackWith) dobjFor(Board) dobjFor(Break) dobjFor(Burn) dobjFor(BurnWith) dobjFor(Clean) dobjFor(CleanWith) dobjFor(Climb) dobjFor(ClimbDown) dobjFor(ClimbUp) dobjFor(Close) dobjFor(ConsultAbout) dobjFor(Cut) dobjFor(CutWith) dobjFor(Default) dobjFor(Detach) dobjFor(DetachFrom) dobjFor(Dig) dobjFor(DigWith) dobjFor(Doff) dobjFor(Drink) dobjFor(Drop) dobjFor(Eat) dobjFor(Enter) dobjFor(EnterOn) dobjFor(Extinguish) dobjFor(Fasten) dobjFor(FastenTo) dobjFor(Feel) dobjFor(Flip) dobjFor(Follow) dobjFor(GetOff) dobjFor(GiveTo) dobjFor(GiveToImplicit) dobjFor(GoAlong) dobjFor(GoNear) dobjFor(GoTo) dobjFor(JumpOff) dobjFor(JumpOver) dobjFor(Kiss) dobjFor(LieIn) dobjFor(LieOn) dobjFor(LieOn) dobjFor(Light) dobjFor(ListenTo) dobjFor(Lock) dobjFor(LockWith) dobjFor(LookBehind) dobjFor(LookIn) dobjFor(LookThrough) dobjFor(LookUnder) dobjFor(Move) dobjFor(MoveAwayFrom) dobjFor(MoveTo) dobjFor(MoveWith) dobjFor(Open) dobjFor(PlugIn) dobjFor(PlugInto) dobjFor(Pour) dobjFor(PourInto) dobjFor(PourOnto) dobjFor(Pull) dobjFor(Purloin) dobjFor(Push) dobjFor(PushTravelClimbDown) dobjFor(PushTravelClimbUp) dobjFor(PushTravelDir) dobjFor(PushTravelEnter) dobjFor(PushTravelGetOutOf) dobjFor(PushTravelThrough) dobjFor(PutBehind) dobjFor(PutIn) dobjFor(PutOn) dobjFor(PutUnder) dobjFor(QueryAbout) dobjFor(Read) dobjFor(Remove) dobjFor(SayTo) dobjFor(Screw) dobjFor(ScrewWith) dobjFor(Search) dobjFor(Set) dobjFor(SetTo) dobjFor(ShowTo) dobjFor(ShowToImplicit) dobjFor(SitIn) dobjFor(SitOn) dobjFor(SitOn) dobjFor(SmellSomething) dobjFor(SpecialAction) dobjFor(StandIn) dobjFor(StandOn) dobjFor(StandOn) dobjFor(Strike) dobjFor(SwitchOff) dobjFor(SwitchOn) dobjFor(SwitchVague) dobjFor(Take) dobjFor(TakeFrom) dobjFor(TakeFrom) dobjFor(TalkAbout) dobjFor(TalkTo) dobjFor(Taste) dobjFor(TellAbout) dobjFor(Throw) dobjFor(ThrowAt) dobjFor(ThrowDir) dobjFor(ThrowTo) dobjFor(Turn) dobjFor(TurnTo) dobjFor(TurnWith) dobjFor(TypeOn) dobjFor(TypeOnVague) dobjFor(Unfasten) dobjFor(UnfastenFrom) dobjFor(Unlock) dobjFor(UnlockWith) dobjFor(Unplug) dobjFor(UnplugFrom) dobjFor(Unscrew) dobjFor(UnscrewWith) dobjFor(Wear) dobjFor(WriteOn) doPushTravel filterResolveList findHidden findPlausibleKey firstContainerPathBlock forget getBulkWithin getCarriedBulk getCarriedWeight getStatuslineExitsHeight getWeightWithin handleCommand hasSeen hideFromAll informedAbout iobjFor(AttachTo) iobjFor(AttackWith) iobjFor(BurnWith) iobjFor(CleanWith) iobjFor(CutWith) iobjFor(Default) iobjFor(DetachFrom) iobjFor(DigWith) iobjFor(FastenTo) iobjFor(GiveTo) iobjFor(LockWith) iobjFor(MoveAwayFrom) iobjFor(MoveTo) iobjFor(MoveWith) iobjFor(PlugInto) iobjFor(PourInto) iobjFor(PourOnto) iobjFor(PushTravelClimbDown) iobjFor(PushTravelClimbUp) iobjFor(PushTravelEnter) iobjFor(PutBehind) iobjFor(PutIn) iobjFor(PutOn) iobjFor(PutUnder) iobjFor(ScrewWith) iobjFor(ShowTo) iobjFor(TakeFrom) iobjFor(ThrowAt) iobjFor(ThrowTo) iobjFor(TurnWith) iobjFor(UnfastenFrom) iobjFor(UnlockWith) iobjFor(UnplugFrom) iobjFor(UnscrewWith) isAudibleFrom isChild isDirectChild isDirectlyHeldBy isDirectlyIn isDirectlyWornBy isHeldBy isIlluminated isInterior isOrIsIn isOutside isReadableFrom isSmellableFrom isThereALightSourceIn isVisibleFrom isWornBy knowsAbout listableContentsOf listContents listenDesc listRemoteContents listSubcontentsOf locationWhich locType lookAroundWithin makeCleaned makeFastened makeLit makeLocked makeMovedTo makeOn makeOpen makeSetting makeWorn markContradiction moveHidden moveInto moveMLIntoAdd moveMLOutOf nestedLoc nominalOwner noteSeen notifyContradiction notifyEvent notifyInsert notifyRemove notifySightEvent notifySmellEvent notifySoundEvent notionalContents outermostParent ownedBy preAction pushTravelRevealItems reachBlockedMsg remoteBrightness remoteInitSpecialDesc remoteObjInName remoteSpecialDesc removeFromContents revealOnMove roomHeadline roomSubhead sayCantBearMoreWeight sayDontKnowHowToGetThere sayDontKnowHowToReach sayFindHidden sayPushTravel sayTooHeavy sayTooHeavyToHide scoreObject setHasSeen setInformed setKnown setKnowsAbout setSeen shinesOut showRemoteSpecialDesc showSpecialDesc smellDesc totalBulkIn totalWeightIn traceContainerPath tryCheck tryMakingPosture unmention verifyActor verifyEnterPosture verifyPushTravel wouldBeLitFor`

Inherited from `ReplaceRedirector` :
`redirect`

Inherited from `Redirector` :
`askMissingLiteral doInstead doNested doOtherAction`

Inherited from `Mentionable` :
`actionReport construct initAltVocab matchName matchNameCommon matchNameDisambig phraseMatchName simpleMatchName updateVocab`

Inherited from `LMentionable` :
`addDictWord addVocab addVocabWord aNameFrom aNameFromPoss classInit contify distinguishedName ifPronoun inheritVocab initVocabWord locify matchPronoun pluralNameFrom pluralWordFrom possessify pronoun removeVocabWord replaceVocab theNameFrom theNameIs`

Properties

`aft` | `travel.t[52]`

no description available

`allowCompassDirections` | `travel.t[60]`

Are compass directions allowed for travel from this room? By default we'll allow thema anywhere, but game code may wish to override this for rooms that are aboard a vessel.

`allowDarkTravel` | `travel.t[307]`

Normally we don't allow travel from this location if both it and the destination are in darkness. To allow travel from this location in any case set allowDarkTravel to true.

`audibleRooms` | `senseRegion.t[236]`

The lists of rooms we can smell, hear, talk or throw from/into from this room.

`autoBackConnections` | `symconn.t[168]`

Flag - do we want the library (specifically the preInit method of Thing) to automatically create connections back (in the reverse direction) from any rooms our direction properties (directlt, or indirectly via a TravelConnector) point to? By default we do (since that was the part of the original purpose of the SymmConn extension) but game code can set this to nil (either on the Room class or on individual rooms) to suppress it if it's not wanted - which may be the case if the this extension is being used for SymmConnectors rather than automated back connections (which is now unlikely given the availabliity of DSConnectors in the main library).

`autoName` | `english.t[2245]`

Flag: do we want this room to take its vocab (and hence its name) from its roomTitle property if its vocab property isn't explicitly defined? By default we do.

`canLieInMe` OVERRIDDEN | `postures.t[534]`

no description available

`cannotGoThatWayInDarkMsg` | `travel.t[283]`

The message to display when travel is attempted in the dark, either in a direction for which no destination (or other handling) is defined, or in a direction in which the exit is not visible in the dark.

`cannotGoThatWayMsg` | `travel.t[258]`

The Message to display if travel is disallowed in any given direction (because the corresponding direction property of the Room is nil).

`canSitInMe` OVERRIDDEN | `postures.t[533]`

no description available

`canStandInMe` OVERRIDDEN | `postures.t[532]`

By default we assume that an actor can sit, stand or lie in a room [DEFINED IN POSTURES EXTENSION]

`ceilingObj` | `roomparts.t[77]`

The ceilingObj property defines the object to be used for this Room's ceiling. By default we use the defaultCeiling object defined below. [DEFINED IN ROOMPARTS EXTENSION]

`contType` OVERRIDDEN | `travel.t[401]`

Anything in the Room is deemed to be inside it (this sounds tautologous, but it's why we give Room a contType of In).

`down` | `travel.t[43]`

no description available

`east` | `travel.t[39]`

no description available

`extraScopeItems` | `travel.t[571]`

A list of extra items to be added to scope when an action is carried out in this room.

`floorObj` | `travel.t[128]`

Although we don't define room parts in general, we do give every Room a floor so that the parser can refer to objects 'on the ground' when asking disambiguation questions. By default we supply every Room with the defaultGround MultiLoc object to represent its floor. You can if you like replace this with a custom floor object in particular rooms, but it's highly recommended that you define your custom floor to be of the Floor class. It's also legal to define floorObj as nil on a Room that represents an obviously floorless place, such as the top of a mast or tree.

`fore` | `travel.t[53]`

no description available

`in` | `travel.t[44]`

no description available

`isDestinationKnown` | `travel.t[112]`

By default our destination is known if we've been visited

`isFixed` OVERRIDDEN | `travel.t[89]`

A Room is always fixed in place.

`isLit` OVERRIDDEN | `travel.t[86]`

A Room is normally lit, but if we want a dark room we can override isLit to nil.

`isOpen` OVERRIDDEN | `travel.t[92]`

A Room is always open

`lastSeenAt` OVERRIDDEN | `travel.t[574]`

The location at which a Room was last seen is always itself.

`linkedRooms` | `senseRegion.t[245]`

The list of rooms to which we're linked by virtue of being in the same SenseRegion.

`// listOrder` OVERRIDDEN Interface description only | `senseRegion.t[473]`

listOrder is inherited from Thing with a default value of 100. For a Room in a SenseRegion it can control the order in which other rooms in the SenseRegion have their contents described (higher = later), although this can be adjusted via the remoteRoomListOrder(pov) method.

`north` | `travel.t[38]`

The direction properties (north, south, etc.) define what happens when travel is attempted in the corresponding direction. A direction property may be defined as another Room (in which case traveling in the corresponding direction takes the actor directly to that Room), or to a TravelConnector (including a Door or Stairway), or to a single-quoted or double-quoted string (which is then simply displayed) or to a method (which is then executed). It is recommended that methods only be used when the effect of attempted travel is something other than ordinary travel; to impose conditions on travel or define the side-effects of travel it's usually better to use a TravelConnector object.

`northeast` | `travel.t[48]`

no description available

`northwest` | `travel.t[49]`

no description available

`noScriptAfterListen` | `travel.t[420]`

Flag, do we want to prevent out script firing after a LISTEN command? By default we do because otherwise the respose to a LISTEN command might clash with an atmospheric message appearing on the same turn.

`out` | `travel.t[45]`

no description available

`outermostParent` | `travel.t[251]`

A Room's outermost parent is itself.

`port` | `travel.t[50]`

no description available

`regions` | `travel.t[427]`

This room can optionally be in one or more regions. The regions property hold the region or a list of regions I'm in.

`remoteContentsLister` | `senseRegion.t[397]`

The contents lister to use to list this room's miscellaneous contents when viewed from a remote location.

`remoteMiscContentsList` | `senseRegion.t[280]`

no description available

`remoteSecondSpecialList` | `senseRegion.t[279]`

These properties are for the internal use of the remote listing routines, and should normally be left alone by game code.

`roomFirstDesc` | `travel.t[736]`

The description of this room to be used when it has not previously examined (and is thus being described fot the first time). If this is left as nil, we simply use the desc instead.

`roomsViewed` | `viewport.t[176]`

The list of rooms viewed from Viewports from within this room. This enables the player to refer to objects in rooms that have been viewed. [DEFINED ON VIEWPORT EXTENSION]

`smellableRooms` | `senseRegion.t[237]`

no description available

`smellSize` OVERRIDDEN | `travel.t[638]`

Rooms are generally large emough to allow them to be smelt or listened to.

`soundSize` OVERRIDDEN | `travel.t[639]`

no description available

`south` | `travel.t[40]`

no description available

`southeast` | `travel.t[46]`

no description available

`southwest` | `travel.t[47]`

no description available

`starboard` | `travel.t[51]`

no description available

`talkableRooms` | `senseRegion.t[238]`

no description available

`throwableRooms` | `senseRegion.t[239]`

no description available

`up` | `travel.t[42]`

no description available

`visibleRooms` | `senseRegion.t[230]`

The list of rooms that are visible from this room. Ordinarily this list is constructed at Preinit by any Sense Regions this room belongs to, so shouldn't normally be manually adjusted by game code. It's conceivable that game code could tweak these lists after Preinit, though, perhaps to create a one-way connection (e.g. to model a high room that overlooks lower ones)

`visited` | `travel.t[115]`

Has this room been visited?

`wallObjs` | `roomparts.t[86]`

The wallObjs property defines the list of walls in this Room. By default we define use the four default walls. Particular rooms that don't have four walls (e.g. a length of passage) or which want to use custom wall objects can override this. [DEFINED IN ROOMPARTS EXTENSION]

`west` | `travel.t[41]`

no description available

Methods

`addExtraScopeItems (action)` | `travel.t[546], viewport.t[196]`

Add extra items into scope for the action. By default we simply add the items from our extraScopeItems list together with those of any regions we're it. This allows commonly visible items such as the sky to be added to scope in dark outdoor rooms, for instance.

Modified in viewport.t[196]:
Once the player character has viewed remote rooms and their contents via a Viewport, the player may want to refer to them in commands, if only to examine them, so we need to add them to scope. [MODIFIED FOR VIEWPORT EXTENSION]

`addToRegions ( )` | `travel.t[439]`

Add this room to the room list of all the regions it's in

`afterTravel (traveler, connector)`OVERRIDDEN | `travel.t[360]`

afterTravel(traveler, connector) is called on the room traveler has just arrived in via connector.

`allowShipboardDirections ( )` | `travel.t[69]`

Are shipboard directions meaningful in this room? By default we'll make them so if and only if this room defines at least one shipboard directional exit. Game code may wish to modify this, for example, on the hold of a ship that only defines an up direction but where shipboard directions would still in principle be meaningful.

`allRegions ( )` | `travel.t[450]`

The list of all the regions this room belongs to. This is calculated the first time this property is queried and then stored in the property.

`beforeTravel (traveler, connector)`OVERRIDDEN | `travel.t[354]`

beforeTravel(traveler, connector) is called on the room traveler is in just as traveler is about to attempt travel via connector (a TravelConnector object).

`canHearInFrom (loc)` | `senseRegion.t[435]`

Can we hear into this room from loc (i.e. can an actor in loc hear something in this room?

`canHearOutTo (loc)` | `senseRegion.t[441]`

Can we hear out from this room to loc (i.e. can an actor in this room hear something in loc)?

`cannotGoThatWay (dir)` | `travel.t[268]`

The method that is called when travel is attempted in a direction (given the dir parameter) for which nothing is defined. By default we simply display the cannotGoThatWayMsg followed by a list of exits, but this can be overridden if desired, and different responses given for different directions. Note that the dir parameter will be passed as a direction object. e.g. northDir.

`cannotGoThatWayInDark (dir)` | `travel.t[292]`

The method that's called when travel is attempted by an undefined or invisible exit in the dark. By default we display the cannotGoThatWayInDarkMsg followed by a list of visible exits, but game code can override this.

`cannotReachTargetMsg (target)` | `travel.t[684]`

Optional method that returns a single-quoted string explaining why target (normally an object in a remote location) cannot be reached from this room. By default we just return the target's tooFarAwayMsg but this can be overridden, for example, to return the same format of message for every target that can't be reached from this room (e.g. "You can't reach [the target] from the meadow. ") ]

`canSeeInFrom (loc)` | `senseRegion.t[426]`

The following six methods take effect only if there would otherwise be a sensory connection between the current room and loc due to their being in the same SenseRegion.

Can we see into this room from loc?

`canSeeOutTo (loc)` | `senseRegion.t[429]`

Can we see out of this room to loc?

`canSmellInFrom (loc)` | `senseRegion.t[447]`

Can we smell into this room from loc (i.e. can an actor in loc smell something in this room?

`canSmellOutTo (loc)` | `senseRegion.t[453]`

Can we hear out from this room to loc (i.e. can an actor in this room hear something in loc)?

`describeRemotely ( )` | `viewport.t[230]`

[DEFINED ON VIEWPORT EXTENSION] Used for describing a Room when seen through a Viewport.

`destination ( )` | `travel.t[109]`

Since a Room provides the TravelConnector interface, we need to define where it leads to when one attempts to travel via it; a Room always leads to itself (i.e. traveling via a Room takes one to that Room).

`dobjFor(Examine)`OVERRIDDEN | `travel.t[651], viewport.t[214]`

Examining a Room is the same as looking around within it.

Modified in viewport.t[214]:
[MODIFIED FOR VIEWPORT EXTENSION]

`dobjFor(GetOutOf)`OVERRIDDEN | `travel.t[657]`

Going out of a Room is the same as executing an OUT command

`examineStatus ( )`OVERRIDDEN | `travel.t[648]`

By default we don't want the examineStatus method of a Room to do anything except displaying the stateDesc, should we have defined one. In particular we don't want it to list the contents of the Room, since Looking Around will do this anyway.

`execTravel (actor, traveler, conn)`OVERRIDDEN | `travel.t[139], objtime.t[372]`

When executing travel we move the traveler into the room. Then, if the traveler is the player char we perform a look around in the room, provided we should look around on entering the room. actor is the actor doing the traveling, traveler is the traveler doing the traveling (normally the same as actor unless actor is in a Vehicle, in which case traveler will be the Vehicle) and conn is the TravelConnector the vehicle is traversing in order to reach this room.

Modified in objtime.t[372]:
Modified in OBJTIME EXTENSION to add the traversal time for entering the room.

`getAllRegions ( )` | `travel.t[458]`

Calculate a list of all the regions this room belongs to

`getConnector (prop)` | `travel.t[693]`

Get the connector object explicitly or implicitly defined on prop, even if it uses the asExit macro. If it's not an object, return nil;

`getDirection (conn)` | `travel.t[597]`

The getDirection method returns the direction by which one would need to travel from this room to travel via the connector conn (or nil if none of the room's direction properties point to conn).

`getDirectionTo (dest)` | `travel.t[615]`

The getDirectionTo method returns the direction by which one would need to travel from this room to travel to dest not via an UnlistedProxy Connector (normally defined by the asExit() macro. If none of the room's direction properties clearly leads to dest via a TravelConnector including a Room) then return nil.

`getOutermostRoom ( )` | `travel.t[245]`

A Room's outermost room is itself.

`initVocab ( )`OVERRIDDEN | `english.t[2227]`

no description available

`inRoomName (pov)` | `senseRegion.t[414]`

The name that's used to introduce a list of miscellaneous objects in this room when viewed from a remote location containing the pov object (normally the player character).

`interiorDesc ( )` | `travel.t[723]`

If we've defined a roomFirstDesc and this room description hasn't been displayed before, display our roomFirstDesc, otherwise display our desc.

`interiorParent ( )`OVERRIDDEN | `travel.t[535]`

A Room has no interiorParent since it's a top-level container.

`iobjFor(PushTravelGetOutOf)`OVERRIDDEN | `travel.t[666]`

Pushing an object out of a Room is the same as pushing it via the OUT exit.

`isFamiliar (prop, =, &, familiar)` | `travel.t[742]`

Check whether this room is familiar by farming out the question to the relevant xxxFamiliar prop, which game code will need to define if this is different for different actors.

`isIn (region)`OVERRIDDEN | `travel.t[433]`

A Room can't be in another Room or a Thing, but it can notionally be in a Region, so we check to see if we're in the list of our regions.

`litWithin ( )`OVERRIDDEN | `travel.t[98]`

A Room is lit within it it's illuminated (it's either lit itself or contains a light source

`lookOnEnter (obj)` | `travel.t[238], senseRegion.t[461]`

Should we look around on entering this room? By default we should; this is overridden in senseRegion.t to provide for the possibility of a "continuous space" implementation.

Modified in senseRegion.t[461]:
Should we look around on entering this room? Normally we should, unless both the room obj is travelling from and the room it's travelling to (normally this room) both belong in a SenseRegion whose contSpace property is true.

`notifyAfter ( )` | `travel.t[326]`

Call the after action notifications on this room and its regions

`notifyBefore ( )` | `travel.t[312]`

Call the before action notifications on this room and its regions

`notifyDeparture (traveler, dest)` | `travel.t[478], sensory.t[714], symconn.t[202], viewport.t[182]`

Carry out the notifications for a traveler leaving this room to go to dest.

Modified in sensory.t[714]:
Reset every SensoryEmanation in this room to its initial state when the player character leaves this room. [MODIFIED FOR SENSORY EXTENSION]

Modified in symconn.t[202]:
Modified in SYMCONN EXTENSION to update the vocab on any SymPassages in our destination.

Modified in viewport.t[182]:
Reset the list of rooms viewed when the player character leaves the room. [MODIFIED FOR VIEWPORT EXTENSION]

`outermostVisibleParent ( )`OVERRIDDEN | `travel.t[248]`

A Room's outermost visible parent is itself.

`preinitThing ( )`OVERRIDDEN | `symconn.t[23]`

Modified for SYMCOMM EXTENSION to set up symmetrical connectors at preinit.

`regionsInCommonWith (other)` | `travel.t[469]`

return a list of regions that both this room and other are common to.

`remoteRoomListOrder (pov)` | `senseRegion.t[482]`

For a Room in a SenseRegion return the order in which other rooms in the SenseRegion have their contents described (higher = later) from the point of view of the pov object, which will normally be the room from which the viewing, smelling or listening is being performed. By default we just return the Room's listOrder.

`roomAfterAction ( )` | `travel.t[346]`

no description available

`roomBeforeAction ( )` | `travel.t[345]`

roomBeforeAction and roomAfterAction are called just before and after the action phases of the current action. Individual instances can

`roomDaemon ( )` | `travel.t[409]`

This method is invoked on the player char's current room at the end of every action. By default we run our doScript() method if we're also a Script (that is, if the Room has been mixed in with an EventList class), thereby facilitating the display of atmospheric messages.

`roomRemoteDesc (pov)` | `viewport.t[169]`

The roomRemoteDesc() is the description of the room as seen via a Viewport from pov. [DEFINED ON VIEWPORT EXTENSION]

`setDestInfo (dirn, dest)` | `travel.t[587]`

Convenience method to set information about the destination dirn from this room. The dirn parameter should be specified as a direction object (e.g. northDir) and the dest parameter as a room. Note this is only meaningful for direction properties specified as methods (as opposed to Rooms, Doors or other TravelConnectors or as strings), and is only useful for priming the route finder at the start of the game before the player has tried to go in this direction from this room. Once the player tries this direction the dest info table will be overwritten with information about where it actually leads.

`showConnectedMiscContents (pov)`OVERRIDDEN | `senseRegion.t[269]`

List the miscellaneous contents of a remote room

`showFirstConnectedSpecials (pov)`OVERRIDDEN | `senseRegion.t[251]`

Show the specialDescs of any items in the other rooms in our SenseRegions, where specialDescBeforeContents is true

`showFirstRemoteSpecials (pov)` | `senseRegion.t[290]`

In additional to showing the first (i.e. pre-miscellaneous) list of items with specialDescs in remote locations, the showFirstRemoteSpecials() method builds the other lists of objects for the subsequent methods to use. pov is the point of view object (typically the player character) from whose point of view the list is being constructed.

`showRemoteMiscContents (pov)` | `senseRegion.t[386]`

List the miscellaneous list of items in this remote location

`showSecondConnectedSpecials (pov)`OVERRIDDEN | `senseRegion.t[262]`

Show the specialDescs of any items in the other rooms in our SenseRegions, where specialDescBeforeContents is nil

`showSecondRemoteSpecials (pov)` | `senseRegion.t[376]`

Show the removeSpecialDesc of each item in the second list of specials

`showStatuslineExits ( )`OVERRIDDEN | `travel.t[364]`

show the exit list in the status line

`sortRoomSublist (sublist, pov)` | `senseRegion.t[491]`

Sort a sublist of rooms in ascending order of their remoteRoomListOrder(pov) and return the result.

`statusName (actor)`OVERRIDDEN | `travel.t[373], postures.t[540]`

The name of the room as it appears in the status line.

Modified in postures.t[540]:
The name of the room as it appears in the status line. [MODIFIED FOR POSTURES EXTENSION to include the actor's posture]

`travelerEntering (traveler, origin)` | `travel.t[531]`

This method is invoked when traveler is about to enter this room from origin.

`travelerLeaving (traveler, dest)` | `travel.t[525]`

This method is invoked when traveler is about to leave this room and go to dest.

`unmentionRemoteContents ( )`OVERRIDDEN | `senseRegion.t[403]`

Reset the contents of all the remote rooms visible from this room to not having been mentioned.

`updateSymVocab ( )` | `symconn.t[174]`

update the vocab of any SymPassages in our contents list that have seperate room1Vocab and room2Vocab

Adv3Lite Library Reference Manual
Generated on 03/07/2024 from adv3Lite version 2.1