diff --git a/changelog b/changelog index 7532ad9..bacdf3a 100644 --- a/changelog +++ b/changelog @@ -38,8 +38,11 @@ Xlist (mlist, olist, rlist, zlist, slist, tlist, qlist) [Nov 04 2010] - Jamdog Bug-Fix: Converted affect flags in struct affected_type from 32-bit to 128-bit Bug Fix: Players with too much gold now don't lose eq when renting + Bug Fix: Cured SYSERR when selecting an unimplemented obj type in oedit (thanks Rumble) + Bug Fix: Scan no longer shows the content of dark rooms (thanks Mirad) Removed conf.h fron the SVN, as this is created by the configure script Minor IBT system change for accurately finding who logged an IBT + Minor IBT change to list 'in-progress' IBT's in yellow [Nov 01 2010] - Rumble Fixed do_scan crash due to exits to NOWHERE. (thanks Rhade) Changed do_score experience tnl to list only mortals since LVL_IMMORT showed negative EXP. diff --git a/src/act.informative.c b/src/act.informative.c index 8db2fc6..7b5ac3c 100644 --- a/src/act.informative.c +++ b/src/act.informative.c @@ -2558,14 +2558,14 @@ distance, int door) for (i = list; i; i = i->next_in_room) { /* make sure to add changes to the if statement above to this one also, using - or's to join them.. i.e., + or's to join them.. i.e., if (!CAN_SEE(ch, i) || !condition2 || !condition3) */ if (!CAN_SEE(ch, i)) - continue; + continue; if (!*buf) sprintf(buf, "You see %s", GET_NAME(i)); - else + else sprintf(buf, "%s%s", buf, GET_NAME(i)); if (--count > 1) strcat(buf, ", "); @@ -2573,9 +2573,9 @@ distance, int door) strcat(buf, " and "); else { sprintf(buf2, " %s %s.\r\n", how_far[distance], dirs[door]); - strcat(buf, buf2); + strcat(buf, buf2); } - + } send_to_char(ch, "%s", buf); } @@ -2599,8 +2599,15 @@ ACMD(do_scan) if (world[scanned_room].dir_option[door] && world[scanned_room].dir_option[door]->to_room != NOWHERE && !IS_SET(world[scanned_room].dir_option[door]->exit_info, EX_CLOSED)) { scanned_room = world[scanned_room].dir_option[door]->to_room; - if (world[scanned_room].people) - list_scanned_chars(world[scanned_room].people, ch, range - 1, door); + if (IS_DARK(scanned_room) && !CAN_SEE_IN_DARK(ch)) { + if (world[scanned_room].people) + send_to_char(ch, "%s: It's too dark to see, but you can hear shuffling.\r\n", dirs[door]); + else + send_to_char(ch, "%s: It is too dark to see anything.\r\n", dirs[door]); + } else { + if (world[scanned_room].people) + list_scanned_chars(world[scanned_room].people, ch, range - 1, door); + } } // end of if else break; diff --git a/src/ibt.c b/src/ibt.c index 342b794..3212b7f 100755 --- a/src/ibt.c +++ b/src/ibt.c @@ -548,7 +548,34 @@ ACMD(do_ibt) else sprintf(imp, "%c", ' '); - if (!IBT_FLAGGED(ibtData, IBT_RESOLVED)) { + if (IBT_FLAGGED(ibtData, IBT_RESOLVED)) { + if (GET_LEVEL(ch) < LVL_IMMORT) { + send_to_char(ch, "%s%s%3d|%s%s\r\n", + imp, QGRN, i, ibtData->text, QNRM); + } else { + send_to_char(ch, "%s%s%3d%s|%s%-12s%s|%s%6d%s|%s%5d%s|%s%s%s\r\n", + imp, QGRN, i, QGRN, + QGRN, ibtData->name, QGRN, + QGRN, ibtData->room, QGRN, + QGRN, ibtData->level, QGRN, + QGRN, ibtData->text, QNRM); + } + num_res++; + } else if (IBT_FLAGGED(ibtData, IBT_INPROGRESS)) { + if (GET_LEVEL(ch) < LVL_IMMORT) { + send_to_char(ch, "%s%s%3d%s|%s%s%s\r\n", + imp, QYEL, i, QGRN, + QYEL, ibtData->text, QNRM); + } else { + send_to_char(ch, "%s%s%3d%s|%s%-12s%s|%s%6d%s|%s%5d%s|%s%s%s\r\n", + imp, QYEL, i, QGRN, + QYEL, ibtData->name, QGRN, + QYEL, ibtData->room, QGRN, + QYEL, ibtData->level, QGRN, + QYEL, ibtData->text, QNRM); + } + num_unres++; + } else { if (GET_LEVEL(ch) < LVL_IMMORT) { send_to_char(ch, "%s%s%3d%s|%s%s%s\r\n", imp, QRED, i, QGRN, @@ -562,24 +589,12 @@ ACMD(do_ibt) QRED, ibtData->text, QNRM); } num_unres++; - } else { - if (GET_LEVEL(ch) < LVL_IMMORT) { - send_to_char(ch, "%s%s%3d|%s%s\r\n", - imp, QGRN, i, ibtData->text, QNRM); - } else { - send_to_char(ch, "%s%s%3d%s|%s%-12s%s|%s%6d%s|%s%5d%s|%s%s%s\r\n", - imp, QGRN, i, QGRN, - QGRN, ibtData->name, QGRN, - QGRN, ibtData->room, QGRN, - QGRN, ibtData->level, QGRN, - QGRN, ibtData->text, QNRM); - } - num_res++; } } if ((num_res + num_unres) > 0) { send_to_char(ch,"\n\r%s%d %ss in file. %s%d%s resolved, %s%d%s unresolved%s\r\n",QCYN, i, CMD_NAME, QBGRN, num_res, QCYN, QBRED, num_unres, QCYN, QNRM); send_to_char(ch,"%s%ss in %sRED%s are unresolved %ss.\r\n", QCYN, ibt_types[subcmd], QRED, QCYN, CMD_NAME); + send_to_char(ch,"%s%ss in %sYELLOW%s are in-progress %ss.\r\n", QCYN, ibt_types[subcmd], QYEL, QCYN, CMD_NAME); send_to_char(ch,"%s%ss in %sGREEN%s are resolved %ss.\r\n", QCYN, ibt_types[subcmd], QGRN, QCYN, CMD_NAME); } else { send_to_char(ch,"No %ss have been found that were reported by you!\r\n", CMD_NAME); diff --git a/src/oedit.c b/src/oedit.c index 8722192..51ca14c 100644 --- a/src/oedit.c +++ b/src/oedit.c @@ -443,6 +443,8 @@ static void oedit_disp_val1_menu(struct descriptor_data *d) case ITEM_KEY: case ITEM_PEN: case ITEM_BOAT: + case ITEM_FREE: /* Not implemented, but should be handled here */ + case ITEM_FREE2: /* Not implemented, but should be handled here */ oedit_disp_menu(d); break; default: