[1335] in Coldmud discussion meeting

root meeting help first first in chain previous in chain previous next next in chain last in chain last

Re: [COLD] Exit announcements (anomaly?)

daemon@ATHENA.MIT.EDU (Thu Aug 21 21:09:08 1997 )

Date: Fri, 22 Aug 1997 11:00:32 +1000
From: Dancer <dancer@brisnet.org.au>
To: Chris Williams <psion@geekspace.com>, coldstuff@cold.org

Currently, MUSH works this way with regard to exits:

Test the lock, and make sure that the enactor can pass it.
Issue messages to enactor, and to those in the same room as the enactor.
(You go north.) (___ takes the north passage.)
Now things get a little fuzzy. I _think_ that messages for the
destination room occur now. (____ enters from the southern tunnel.)
Then the enactor is moved to the target room (____ has arrived.) (and
____ has left. for the enactor's original location).
At this point, the exit's job is finished. The enactor has been moved,
and all the exit messages have been processed. If the target room
contains any special conditions, they commence processing from this
point.

D


Chris Williams wrote:

> > > I've noticed the same thing, and agree. Is there a reason source
> and dest
> > > announces can't be called bevore move_to (in $exit.invoke)?
> (they'd both have
> > > to be moved, else the actor would see their messages twice, or
> none at all).
> > Yup, there is.. what happens if .move_to() doesn't allow you to
> move?
> > Then everybody has been notified that you went/arrived, but you
> didn't...
> Yeah. If I recall, MOO's approach to this problem was to approve the
> mover for
> moving, then do stuff, then move them, but that was ugly. Or you could
> do the
> approval checks twice, once just to check, and once as part of the
> move.
> Hmm.
> Maybe this should be handled by whatever's handling the CML? Like, as
> part of
> the CML-frob, you give it meta-information about which messages should
> be
> dispatched in what sequence, and to only do such-and-such messages on
> condition of success of x verb-call (which the cml parser makes??).
> This seems
> a bit heavy-handed.
> Maybe this is just a case where two different messages are needed,
> instead of
> piggybacking the actor's message on the destinations announce.
>
> --
>                                   -Chris^`~'*.,_,.*'~`^P$iON-
> -----BEGIN GEEK CODE BLOCK-----
> Version: 3.12
> GCS/CM/IT/M/S d-- s+: a15 C++++$ UL+ P L-- E? W++(+++) N+ o? K? w++++@
>
> O--- M-- V- PS++ PE- Y+ PGP- t+ 5++ X+ R+ tv+ b++ DI+++ D+
> G++ e* h! r y-
> ------END GEEK CODE BLOCK------