Re: some remarks to the boat stuff

From: Jeremy Elson (jelson@blaze.cs.jhu.edu)
Date: 05/23/95


> I just like to add some remarks to the recent postings on boat type items.
> In the case of a boat (item to cross WATER_NOSWIM) it makes sense, IMHO,
> to wear it (e.g. some kind of waterwalking boots) or to just have it in
> the eq list (a raft or something).

I've thought about this, and I agree that as a previous poster said, the
best way is simply to make boots which give you the AFF_WATERWALK affect
when you wear them.

I was perfectly happy with that until I remembered that objects do not
have AFF_ bits. :)

This brings up another interesting issue of whether or not there should
in fact be some way to allow objects to set AFF bits.  I think there should,
and the way will probably be to add a new APPLY field, called APPLY_AFF,
whose value is a bitvector of AFF_ bits.

The above will take some thought to implement, however, and I don't want
to do it now at, 4AM, the day before I plan to release pl8.  (It will probably
be necessary to create a 'dummy spell' with infinite duration which has
the obj's apply bits and is removed when the obj is removed.)

So, for now, the boat policy will be as follows:

-- All items that allow you to walk on water must be of type BOAT.
-- Such items will work in two cases:
   1- If they item does *not* have an ITEM_WEAR_xx bit, and it is in your
      inventory.
   2- You are wearing the item.

This should work correctly, i.e. if you're carrying a boat it'll work, and
if you create wearable boots they'll work if you're wearing them but not if
you're just holding them.

> In addition, the AFF_WATERWALK doesn't work in 3.0bpl7; you may fix it like:
> 
>    /* aff waterwalk ? */
>    if (!has_boat) {
>      if (IS_AFFECTED(ch, AFF_WATERWALK))
>      has_boat = TRUE;
>    }

Yes, identical code (except maybe for the comment at the top) was added about
a week ago.

Jeremy



This archive was generated by hypermail 2b30 : 12/07/00 PST