SenseConnector: an object that can pass senses across room boundaries. This is a mix-in class: add it to the superclass list of the object before Thing (or a Thing subclass).

A SenseConnector acts as a sense conduit across all of its locations, so to establish a connection between locations, simply place a SenseConnector in each location. Since a SenseConnector is useful only when placed placed in multiple locations, SenseConnector is based on MultiLoc.

class SenseConnector :   MultiLoc

Superclass Tree   (in declaration order)


Subclass Tree  


Global Objects  


Summary of Properties  

connectorMaterial  getConnectedContainers 

Inherited from BaseMultiLoc :
initialLocationClass  locationList 

Summary of Methods  

addDirectConnections  checkMoveThrough  checkMoveViaPath  checkThrowThrough  checkThrowViaPath  checkTouchThrough  checkTouchViaPath  forEachConnectedContainer  sensePathFromWithout  shineFromWithout  transSensingThru 

Inherited from MultiLoc :
baseMoveInto  baseMoveIntoAdd  baseMoveOutOf  cloneForMultiInstanceContents  cloneMultiInstanceContents  forEachContainer  getDropDestination  initializeLocation  moveIntoAdd  moveOutOf  reInitializeLocation  restoreLocation  saveLocation  sensePathToLoc  shineOnLoc 

Inherited from BaseMultiLoc :
buildLocationList  isDirectlyIn  isIn  isInitiallyIn  isListedInContents  isOrIsIn 



A SenseConnector's material generally determines how senses pass through the connection.

Return a list of my connected containers. We connect to all of our containers, so simply return my location list.


addDirectConnections (tab)OVERRIDDENsense.t[451]

Add the direct containment connections for this item to a lookup table.

Since we provide a sense connection among all of our containers, add each of our containers to the list.

checkMoveThrough (obj, dest)sense.t[589]
Check moving an object through me. This is called when we try to move an object from one of our containers to another of our containers through me. By default, we don't allow it.

checkMoveViaPath (obj, dest, op)sense.t[617]
check for moving via a path

checkThrowThrough (obj, dest)sense.t[611]
Check throwing an object through me. This is called when an actor tries to throw a projectile 'obj' at 'dest' via a path that includes 'self'. By default, we don't allow it.

checkThrowViaPath (obj, dest, op)sense.t[647]
check for throwing via a path

checkTouchThrough (obj, dest)sense.t[600]
Check touching an object through me. This is called when an actor tries to reach from one of my containers through me into another of my containers. By default, we don't allow it.

checkTouchViaPath (obj, dest, op)sense.t[632]
check for touching via a path

forEachConnectedContainer (func, [args])OVERRIDDENsense.t[573]
Call a function on each connected container. Since we provide a sense path connection among our containers, we must iterate over each of our containers.

sensePathFromWithout (fromParent, sense, trans, obs, fill)sense.t[519]
Build a sense path from a container to me

shineFromWithout (fromParent, sense, ambient, fill)sense.t[478]
Transmit energy from a container onto me.

transSensingThru (sense)sense.t[442]
Determine how senses pass through this connection. By default, we simply use the material's transparency.

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