From the NannyMUD documentation

LAST CHANGE

2001-01-13

NAME

        remote - remote object, what is it, where is it?

DESCRIPTION

        The object library, residing in /std, makes extensive use of the
        concept of a remote object.

        The remote object is an object that holds utilities for another
        object. This means that it has functions the other object can call;
        functions that will, in some way, provide services for the calling
        object.

        Why is this done, you might ask. The answer is that there are several
        reasons. A few examples might shed some light on it.

        1/ The remote object holds a set of functions that will be used by a
           group of objects. Collecting those in a single object, rather than
           having all of them in all objects, saves memory. It also mkes it
	   easier to maintain.

        2/ The remote object holds a large data base, and a group of objects
           needs that. By keeping this data base in a remote object, and
           asking that for the data saves memory.

        So, what object can be used as a remote object? The answer is: any
        object! For example, an object can use itself as the remote object.
        This is rather common in the case of monsters that won't appear in
        hordes. 

NOTE

        To see exactly what objects in the /std lib uses remote functions and
        exactly which ones, check out the documentation on those objects.

EXAMPLE

        See
           /examples/armour/ring.c
           /examples/state_harry.c
        for examples.