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