Subject: immoveable objects

From: [email-masked] (Kim Cary)
Date: Wed, 10 Nov 1993 15:05:02 -0800

OK, I've been poking about the programmers manual and the help for a way to
make an object immovable (no @move or @take or @put). I
examined/displayed/listed some immoveable objects. No clue.

I tried @chmod myobject.location !w, but got the this prop not defined msg.
Guess 'cause its a builtin property.

>From reading the manual, I gather that moving is related to exitfunc. Do I
have to hack the containing rooms exitfunc in order to prevent the object
from being removed from the room?

Kim Cary
Two hours later, and a bit tired from trying to match my unstoppable force
against immoveable objects.

---

From: Pavel Curtis <[email-masked]>
Date: Wed, 10 Nov 1993 15:34:16 -0800

> Date:	Wed, 10 Nov 1993 15:05:02 -0800
> From:	[email-masked] (Kim Cary)
> 

This is easy.  The only way to move an object, primitively, is through the
move() built-in function.  That function's descrption in the manual says that
you only have permission to do this for objects that you own (unless you're a
wizard.  This being the case, LambdaCore provides a conventional verb on every
object, :moveto(), that you call to `request' an object to move itself
somewhere.  The default implementation, on #1, just calls move() (i.e., it
always says `yes').

To make your object immoveable (by everyone except wizards), simply give it its
own :moveto verb that always just returns and never calls move().

	Pavel/Lambda/Haakon