Re: [Code] New Eq Positions

From: Admin of The Keep (
Date: 10/24/96

On Thu, 24 Oct 1996, Johan Dustler wrote:

> The easy way to fix this is to not rearrange where, equipment_types,
> wear_bitvectors or already_wearing, just add at the end of the lists.
> Otherwise you will have to go in and edit all zone files.
> Then you can use a wear_pos[] array in the look at function to let the
> new eq positions show up where you want them to be.

  Once again, I would NOT recommend doing this.  It can cause problems
  because the way the eq is displayed and how it is searched depends
  on one another.  Unless you're going to change generic_find() to use
  the re-ordered array, you'll end up with problems.

  To note, a problem will arise when you have a re-ordered display of eq
  but the eq list is still traversed in the old order.  The result would
  be that if you are wielded a wooden training sword, with the keywords
  "sword wooden training" and holding a small woodens shield, with the
  keywords, "shield wooden small," the command <remove 2.wooden> won't
  remove the one shown as the second.  For instance, it displays:

    <wielded>		a wooden training sword
    <held>		a gnarled wooden staff
    <worn as shield>	a small, wooden shield

  Now, each of these would have the keyword wooden.  The reordered display
  would show them like the above, when they would truthfully be organized
  (and thus searched) as shield, held, wielded.  So the player would think
  that 3.wooden would point to the shield, but it actually finds the
  sword.  And remove wooden would remove your shield.  In this case,
  remove 2.wooden would still point to the staff.

  So either avoid using this method or change all eq searches in the code
  to use the reordered array for indexing.

  Both methods shouldn't be too difficult, but since I don't see why you'd
  want to change the order of the eq list anyway, the first sounds better.


| Ensure that you have read the CircleMUD Mailing List FAQ: |
|   |

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