From the NannyMUD documentation
2001-01-13
remote - remote object, what is it, where is it?
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.
To see exactly what objects in the /std lib uses remote functions and exactly which ones, check out the documentation on those objects.
See /examples/armour/ring.c /examples/state_harry.c for examples.