28 Feb, 2010, triskaledia wrote in the 1st comment:
Votes: 0
I added an automapper, and after 2 years of implementation, I have a player who has found bugs with it.
Seems when you turn automapper off, the 'brief' option doesn't toggle the room descriptions on/off.
I've been toying with it for a couple hours, and got some of my hideous coding down and simplified, but
to no avail as to why when when automap is disabled and brief is on, players still get a room description.
Right after copyover, I did notice that look occurance doesn't display a description with brief on. Code:
if (arg1[0] == '\0' || !str_cmp (arg1, "auto"))
{
/* 'look' or 'look auto' */
send_to_char ("{x", ch);
if ((!IS_SET(ch->act, PLR_AUTOMAP)) && (IS_IMMORTAL(ch) || IS_SET(ch->act,PLR_HOLYLIGHT)))
{
sprintf(buf, "%s {r[{W%-5d {RRoom{r]{x", ch->in_room->name, ch->in_room->vnum);
send_to_char(buf,ch);
}
else if (!IS_SET(ch->act, PLR_AUTOMAP))
send_to_char (ch->in_room->name, ch);

send_to_char ("\n\r", ch); //Places a RETURN before the room description.

if ((arg1[0] == '\0' || (!IS_NPC(ch) && !IS_SET(ch->comm, COMM_BRIEF))) && !IS_SET(ch->act, PLR_AUTOMAP))
{
send_to_char( " {D", ch); //The spacing before the colour indents the description.
send_to_char( ch->in_room->description, ch );
}
/***Start if/else mapper***/
if (IS_SET(ch->act, PLR_AUTOMAP) && (!IS_SET (ch->in_room->room_flags, ROOM_NO_MAP)))
do_mapper( ch, "7" );
/***End if/else mapper***/

if (!IS_NPC (ch) && IS_SET (ch->act, PLR_AUTOEXIT))
{
send_to_char ("\n\r", ch);
do_function (ch, &do_exits, "auto");
}
/*****AutoWeather*****/
if ( IS_SET(ch->act, PLR_AUTOWEATHER) && IS_OUTDOORS(ch))
{
show_weather(ch);
}
show_list_to_char (ch->in_room->contents, ch, FALSE, FALSE);
show_char_to_char (ch->in_room->people, ch);
return;
}

send_to_char("{x\n\r", ch );


Everything following this code part relates to looking at objects. I didn't find any occurance of room_in->descriptions there.


Edited for Code Tags
01 Mar, 2010, kiasyn wrote in the 2nd comment:
Votes: 0
Change:
if ((arg1[0] == '\0' || (!IS_NPC(ch) && !IS_SET(ch->comm, COMM_BRIEF))) && !IS_SET(ch->act, PLR_AUTOMAP))

to:
if ( arg1[0] == '\0' && ( IS_NPC(ch) || ( !IS_SET( ch->comm, COMM_BRIEF )  && !IS_SET(ch->act, PLR_AUTOMAP) ) ) )
01 Mar, 2010, triskaledia wrote in the 3rd comment:
Votes: 0
Well, that solved a portion of the problem. When moving from room to room, using goto, and copyover, the room description won't show, but when you type look it's still there.
01 Mar, 2010, JohnnyStarr wrote in the 4th comment:
Votes: 0
IIRC, you would want to make sure that do_move_char or what have you calls do_look with the right arguments.
0.0/4