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