Subject: chown || quota ?

From: [email-masked] (chris)
Date: Tue, 12 May 1992 00:24:41 -0700

Hi all!

    I have a question concerning a players quota and @chown.
    When I use @chown on an object either owned by myself
    or by a player, and transfer ownership to another player,
    should a quota change occur for the two players involved?

    An example would be...

    @create $thing named foo
    @chown foo Wizard   ( this is done as my player wizard named Bob )

    my quota allows me only to create 19 more objects without recycling
    since I no longer control that object, should it still be counted
    as part of my quota?  This is very trivial, but I wish to keep
    objects with wizard perms owned by Wizard, just to be consistant
    throughout the database.  I might be missing something....

    chris

    [email-masked]

---

From: Roger Crew <[email-masked]>
Date: Tue, 12 May 1992 14:02:10 -0700

>       should a quota change occur for the two players involved?

In fact, LambdaCore changed recently so that quota would indeed be
updated on a @chown --- this was essentially a matter of grepping for
all occurences of `.owner = ...' and replacing with $wiz_utils:set_owner(...),
the idea being that this routine would take care of quota adjustments
and also the .owned_objects property (implemented recently to make
@audit go faster).  $wiz_utils, in fact, has a number of routines that
are intended to be used in place of the corresponding server-builtin
constructs (notably, :set_player(foo) for set_player_flag(foo,1),
:unset_player(foo) for set_player_flag(foo,0), :set_programmer(foo)
for foo.programmer = 1, ...)

The idea behind the current quota system is that you get to own n objects,
whether you create them or have them chowned to you.  The question of 
increasing/decreasing one's quota is then handled separately.

>       as part of my quota?  

Indeed no, but in the previous LambdaCore, one had to update the quota
by hand.  Note that since your player Bob is himself a wizard, he
could easily do ;player.ownership_quota = 2147483647 which would take care
this particular problem for a long time to come.

Actually, what I'd like to see is to have the server handle
:initialize()/:recycle()/:chparent() correctly (more on this in an
upcoming posting --- yes, I have a number of these stacked up...) 
so that the quota system can be done entirely in-DB (what I have in mind
would incidentally allow having quota not apply to certain classes of
objects e.g., exits).

	Roger