There are three fundamental attributes to every object:
The act of creating a character sets the player attribute of an object and
only a wizard (using the function
set_player_flag()) can change that
setting. Only characters have the player bit set to 1.
The parent/child hierarchy is used for classifying objects into general classes
and then sharing behavior among all members of that class. For example, the
LambdaCore database contains an object representing a sort of "generic" room.
All other rooms are descendants (i.e., children or children's children,
or ...) of that one. The generic room defines those pieces of behavior
that are common to all rooms; other rooms specialize that behavior for their
own purposes. The notion of classes and specialization is the very essence of
what is meant by object-oriented programming. Only the functions
change the parent and children attributes.