Here are 2 bugfixes for stock circle patch level 11...
The first bug allowed immortals to find invisible immortals by doing a where
obj then stating any obj that was carried or worn by someone, to fix this,
change the lines in act.wizard.c do_stat_obj():
strcat(buf, ", Carried by: ");
strcat(buf, j->carried_by ? GET_NAME(j->carried_by) : "Nobody");
strcat(buf, ", Worn by: ");
strcat(buf, j->worn_by ? GET_NAME(j->worn_by) : "Nobody");
to:
strcat(buf, ", Carried by: ");
strcat(buf, j->carried_by ? (!CAN_SEE(ch, j->carried_by) ? "Someone" :
GET_NAME(j->carried_by)) : "Nobody");
strcat(buf, ", Worn by: ");
strcat(buf, j->worn_by ? (!CAN_SEE(ch, j->worn_by) ? "Someone" :
GET_NAME(j->worn_by)) : "Nobody");
The next bug caused the time to be off for the amount of time a person has
played in the stat command; so change the lines in act.wizard.c do_stat_char():
sprintf(buf, "Created: [%s], Last Logon: [%s], Played [%dh %dm], Age [%d]\r\ buf1, buf2, k->player.time.played / 3600,
((k->player.time.played / 3600) % 60), age(k).year);
send_to_char(buf, ch);
to:
sprintf(buf, "Created: [%s], Last Logon: [%s], Played [%dh %dm], Age [%d]\r\ buf1, buf2, k->player.time.played / 3600,
((k->player.time.played / 60) % 60), age(k).year);
send_to_char(buf, ch);
The last bug happened when an imp was switched into a mortal character, and
the mortal regained his link, causing the imp to be disconnected completely
to fix this change the lines in interpreter.c perform_dupe_check():
} else if (k->character && (GET_IDNUM(k->character) == id)) {
if (!target && STATE(k) == CON_PLAYING) {
SEND_TO_Q("\r\nThis body has been usurped!\r\n", k);
target = k->character;
mode = USURP;
}
. . .
to:
} else if (k->original && (GET_IDNUM(k->character) == id)) {
ACMD(do_return);
do_return(k->character, "", 0, 0);
} else if (k->character && (GET_IDNUM(k->character) == id)) {
if (!target && STATE(k) == CON_PLAYING) {
SEND_TO_Q("\r\nThis body has been usurped!\r\n", k);
target = k->character;
mode = USURP;
}
. . .
I have tested all of these fixes and they should work right, mail me if
something doesn't.
This archive was generated by hypermail 2b30 : 12/07/00 PST