From d9da16de4c067cb703f90a7bff35871025180fef Mon Sep 17 00:00:00 2001 From: stribog Date: Fri, 28 Aug 2026 13:00:45 +0200 Subject: [PATCH] fix(sight): widen the vnum column to the allowed seven digits MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Внум печатался в поле шириной пять знаков, а разрешено семь (kMaxProtoNumber = 9999999). Предметы и мобы из зон от тысячной уже не влезают, и строка съезжает вправо, ломая колонку: <на плечах> [97845] стеганый кафтан Чанфы (велик) <в обеих руках> [100109] вершитель судеб (велик двур) Таких зон сейчас 39, только предметов в них больше тысячи. Поле расширено до семи знаков в трёх местах: предметы, мобы и заголовок комнаты. Видят это не только иммы -- внумы показываются и игрокам в тестовой зоне. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01XUwDWDnYdXrJdvjDVd36QH --- src/gameplay/mechanics/sight.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gameplay/mechanics/sight.cpp b/src/gameplay/mechanics/sight.cpp index 077aca654..396021e9e 100644 --- a/src/gameplay/mechanics/sight.cpp +++ b/src/gameplay/mechanics/sight.cpp @@ -188,7 +188,7 @@ void look_at_room(CharData *ch, int ignore_brief, bool msdp_mode) { world[ch->in_room]->unset_flag(ERoomFlag::kBfsMark); world[ch->in_room]->flags_sprint(buf, sizeof(buf), ";"); - snprintf(buf2, kMaxStringLength, "[%5d] %s [%s]", GET_ROOM_VNUM(ch->in_room), world[ch->in_room]->name, buf); + snprintf(buf2, kMaxStringLength, "[%7d] %s [%s]", GET_ROOM_VNUM(ch->in_room), world[ch->in_room]->name, buf); SendMsgToChar(buf2, ch); if (has_flag) { @@ -1291,7 +1291,9 @@ void skip_hide_on_look(CharData *ch) { const char *show_obj_to_char(ObjData *object, CharData *ch, int mode, int show_state, int how) { *buf = '\0'; if ((mode < 5) && (ch->IsFlagged(EPrf::kRoomFlags) || InTestZone(ch))) - sprintf(buf, "[%5d] ", GET_OBJ_VNUM(object)); + // Поле под внум -- на всю разрешённую ширину (kMaxProtoNumber = 9999999): предметы из зон + // от тысячной уже семизначные, и в пятизначном поле строка съезжала, ломая колонку. + sprintf(buf, "[%7d] ", GET_OBJ_VNUM(object)); if (mode == 0 && !object->get_description().empty()) { @@ -1887,7 +1889,7 @@ void ListOneChar(CharData *i, CharData *ch, ESkill mode) { && !mount::IsHorse(i)) { *buf = '\0'; if (ch->IsFlagged(EPrf::kRoomFlags) || InTestZone(ch)) { - sprintf(buf, "[%5d] ", GET_MOB_VNUM(i)); + sprintf(buf, "[%7d] ", GET_MOB_VNUM(i)); } if (AFF_FLAGGED(ch, EAffect::kDetectMagic)