[CODE] Random Procs - TAKE 2!

From: Chuck Reed (creed@I-55.COM)
Date: 05/04/98


Ok, I left out something very important in my previous post.  The game
doesn't like the
d->character call for non-playing characters.  Also, I wasn't checking
items in the players inventory.  The only thing that needs to be changed
are the two functions call_room_specs and call_obj_specs.  These should fix
the problem:

void call_obj_specs(void)
{
extern struct descriptor_data *descriptor_list;
struct descriptor_data *d;
extern struct index_data *obj_index;
struct obj_data *i;
int j;

for (d = descriptor_list; d; d = d->next) {
   for (j = 0; j < NUM_WEARS; j++)
    if (d->character && GET_EQ(d->character, j) &&
GET_OBJ_SPEC(GET_EQ(d->character, j)))
      if (GET_OBJ_SPEC(GET_EQ(d->character, j)) (d->character,
          GET_EQ(d->character, j), 0, ""))
         continue;
  }

for (d = descriptor_list; d; d = d->next) {
 if(d->character)
  for (i = d->character->carrying; i; i = i->next_content)
    if (GET_OBJ_SPEC(i) != NULL)
      if (GET_OBJ_SPEC(i) (d->character, i, cmd, arg))
        continue;
}

void call_room_specs(void)
{
extern struct descriptor_data *descriptor_list;
struct descriptor_data *d;

for (d = descriptor_list; d; d = d->next) {
   if(d->character && d->character->in_room &&
GET_ROOM_SPEC(d->character->in_room) != NULL)
     if (GET_ROOM_SPEC(d->character->in_room) (d->character, world +
d->character->in_room, 0, ""))
        continue;
 }
}


Chuck Reed     | Q: Who's your favorite Spice Girl? |
creed@i-55.com | A: The dead one.                   |

"Jesus saves . . . . he passes to Moses.  Moses shoots, HE SCORES!"
                                                -Unknown


     +------------------------------------------------------------+
     | 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/15/00 PST