Re: [Code] !MOB flag

From: Phooey On You (Phooey182@AOL.COM)
Date: 10/09/98


In a message dated 10/9/98 2:05:19 AM Eastern Daylight Time,
sexycoder@HOTMAIL.COM writes:

<<    I have just about given up.  Somewhere along the line I must have
 messed up something with flags because the !mob flag doesn't work in
 rooms.
    Other room flags work, so perhaps it's a problem with mob flags.  But
 the rest of the mob flags work and I haven't messed with mobact.c.
    Something that may contribute to this problem is 128-bit flags which
 I added a long time ago.  I am stuck, please help.

 in mobact.c:
     /* Mob Movement */
     if (!MOB_FLAGGED(ch, MOB_SENTINEL) && (GET_POS(ch) == POS_STANDING)
 &&
         ((door = number(0, 18)) < NUM_OF_DIRS) && CAN_GO(ch, door) &&
         (!ROOM_FLAGGED(EXIT(ch, door)->to_room, ROOM_NOMOB) ||
          !ROOM_FLAGGED(EXIT(ch, door)->to_room, ROOM_DEATH)) &&
         (!MOB_FLAGGED(ch, MOB_STAY_ZONE) ||
          (world[EXIT(ch, door)->to_room].zone ==
 world[ch->in_room].zone))) {
       perform_move(ch, door, 1);
     }


 Anybody know what might be causing this?
 >>

I had the same problem.  I fixed it by making that first 'OR' statement an
'AND' statement.  You can also
remove the extra parentheses aronf the !ROOM_FLAGGED statements.

Phooey


     +------------------------------------------------------------+
     | 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