Although Quick Codes gives access to an immediate set of entities, the scope of them is quite limited. Enter the $( ), the Entity Expansion. Using the tables below, one can resolve a vast array of entities.

Type Legend:

integervalue is an INTEGER
stringvalue is a STRING
mobilereferences a MOBILE
objectreferences an OBJECT
roomreferences a ROOM
exitreferences an EXIT
areareferences an AREA
tokenreferences a TOKEN
lista LIST of like typed items
unknowntype is dependant on context of field.
Example: self for PRIMARY in a mobile script is a MOBILE, so look at the fields for MOBILE.

Look at the respective tables for what fields a given type allows.
PRIMARY fields: variables: yes

enactorthe mobile that triggered the script
randomthe random mobile target in the current room
targetthe script target of SELF
victimthe victim mobile of the script
obj1the primary object
obj2the secondary object
herethe current room
selfthe one executing the script
thissynonym of self

INTEGER fields: variables: no

absabsolute value

STRING fields: variables: no

lenstring length
lengthstring length

ROOM fields: variables: yes

namename of the room
targetscript target
norththe north exit
eastthe east exit
souththe south exit
westthe west exit
upthe up exit
downthe down exit
northeastthe northeast exit
northwestthe northwest exit
southeastthe southeast exit
southwestthe southwest exit
areacurrent area
mobileslist of MOBILEs in the room
objectslist of OBJECTs in the room
tokenslist of TOKENs on the room (not implemented)

AREA fields: variables: no

namename of area
postpost-office room
recallrecall room

MOBILE fields: variables: yes

gendersynonym for sex
hehe, she, it
himhim, her, it
hishis, her, its
hisobjhis, hers, its
longroom description of mobile
namename of mobile
racename of race
sexmale, female, neuter
shortshort of mobile
huntingcurrent mobile it is hunting
leadergroup leader
mastermobile this one is following
mountmobile being ridden
nextnext mobile in room
opponentcurrent opponent
ownermobile that owns this one
preysynonym for hunting
ridermobile/player riding this one
targetscript target
bedrollsynonym for on
cartobject the mobile is pulling
eq_aboutobject worn around the body
eq_armsobject worn on arms
eq_backobject worn on back
eq_bodyobject worn on torso
eq_feetobject worn on feet
eq_finger1object worn on left finger
eq_finger2object worn on right finger
eq_handsobject worn on hands
eq_headobject worn on head
eq_holdheld object
eq_legsobject worn on legs
eq_lightused light object
eq_neck1first object worn on neck
eq_neck2second object worn on
eq_ringobject worn on ring finger
eq_shieldworn shield
eq_shoulderobject worn on shoulders
eq_waistobject worn on waist
eq_wield1primary weapon
eq_wield2secondary weapon
eq_wrist1object worn on left wrist
eq_wrist2object worn on right wrist
onobject the mobile is on
homelocation of first home room (players)
housesynonym for home
roomcurrent room
areacurrent area
carryingsynonym for inv
invlist of OBJECTs in inventory
tokenslist of TOKENs on the mobile

TOKEN fields: variables: yes

timercurrent timer value
val0value 0
val1value 1
val2value 2
val3value 3
namename of token
ownermobile the token is on
nextnext token in list

VARIABLE type casts:

numtreat as an INTEGER
strtreat as a STRING
mobtreat as a MOBILE
objtreat as an OBJECT
roomtreat as a ROOM
exittreat as an EXIT
tokentreat as a TOKEN
areatreat as an AREA

OBJECT fields: variables: yes

longroom description of object
namename of object
shortshort description of object
carrierthe mobile carrying/wearing the object
ownerthe owner of the object
targetscript target
usersynonym of carrier
wearersynonym of carrier
containerthe object this one is contained in
insynonym of container
nextnext object in content list (be it room, inventory or inside an object)
onthe object this one is on
roomcurrent room
areacurrent area
contentslist of OBJECTs contained inside
invsynonym of contents
itemssynonym of contents
tokenslist of TOKENs on the object (not implemented)

EXIT fields: variables: no

doordirection number of exit
namedirection name of exit
statewhether it is open, closed, locked, barred
destsynonym of destination
destinationdestination room of exit
heresynonym of source
remotesynonym of destination
sourcesource room of exit
srcsynonym of source
matethe exit in the destination going the reverse direction IF the two exits' source is the destination of the other.
norththe north exit in the destination. **
eastthe east exit in the destination. **
souththe south exit in the destination. **
westthe west exit in the destination. **
upthe up exit in the destination. **
downthe down exit in the destination. **
northeastthe northeast exit in the destination. **
northwestthe northwest exit in the destination. **
southeastthe southeast exit in the destination. **
southwestthe southwest exit in the destination. **
nextthe next exit in the room

** these are shortcut notations for chaining exits together.
LIST fields: variables: no

countsynonym of length
lensynonym of length
lengthlength of the list
sizesynonym of length
firstfirst element in list
lastlast element in list
randomrandom element in list

General Format:
$(field .field ... .field)

Each field is chained together using periods, either being a variable reference or one of the valid fields for the current type. Use the lists for valid fields. Types with "variables: yes" allow variable references. The first field must be a PRIMARY field or a variable reference.

Example: referencing the SELF of the script

Example: getting the primary weapon of the enactor

Variable References: accessing variables within an entity

The name must be a valid variable name. Look at VARIABLE type casts for type keywords. These are needed so the processing knows what the variable SHOULD be. The variable is searched in the list of the parent, or the SELF of the script if the first field of the expansion.

Example: getting a mobile variable "targ" from SELF's variable list.

Example: getting a room variable "loc" from the enactor.

Back to Top