Re: Query Ansi

From: Daniel A. Koepke (dkoepke@california.com)
Date: 06/12/99


On Fri, 11 Jun 1999, Mordist wrote:

> My only idea is that the SET or REMOVE flags aren't being called when
> a char reconnects...only called when the char enters the game....If ya
> checked that already sorry for the wasted space :P

It's actually because the reconnection uses the already loaded character,
rather than the one we modify.  The change is simple and needs to be made
to perform_dupe_check(),

    /* Okay, we've found a target.  Connect d to target. */
    free_char (d->character);   /* get rid of the old char */
    d->character = target;
    d->character->desc = d;

Needs to be changed to,

    /* Okay, we've found a target.  Connect d to target. */
    color_mode = PRF_FLAGS(d->character) & (PRF_COLOR_1 | PRF_COLOR_2);
    free_char (d->character);   /* get rid of the old char */
    d->character = target;
    d->character->desc = d;
    REMOVE_BIT(PRF_FLAGS(d->character), PRF_COLOR_1 | PRF_COLOR_2);
    SET_BIT(PRF_FLAGS(d->character), color_mode);

And add 'int color_mode;' up at the top of the function.  Pretty easy, I
guess.

-dak


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



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