Re: ShopKeepers

From: Angus Mezick (angus@EDGIL.CCMAIL.COMPUSERVE.COM)
Date: 10/20/97


this works, I ran into this when I added OLC for assigning spec_proc's  is a
pain to debug  because the core just has lines and lines of shop_keeper() in it.
 ick
also stick the check for this in the actual shop_keeper SPECIAL.
--Angus
______________________________ Reply Separator _________________________________
Subject:  ShopKeepers
Author:  INTERNET:CIRCLE@post.queensu.ca at CSERVE
Date:    10/19/97 12:03 PM

well, i'm assuming this is a small bugfix,
of course i can't figure out WHY it wasn't implemented before.

i recently had the infinite shop_keepers problem.
the one where the mob_index's function == SHOP_FUNC() function
ie  the Shop Keeper's secondary Spec_proc was a Shop Keeper.

well, i don't know if this is gonna make a major difference to something
or not,
but here goes.

in assign_the_shops() in shop.c
in the for() loop
before if (mob_index[SHOP_KEEPER(index)].func)
put
    if (mob_index[SHOP_KEEPER(index)].func &&
        mob_index[SHOP_KEEPER(index)].func == *shop_keeper)
       continue;

this will skip a mob if its function pointer is ALREADY a shop keeper.
it seems to work now, although i don't really see how it happened in the
first place :-P


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



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