ATTR
ATTR is a CAOS command and function used to change or output the attributes (characteristics) of an agent.
Contents
Usage
Command
Syntax: ATTR binary_flags(int)
Sets the attributes of the current TARG to those specified by the bitmap binary_flags. This should be the sum of all the relevant attribute flags from the list below.
The attributes in Creatures 1 are:
1 - Can be picked up by creatures.
2 - Can be picked up by the hand.
4 - Can be activated using the hand.
8 - Carries other objects or creatures (only for use in vehicles).
16 - Creatures can't see it.
32 - Floating on screen
64 - Limits movement to current room
128 - Movement limited by ground surface
NOTE: 128 and 64 cannot be combined.
The attributes in Creatures 3 are:
1 - Can be picked up by other agents.
2 - Can be picked up by the hand.
4 - Can be activated using the hand.
8 - Vehicle only: Will automatically hold agents dropped into its cabin.
16 - Creatures can't see it. (From the CAOS docs: '...applies to ESEE and STAR on creatures, as well as internal creature code.')
32 - Stays in one position relative to the screen, position is set with FLTO. FREL can be used to make it stay in one position relative to another agent.
64 - Collides with the walls between rooms depending on its PERM.
128 - The agent is affected by gravity, air resistance and friction, these are set by ACCG, AERO and FRIC. Agents without this flag only move when thrown.
256 - The agent, and its contents if it's a vehicle, cannot be seen on cameras or on images created with SNAP.
512 - Vehicle only: Creatures can only see and interact with agents in the cabin if this flag is used.
Function
Syntax: ATTR
Returns the ATTR bitmap of TARG, as detailed above.
Examples
Make HOTS mouse-carryable, and make it suffer collisions and physics:
TARG HOTS ATTR 194
Send the attribute bitmap of HOTS to the output stream:
TARG HOTS OUTV ATTR
Prevent any agents from suffering physics:
ENUM 0 0 0 SETV va00 ATTR ANDV va00 128 DOIF va00 eq 128 SETV va00 ATTR SUBV va00 128 ATTR va00 ENDI NEXT