RoomPartclass

travel.t[4872]

Superclass
Tree

Subclass
Tree

Global
Objects

Property
Summary

Method
Summary

Property
Details

Method
Details

Room Part - base class for “parts” of rooms, such as floors and walls. Room parts are unusual in a couple of ways.

First, room parts are frequently re-used widely throughout a game. We define a single instance of each of several parts that are found in typical rooms, and then re-use those instances in all rooms with those parts. For example, we define one “default floor” object, and then use that object in most or all rooms that have floors. We do this for efficiency, to avoid creating hundreds of essentially identical copies of the common parts.

Second, because room parts are designed to be re-used, things that are in or on the parts are actually represented in the containment model as being directly in their containing rooms. For example, an object that is said to be “on the floor” actually has its ‘location’ property set to its immediate room container, and the ‘contents’ list that contains the object is that of the room, not of the floor object. We must therefore override some of the normal handling for object locations within room parts, in order to make it appear (for the purposes of command input and descriptive messages) that the things are in/on their room parts, even though they’re not really represented that way in the containment model.

class RoomPart :   Fixture

Superclass Tree   (in declaration order)

RoomPart
Fixture
NonPortable
Thing
VocabObject
`                                         object`

Subclass Tree  

RoomPart
DefaultWall
Floor

Global Objects  

defaultCeiling defaultSky

Summary of Properties  

contentsLister descContentsLister lookInLister nothingBehindMsg nothingThroughMsg nothingUnderMsg sightSize specialContentsLister

Inherited from Fixture :
cannotMoveMsg cannotPutMsg cannotTakeMsg

Inherited from NonPortable :
bulk contentsListed isListed isListedInContents isListedInInventory weight

Inherited from Thing :
actorInAName actorInName actorInPrep actorIntoName actorOutOfName actorOutOfPrep aDisambigName allStates aName brightness canBeHeard canBeSeen canBeSmelled canBeTouched canMatchHer canMatchHim canMatchIt canMatchThem circularlyInMessage collectiveGroup collectiveGroups contents contentsListedInExamine contentsListedSeparately described disambigEquivName disambigName distantDesc distantInitSpecialDesc distantSpecialDesc distinguishers dummyName effectiveFollowLocation equivalenceKey equivalentGrouper equivalentGrouperClass equivalentGrouperTable esEndingPat explicitVisualSenseInfo getState globalParamName holdingIndex iesEndingPat initDesc initNominalRoomPartLocation initSpecialDesc inlineContentsLister isEquivalent isHer isHim isInInitState isKnown isLikelyCommandTarget isListedAboardVehicle isMassNoun isPlural isProperName isQualifiedName isThingConstructed isTopLevel listName listWith location moved name nameDoes nameSays nameSees notTravelReadyMsg objectNotifyList objInPrep obscuredInitSpecialDesc obscuredSpecialDesc owner patElevenEighteen patIsAlpha patLeadingTagOrQuote patOfPhrase patOneLetterAnWord patOneLetterWord patSingleApostropheS patTagOrQuoteChar patUpperOrDigit patVowelY pluralDisambigName pluralName pronounSelector roomDarkName roomLocation roomName seen sightPresence smellPresence smellSize soundPresence soundSize specialDesc specialDescBeforeContents specialDescListWith specialDescOrder specialNominalRoomPartLocation suppressAutoSeen takeFromNotInMessage theDisambigName theName theNamePossNoun tmpAmbient_ tmpAmbientFill_ tmpAmbientWithin_ tmpFillMedium_ tmpObstructor_ tmpObstructorWithin_ tmpPathIsIn_ tmpTrans_ tmpTransWithin_ touchPresence touchSize verbCan verbCannot verbCant verbEndingSD verbEndingSEd verbEndingSMessageBuilder_ verbMust verbToCome verbToDo verbToGo verbToLeave verbToSay verbToSee verbWill verbWont

Inherited from VocabObject :
canResolvePossessive disambigPromptOrder pluralOrder vocabLikelihood vocabWords weakTokens

Summary of Methods  

dobjFor(Examine) dobjFor(LookIn) examinePartContents examineSpecialContents examineStatus filterResolveList getHitFallDestination hideFromAll hideFromDefault initializeThing isIn isObjListedInRoomPart moveIntoAdd moveOutOf

Inherited from Fixture :
dobjFor(Move) dobjFor(MoveTo) dobjFor(MoveWith) dobjFor(Pull) dobjFor(Push) dobjFor(PushTravel) dobjFor(PutBehind) dobjFor(PutIn) dobjFor(PutOn) dobjFor(PutUnder) dobjFor(Take) dobjFor(TakeFrom) dobjFor(ThrowAt) dobjFor(ThrowDir) isOwnedBy verifyMoveTo

Inherited from NonPortable :
contentsInFixedIn dobjFor(ShowTo) isHeldBy meetsObjHeld

Inherited from Thing :
acceptCommand addAllContents addDirectConnections addObjectNotifyItem addToContents addToSenseInfoTable adjustLookAroundTable adjustThrowDestination afterAction afterTravel allContents aNameFrom aNameObj aNameOwnerLoc announceDefaultObject appendHeldContents atmosphereList baseMoveInto basicExamine basicExamineFeel basicExamineListen basicExamineSmell basicExamineTaste beforeAction beforeTravel buildContainmentPaths cacheAmbientInfo cacheSenseInfo cacheSensePath canBeHeardBy canBeSeenBy canBeSensed canBeSmelledBy canBeTouchedBy canDetailsBeSensed canHear canMatchPronounType canMoveViaPath cannotGoShowExits cannotReachObject cannotSeeSmellSource cannotSeeSoundSource canOwn canSee canSmell canThrowViaPath canTouch canTouchViaPath checkActorOutOfNested checkBulkChange checkBulkChangeWithin checkMoveViaPath checkStagingLocation checkThrowViaPath checkTouchViaPath checkTravelerDirectlyInRoom childInName childInNameGen childInNameWithOwner childInRemoteName clearSenseInfo cloneForMultiInstanceContents cloneMultiInstanceContents conjugateRegularVerb connectionTable construct countDisambigName countListName countName countNameFrom countNameOwnerLoc darkRoomContentsLister defaultDistantDesc defaultObscuredDesc desc directionForConnector distantSmellDesc distantSoundDesc dobjFor(AskAbout) dobjFor(AskFor) dobjFor(AskVague) 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(Consult) dobjFor(ConsultAbout) dobjFor(CutWith) 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(GetOffOf) dobjFor(GetOutOf) dobjFor(GiveTo) dobjFor(GoThrough) dobjFor(JumpOff) dobjFor(JumpOver) dobjFor(Kiss) dobjFor(LieOn) dobjFor(Light) dobjFor(ListenTo) dobjFor(Lock) dobjFor(LockWith) dobjFor(LookBehind) dobjFor(LookThrough) dobjFor(LookUnder) dobjFor(Open) dobjFor(PlugIn) dobjFor(PlugInto) dobjFor(Pour) dobjFor(PourInto) dobjFor(PourOnto) dobjFor(Read) dobjFor(Remove) dobjFor(Screw) dobjFor(ScrewWith) dobjFor(Search) dobjFor(Set) dobjFor(SetTo) dobjFor(SitOn) dobjFor(Smell) dobjFor(StandOn) dobjFor(Strike) dobjFor(Switch) dobjFor(TalkTo) dobjFor(Taste) dobjFor(TellAbout) dobjFor(TellVague) dobjFor(Throw) dobjFor(ThrowTo) dobjFor(Turn) dobjFor(TurnOff) dobjFor(TurnOn) dobjFor(TurnTo) dobjFor(TurnWith) dobjFor(TypeLiteralOn) dobjFor(TypeOn) dobjFor(Unfasten) dobjFor(UnfastenFrom) dobjFor(Unlock) dobjFor(UnlockWith) dobjFor(Unplug) dobjFor(UnplugFrom) dobjFor(Unscrew) dobjFor(UnscrewWith) dobjFor(Wear) examineListContents examineListContentsWith failCheck feelDesc fillMedium findOpaqueObstructor findTouchObstructor forEachConnectedContainer forEachContainer fromPOV getAllForTakeFrom getAllPathsTo getAnnouncementDistinguisher getBagAffinities getBagsOfHolding getBestDistinguisher getBulk getBulkWithin getCarryingActor getCommonContainer getCommonDirectContainer getConnectedContainers getConnectorTo getContentsForExamine getDestName getDropDestination getEncumberingBulk getEncumberingWeight getExtraScopeItems getIdentityObject getInScopeDistinguisher getListedContents getLocPushTraveler getLocTraveler getMovePathTo getNoise getNominalDropDestination getNominalOwner getObjectNotifyList getOdor getOutermostRoom getOutermostVisibleRoom getRoomNotifyList getRoomPartLocation getStateWithInfo getStatuslineExitsHeight getThrowPathTo getTouchPathTo getTravelConnector getVisualSenseInfo getWeight hasCollectiveGroup initializeEquivalent initializeLocation inRoomName iobjFor(AttachTo) iobjFor(AttackWith) iobjFor(BurnWith) iobjFor(CleanWith) iobjFor(CutWith) iobjFor(DetachFrom) iobjFor(DigWith) iobjFor(FastenTo) iobjFor(GiveTo) iobjFor(LockWith) iobjFor(MoveWith) iobjFor(PlugInto) iobjFor(PourInto) iobjFor(PourOnto) 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) isActorTravelReady isComponentOf isDirectlyIn isInFixedIn isListed isListedInContents isListedInInventory isListedInRoomPart isLookAroundCeiling isNominallyIn isNominallyInRoomPart isOccludedBy isOrIsIn isShipboard isVocabEquivalent itIs itNom itObj itPossAdj itPossNoun itVerb listCardinality localDirectionLinkForConnector lookAround lookAroundPov lookAroundWithin lookAroundWithinContents lookAroundWithinDesc lookAroundWithinName lookAroundWithinSense lookAroundWithinShowExits lookInDesc mainExamine mainMoveInto mapPushTravelHandlers mapPushTravelHandlers mapPushTravelHandlers mapPushTravelHandlers mapPushTravelHandlers mergeSenseInfo mergeSenseInfoTable moveInto moveIntoForTravel moveIntoNotifyPath mustMoveObjInto nameIs nameIsnt nameVerb normalizePath notePromptByOwnerLoc notePromptByPossAdj noteSeenBy notifyInsert notifyMoveInto notifyMoveViaPath notifyRemove obscuredDesc obscuredSmellDesc obscuredSoundDesc pluralNameFrom processThrow propHidesProp propWithPresent putInName receiveDrop remoteDesc remoteInitSpecialDesc remoteRoomContentsLister remoteSpecialDesc removeFromContents removeObjectNotifyItem restoreLocation roomActorThereDesc roomContentsLister roomDaemon roomDarkDesc roomDesc roomFirstDesc roomRemoteDesc roomTravelPreCond saveLocation selectPathTo sendNotifyInsert sendNotifyRemove senseAmbientMax senseInfoTable senseObj sensePathFromWithin sensePathFromWithout sensePathToContents sensePathToLoc sensePresenceList setAllSeenBy setContentsSeenBy setGlobalParamName setVisualSenseInfo shineFromWithin shineFromWithout shineOnContents shineOnLoc showDistantSpecialDesc showDistantSpecialDescInContents showInventoryContents showInventoryItem showInventoryItemCounted showListItem showListItemCounted showListItemCountedGen showListItemGen showObjectContents showObscuredSpecialDesc showObscuredSpecialDescInContents showRemoteSpecialDesc showRemoteSpecialDescInContents showSpecialDesc showSpecialDescInContents showSpecialDescInContentsWithInfo showSpecialDescWithInfo showStatuslineExits showWornItem showWornItemCounted smellDesc smellHereDesc soundDesc soundHereDesc specialDescList specialPathFrom statusName stopThrowViaPath superHidesSuper tasteDesc thatNom thatObj theNameFrom theNameObj theNameOwnerLoc theNameWithOwner throwTargetCatch throwTargetHitWith throwViaPath transmitAmbient transSensingIn transSensingOut traversePath tryHolding tryImplicitRemoveObstructor tryMovingObjInto useInitDesc useInitSpecialDesc useSpecialDesc useSpecialDescInContents useSpecialDescInRoom useSpecialDescInRoomPart verbEndingEs verbEndingIes verbEndingS verbToHave verbWas verifyFollowable verifyInsert verifyRemove whatIf whatIfHeldBy withVisualSenseInfo

Inherited from VocabObject :
addToDictionary expandPronounList getFacets inheritVocab initializeVocab initializeVocabWith matchName matchNameCommon matchNameDisambig throwNoMatchForLocation throwNoMatchForPossessive throwNothingInLocation

Properties  

contentsListerOVERRIDDEN

travel.t[5107]

our contents listers

descContentsListerOVERRIDDEN

travel.t[5108]

no description available

lookInListerOVERRIDDEN

travel.t[5109]

no description available

nothingBehindMsg

travel.t[5128]

no description available

nothingThroughMsg

travel.t[5129]

no description available

nothingUnderMsg

travel.t[5127]

we can’t look behind/through/under a room part by default

sightSizeOVERRIDDEN

travel.t[4973]

Since room parts are generally things like walls and floors that enclose the entire room, they’re typically visually large, and tend to have fairly large-scale details (such as doors and windows). So, by default we set the sightSize to ‘large’ so that the details are visible at a distance.

specialContentsListerOVERRIDDEN

travel.t[5110]

no description available

Methods  

dobjFor(Examine)OVERRIDDEN

travel.t[4981]

as with decorations, downgrade the likelihood for Examine, as the standard walls, floors, etc. are pretty much background noise that are just here in case someone wants to refer to them explicitly

dobjFor(LookIn)OVERRIDDEN

travel.t[5113]

look in/on: show our contents

examinePartContents (listerProp)

travel.t[4998]

show our contents

examineSpecialContents ( )OVERRIDDEN

travel.t[5028]

show our special contents - this shows objects with special descriptions that are specifically in this room part

examineStatus ( )OVERRIDDEN

travel.t[4991]

describe the status - shows the things that are in/on the part

filterResolveList (lst, action, whichObj, np, requiredNum)OVERRIDDEN

travel.t[4937]

When multiple room parts show up in a resolve list, and some of the parts are local to the actor’s immediate location and others aren’t, keep only the local ones. This helps avoid pointless ambiguity in cases where two (or more) top-level locations are linked with a sense connector, and one or the other location has custom room part objects.

getHitFallDestination (thrownObj, path)OVERRIDDEN

travel.t[5052]

Get the destination for a thrown object that hits me. Since we don’t have a real location, we must ask the actor for our room part location, and then use its hit-and-fall destination.

hideFromAll (action)OVERRIDDEN

travel.t[4924]

Don’t include room parts in ‘all’. Room parts are so ubiquitous that we never want to assume that they’re involved in a command except when it is specifically so stated.

hideFromDefault (action)OVERRIDDEN

travel.t[4927]

do allow use as a default, though

initializeThing ( )OVERRIDDEN

travel.t[5135]

initialization - add myself to my location’s roomPart list if I have an explicit location

isIn (loc)OVERRIDDEN

travel.t[5074]

consider me to be in any room of which I’m a part

isObjListedInRoomPart (obj)

travel.t[4882]

When we explicitly examine a RoomPart, list any object that’s nominally contained in the room part, as long it doesn’t have a special description for the purposes of the room part. (If it does have a special description, then examining the room part will automatically display that special desc, so we don’t want to include the object in a separate list of miscellaneous contents of the room part.)

moveIntoAdd (room)

travel.t[4901]

Add this room part to the given room.

Room parts don’t have normal “location” properties. Instead, a room part explicitly appears in the “roomParts” list of each room that contains it. For the most part, room parts are static - they’re initialized in the room definitions and never changed. However, if you need to dynamically add a room part to a room during the game, you can do so using this method.

moveOutOf (room)

travel.t[4912]

Remove this room part from the given room. This can be used if it’s necessary to remove the room part dynamically from a room.

TADS 3 Library Manual
Generated on 5/16/2013 from TADS version 3.1.3