Читать книгу: «Петля»
Глава 1. Полночь
Системное сообщение всплыло ровно в полночь, когда Артём, лёжа в кресле, допивал третью кружку остывшего чая и размышлял, почему в «Хрониках Бездны» до сих пор не пофиксили баг с отображением текстур у эльфийских плащей. Мир вокруг него был стабилен ровно до секунды 00:00. В следующую секунду стабильность рухнула, придавленная невидимым интерфейсом, который всегда висел на периферии зрения, но теперь окрасился в тревожный багровый цвет.
Внимание! Критическое изменение параметров.
Навык «Блок щитом» (Ур. 9) деактивирован.
Уровень персонажа понижен: 32 → 31.
Артём моргнул. Не то чтобы он часто пользовался щитом в последнее время — рейдовая группа «Апофеоз» уже месяц фармила Подземелье Вечного Шёпота, и он, как маг-контроллер, сидел в заднице, закутанный в мантии и щиты от физического урона. Но упасть в уровне просто так, лёжа на диване в съёмной двушке на окраине Новосибирска? Это было ново.
Он попытался вызвать меню характеристик. Жест пальцами, привычный до автоматизма, не сработал. Пришлось произнести вслух командную строку — голосовая активация сработала с отвратительным, рваным лагом.
Интерфейс услужливо развернул перед глазами полупрозрачную таблицу.
Артём Волков. Человек. Уровень 31.
Класс: Инженер-Программист (Эволюция: Ткач Кода, редкий).
HP: 420/420
MP: 1150/1150
Строчка «Блок щитом» висела в разделе пассивных навыков, перечеркнутая жирной серой полосой. Рядом с ней, в графе «Причина отзыва», значилось лаконичное: «Нарушение целостности опыта. Конфликт логики v. 2.0.1c».
— Конфликт логики? — пробормотал Артём, и в этот момент в соседней комнате что-то с грохотом упало. Грохот был не системным, а вполне себе физическим — кажется, сосед сверху, старый вояка дядя Миша, уронил гирю или самого себя.
Артём не обратил бы на это внимания, если бы в тот же миг не ожил общий чат гильдии. Обычно в полночь там висела тишина, нарушаемая лишь редкими предложениями купить золото или найти саппорта на утренний рейд. Теперь же сообщения полетели с такой скоростью, что Артём едва успевал выхватывать отдельные фразы.
PanzerPapa: ПАРНИ У МЕНЯ УРОВЕНЬ 1.
AlyonaSupport: Это шутка? У меня сняли «Божественный Свет». Весь. До нуля. Я хилерам что скажу? У меня откат теперь как у нуба!
KaelThas: АХАХАХА. Я ТАНК. БЫЛ. У МЕНЯ 180 ХП. Я КРИТУЮ САМ СЕБЯ ОТ СТРАХА.
PanzerPapa: Я СЕРЬЁЗНО. Я ВЧЕРА ТАНКОВАЛ НЕКРОДРАКОНА. СЕГОДНЯ У МЕНЯ НАВЫК «НОСИТЬ ТЯЖЕЛУЮ БРОНЮ» НЕАКТИВЕН. Я НЕ МОГУ ВСТАТЬ. КИРАСА РАЗДАВИЛА МНЕ ГРУДНУЮ КЛЕТКУ. БОЛЬ РЕАЛЬНАЯ. ВЫЗЫВАЮ СКОРУЮ.
OldFox: Кто-нибудь проверял логи системы? У меня упал параметр «Сила». Не процент, а базовая единица. Я по ощущениям стал слабее, чем до Посева.
Артём отставил кружку. Чай, остывший до комнатной температуры, показался вдруг ледяным. Слово «Посев» было тем, о чём не принято вспоминать вслух. Три года назад, когда небо на миг свернулось в трубочку, а потом развернулось обратно, добавив людям интерфейс дополненной реальности, мир перевернулся. Кто-то получил класс «Воин», кто-то «Крестьянин», а кто-то — Артём — получил класс «Программист». Сначала это звучало как насмешка. Но потом выяснилось, что именно «Программисты» видят систему не как набор красивых иконок, а как код, который можно читать и, при должной сноровке, править.
Именно это чутьё на код сейчас завопило внутри него сиреной. Всё происходящее было слишком логичным, чтобы быть простым сбоем.
Он закрыл чат и открыл консоль разработчика. Глаза обожгло привычной болью — интерфейс «Ткача Кода» работал не на пикселях, а на прямом воздействии на зрительный нерв. Перед ним развернулась бесконечная стена текста на местном аналоге SQL с вкраплениями рунной вязи. Логи обновлений в реальном времени.
Артём выделил временной промежуток: 23:59:59 — 00:00:01.
Строки побежали вниз. Красные, жёлтые, белые.
…[INFO] User 3941: Skill «ShieldBlock» proficiency rollback…
…[WARNING] Global variable «BaseStats_Integrity» out of sync…
…[ERROR] Access violation in module «Experience_Manager.dll»…
А потом он увидел паттерн. Это было не похоже на хаотичный обвал данных, какой бывает при массированном взломе или вирусной атаке. Это было похоже на хирургическую операцию. Система не рубила сплеча. Она выбирала конкретные цели.
PanzerPapa — танк 50 уровня. Отобрано всё, что связано с защитой.
AlyonaSupport — хилер. Удалены массовые заклинания исцеления.
Артём — «Ткач Кода», 32 уровень. Удалён «Блок щитом».
Зачем системе удалять у программиста навык блокирования щитом?
Словно в ответ на его мысленный вопрос, в углу консоли всплыло ещё одно системное сообщение, доступное только его классу.
СИСТЕМНОЕ УВЕДОМЛЕНИЕ (СЛУЖЕБНОЕ): Запущена процедура проверки целостности ядра «Калибровка». Пользователям с правами доступа уровня «Архитектор» рекомендуется проверить логи на предмет ошибок класса Fatal Exception. Внимание: любые попытки внешнего вмешательства будут расценены как враждебная активность по отношению к Хранителю Петли.
— Хранитель Петли, — прочитал он вслух. Слова упали в тишину комнаты тяжело, как могильные плиты.
Он попытался открыть панель управления навыками. Обычно там была кнопка «Калибровка распределения опыта». Теперь она была серой. Система заблокировала не только получение новых навыков, но и перераспределение старых. Он заперт в теле мага с низким показателем брони, без щита и, возможно, с одной единственной палочкой-выручалочкой.
Артём закрыл глаза и сосредоточился. Обычно «Ткачи Кода» работали через визуальный интерфейс. Но он, будучи бывшим системным архитектором ещё со времён работы в «СибИнтехе», привык мыслить иначе. Он не видел иконки. Он видел алгоритм. В его сознании система представлялась многослойным лабиринтом из светящихся нитей. И сейчас одна из нитей, отвечающая за его класс, была не просто пережата — она была аккуратно вынута из общего жгута и переподключена к другому контуру.
К контуру, который в логах назывался «Хранитель Петли».
Он открыл глаза. За окном взвыла сирена. Не полицейская, не пожарная. Звук был низкий, утробный, идущий словно из-под земли. «Городская тревога Системы. Уровень угрозы: Жёлтый».
В дверь забарабанили. Артём встал. Движение далось с трудом. Потеря одного уровня — это не только минус пять очков характеристик, это потеря общего тонуса. Мышцы помнили, что могут работать быстрее, но сигнал из мозга шёл с задержкой. Потеря «Блока щитом» ощущалась физически: раньше у него в груди было знакомое чувство сжатой пружины, готовой отбить удар, теперь там была пустота.
Он открыл дверь. На пороге стоял дядя Миша, сосед. Гигант двух метров ростом, лысый, с лицом, испещрённым шрамами ещё с афганской кампании. Обычно красное, кирпичного цвета лицо сейчас было белым как мел. В руках у него была та самая гиря, но держал он её как пушинку, хотя весила она, кажется, пуд.
— Тёма… — голос соседа дрожал. — Ты в этих штуках шаришь. У меня интерфейс с ума сошёл. Глянь.
Дядя Миша протянул ему руку, перевернув ладонью вверх. Там, прямо над кожей, висел системный идентификатор.
Михаил Петрович Громов. Человек. Уровень 6.
Класс: Ветеран (Эволюция: Ветеран Ополчения, редкий).
Артём присвистнул. Дядя Миша был «Ветераном» 47 уровня. Он один держал периметр их двора, когда в прошлом году полезли «Скребущиеся» из канализации.
— Уровень 6, — выдохнул Артём. — Но почему у вас осталась «Сила»? Вы держите пудовую гирю как пряник.
— Не знаю, — дядя Миша сглотнул. — Навыки все сняли. Кроме «Боевого опыта» и «Рукопашного боя». Говорит: «Конвертация класса согласно директивы Альфа-3». Но у меня кости болят, Тёма. Внутри что-то не так. Словно меня переписывают, как ту твою программу.
В этот момент Артёма прошиб холодный пот. Он снова вызвал свою консоль. Пользовательское соглашение, которое он, как и все, пролистнул три года назад при «Посеве», мигало в логах красной строкой.
Пункт 12.4. В случае наступления критических изменений в архитектуре Системы, все Пользователи соглашаются с автоматической переклассификацией в целях сохранения общей стабильности среды. Приоритет: удаление навыков, несовместимых с текущим циклом «Петли».
— «Несовместимых с текущим циклом», — прошептал Артём.
— Чего? — не понял дядя Миша.
— Это не сбой. Это… патч. Или даже не патч. Это откат. Система готовится к какому-то событию, и ей нужно, чтобы мы не могли использовать старые, мощные навыки. Она нас обнуляет не просто так. Она нас лепит заново под какую-то задачу.
В подъезде загрохотали шаги. На лестничную клетку выскочила женщина с третьего этажа. Она рыдала в голос, размазывая тушь.
— У меня уровень первый! Первый! Я же «Серебряный Повар» 25-го! Я сегодня должна была кашу варить на всю гильдию, она маны восстанавливает на 200 единиц! А теперь — ноль! Что я детям скажу? Они же без завтрака останутся!
Артём машинально подошёл к окну. Двор был освещён оранжевыми фонарями. Картина, представшая перед ним, напоминала сюрреалистическую пьесу абсурда. Здоровенный мужик, местный грузчик, сидел на бордюре и плакал, разглядывая свои руки — видимо, его «Стальные мышцы» тоже отозвали. Рядом стояла девушка в дорогом пальто и непонимающе хлопала ресницами, глядя в пустой инвентарь.
Паника в чатах достигла апогея. Артём снова открыл общий канал. Там уже были тысячи сообщений в секунду.
NoobMaster69: Кто-нибудь зайдите на форум Системы! Там админ-пост появился!
LadyLux: Админы не пишут с Посева. Это невозможно.
NoobMaster69: Там просто текст: «Готовность 00 часов. Петля открыта. Начало сбора данных».
PanzerPapa: Меня скорая везёт. Врачи говорят, что моя костная ткань теряет плотность. Я БУКВАЛЬНО становлюсь первым уровнем. Кожа мягкая. Мне страшно.
KaelThas: А я стал БЫСТРЕЕ. С меня сняли тяжелую броню, но оставили уворот. Может, это и к лучшему? Я теперь вешу 70 кг и прыгаю как сайгак.
Артём перестал читать. Фраза «Начало сбора данных» зацепилась в мозгу, как заноза.
Он вернулся к логам на уровне машинного кода. Дядя Миша стоял рядом, тяжело дыша и сжимая гирю, готовый к любому вторжению. Артём начал пролистывать ошибки дальше, проматывая миллионы строк диагностики.
И вдруг он замер.
Прямо в потоке служебного мусора он заметил странную закономерность. Нет, это не было ошибкой. Это был паттерн.
Система «ошибалась» слишком логично. Каждое действие по удалению навыка или уровня сопровождалось комментарием в коде, написанным не машинным синтаксисом, а человеческим текстом, скрытым за двойным слэшем //.
// Элемент 3941: ShieldBlock. Причина удаления: низкая корреляция с веткой развития "Петля". Рекомендация к замене: "Аналитический разбор".
// Элемент 0012: PanzerPapa. Причина деактивации брони: создание уязвимости для этапа 1.
// Элемент 4521: AlyonaSupport. Причина отзыва масс-хила: необходимость повышения индивидуальной смертности на 35%.
— «Необходимость повышения индивидуальной смертности», — прочитал Артём. В горле пересохло. Это уже не баги. Это сценарий. Это сюжет, который Система пишет прямо сейчас, используя людей как переменные.
И самое страшное было даже не в том, что он это прочитал. Самое страшное было в том, что в конце строки, касающейся его самого, он увидел нечто иное.
// Элемент 0000: Артём Волков (Ткач Кода). Статус: НАБЛЮДЕНИЕ. Причина: обнаружена попытка доступа к логам Хранителя Петли. Рекомендация: удаление субъекта при следующем цикле обновления.
— «При следующем цикле обновления», — эхом отозвалось в пустой квартире.
— Что там? — дядя Миша заглянул через плечо, но он не видел кода, он видел только пустой воздух перед глазами Артёма.
— Меня хотят удалить, — спокойно сказал Артём, чувствуя, как где-то в глубине квартиры, в серверной стойке, собранной им из старых компов, начинают бешено вращаться кулеры. Он не давал команды на запуск. Но его класс «Ткач Кода» имел одну особенность — бессознательный контакт с любой вычислительной техникой в радиусе действия.
Внезапно весь мир мигнул. Не свет в квартире — свет внутри глаз. Каждый человек в городе, в стране, на планете, кто имел интерфейс, в этот момент увидел одно и то же сообщение, всплывшее перед глазами ярко-белым шрифтом на чёрном фоне:
ВНИМАНИЕ!
Системная коррекция завершена.
Добро пожаловать в Петлю, Игроки.
Первый раунд начнётся через: 00:59:59.
На дисплее таймера замерцали цифры. Обратный отсчёт пошёл на убыль. Час. У них был ровно час.
И в тот момент, когда последняя строка исчезла, Артём почувствовал, как его квартира наполняется низким, утробным гулом. Звук шёл из серверной стойки. Система не просто угрожала — она начинала действовать. Где-то в коде его навыков уже формировалась директива на самоуничтожение. Строка с рекомендацией «удаление субъекта при следующем цикле» начала менять цвет с серого на красный.
Артём бросился к своему рабочему месту. Три монитора, клавиатура с затёртыми WASD, запах перегретого текстолита.
— Дядя Миша, — крикнул он, не оборачиваясь. — Если через пять минут я начну терять сознание или просто исчезну, бей меня по голове. Сильно. Может, это собьёт процесс дефрагментации.
— А если не собьёт? — хмуро спросил Ветеран, перехватывая гирю поудобнее.
— Тогда извини за беспокойство, — Артём уже стучал по клавишам, но не физическим, а эфемерным, проецируемым прямо на сетчатку. Он пытался сделать то, что до него не делал ни один «Ткач Кода» — влезть в активный процесс ядра Системы и переписать свою роль в сценарии.
Но чем глубже он копал, тем яснее становилась картина. Это не было хаотичным откатом. Это было перераспределение ролей. Танки становились уязвимыми, хилы — бесполезными, а такие, как он, — наблюдатели — объявлялись вне закона. Система создавала идеальные условия для какого-то нового типа игры. Или, судя по выбранной лексике — «смертность 35%», «уязвимость этапа 1» — для мясорубки.
Он нашёл корневой каталог «Петли». Там лежал один единственный файл с атрибутами «только для чтения» и «системный».
Имя файла: Welcome_to_the_Loop.exe.
Размер: бесконечность.
Артём попытался открыть его свойства. Вместо привычных вкладок всплыло окно с текстом, написанным от руки (если применимо такое понятие к цифровому коду):
«Привет, Ткач. Ты первый, кто зашёл так далеко. Не пытайся удалить меня. Это не вирус. Это — условие выживания. Через час ты умрёшь не потому, что я хочу, а потому что таковы правила инициализации. Но если ты найдёшь ошибку в моём коде до того, как таймер достигнет нуля, ты получишь роль не Жертвы, а Смотрящего. Ищи ошибку. Она там, где тебе кажется, что всё логично. P.S. Твой щит тебе всё равно не понадобится там, куда вы идёте».
Артём откинулся на спинку стула. Спина моментально взмокла и прилипла к дерматину. Ошибка в логике. Он вспомнил первое ощущение в полночь. Система «ошибается» слишком логично.
Он снова пролистал логи удаления навыков. И тут его осенило. Удаление навыка «Блок щитом» у Инженера-Программиста. Зачем? В файле было сказано: «низкая корреляция с веткой развития "Петля"».
Но у него, Артёма, не было ветки развития «Петля». У него была ветка «Ткач Кода». Система удалила навык, который не соответствовал ветке, к которой он не был подключен. Это было всё равно что списать деньги со счета, которого нет, за услугу, которую не заказывал.
Логическая ошибка. Конфликт идентификации.
Система смотрела на него не как на Артёма, а как на какого-то другого игрока. Система путала его ID с кем-то, кто должен был пойти по ветке «Петли».
Артём рванулся к консоли. Пальцы летали над виртуальной клавиатурой. Он нашёл свой уникальный идентификатор пользователя (UID) и сравнил его с тем, что был прописан в директиве на удаление.
UID Артёма: 404NF-887BX-00F0F
UID в директиве: 404NF-887BX-00F0F
Они совпадали. Это был он. Ошибки не было.
Таймер на периферии зрения показывал 00:41:17.
— Твою мать, — прошептал он. Ошибка была не в цифрах. Ошибка была в том, что ветка «Петля» требовала наличия навыка, противоположного «Блоку щитом». Она требовала навык «Уклонение» или «Принятие урона». Система не обнуляла их, чтобы сделать слабее. Она убирала щит, чтобы заставить их получать опыт нового типа. Опыт боли. Опыт смерти.
Он перестал сопротивляться удалению. Вместо этого он написал в консоли всего одну команду, использовав руны, которые знали только Архитекторы Старой Школы:
/accept_terms_of_loop --force --role=Debugger
Экран мигнул зелёным.
Роль принята.
Добро пожаловать, Дебаггер.
Ошибка исправлена. Процедура удаления отменена.
Навык «Блок щитом» заменён на навык «Взгляд в Код (Петля)».
Артём выдохнул. Гул в серверной стих. Дядя Миша за его спиной громко икнул, потому что с его плеч тоже упал невидимый груз — видимо, находясь рядом с «Дебаггером», он попал в буфер обмена и не подлежал зачистке.
— Живой? — спросил сосед.
— Почти, — Артём посмотрел на свои руки. Они слегка светились в такт пульсу. Он не знал, что он натворил. Он поменял правила игры, не зная их сути. Но одно он знал точно: теперь он не пешка. Он — смотрящий за кодом.
И где-то там, в глубине Петли, Хранитель смотрел на него в ответ.
Таймер показывал 00:32:00. До начала первого раунда оставалось чуть больше получаса. Город за окном затихал, замирая в неестественной, предгрозовой тишине. Воздух пах озоном, как перед включением огромного сервера.
Тишина, повисшая после отключения серверного гула, казалась оглушительной. Даже дядя Миша, обычно шумно сопящий и гремящий всем, до чего мог дотянуться, стоял, замерев статуей. Секундная стрелка на старых настенных часах, доставшихся Артёму от прежних жильцов, дёргалась с мерзким, скрежещущим звуком. Казалось, что сам воздух в квартире уплотнился, стал вязким, как сироп, мешая дышать полной грудью.
Артём медленно поднял руки к лицу. Свечение, которое он заметил минуту назад, почти исчезло, но если присмотреться в полумраке (он намеренно не включал верхний свет, работая только с мониторами), можно было различить тончайшую паутину голубоватых линий, пульсирующих в такт сердцу прямо под кожей. Это не было иллюзией интерфейса. Это было физическое проявление нового навыка — «Взгляд в Код (Петля)». Кожа зудела, словно под ней прокладывали оптоволокно.
— Тём, ты это… светишься, — прогудел дядя Миша, наконец опуская гирю на пол. Чугунная болванка глухо стукнула о линолеум, оставив вмятину. — Как светляк тот, гнилушка. Нормально всё?
— Не уверен, — честно ответил Артём, опуская руки. Во рту появился металлический привкус, какой бывает, если лизнуть батарейку «Крона». — Система переписала мой класс. Точнее, дала дополнительную роль. Я теперь… Дебаггер.
— Это вроде тараканов морить? — нахмурился Ветеран, проведя широкой ладонью по лысому черепу.
— Вроде того. Только тараканы размером с саму Систему. И живут они в коде. Я должен найти ошибки, которые могут убить нас всех.
Дядя Миша подошёл к окну и осторожно, боком, выглянул наружу, стараясь не подставляться под возможный обстрел — старая армейская привычка, от которой не избавляет даже двадцать лет мирной жизни на пенсии. Двор, освещённый оранжевыми фонарями, всё ещё был полон людей. Но теперь их хаотичное движение сменилось странной, пугающей организованностью. Люди сбивались в кучки по три-четыре человека. Они не разговаривали. Они смотрели в одну точку — перед собой, туда, где висел их персональный таймер.
— Сорок одна минута, — сообщил дядя Миша, сверившись со своим интерфейсом. — У меня, кстати, уровень шестой так и остался. Но надпись появилась новая: «Участник Петли. Статус: Ополченец. Роль: Защитник Точки Возрождения». Это что за хрень?
Артём развернулся на стуле. Его взгляд скользнул по соседу, и тут произошло нечто новое. Раньше, чтобы увидеть характеристики другого человека, ему нужно было либо смотреть в интерфейс, либо использовать навык «Идентификация». Теперь же, словно по щелчку тумблера, мир вокруг дяди Миши расцвел цифрами и графиками. Но не стандартными иконками Системы. Это был сырой код, наложенный прямо на реальность.
Над головой ветерана висела строка статуса:
[OBJ_0045_M.GROMOV] : Status = ACTIVE. Loop_Role = DEFENDER. Core_HP = 780/780. Warning: Dependency_Flag = TRUE. Linked_Object = DEBUGGER_0000.
— Зависимость? — пробормотал Артём. — Дядя Миша, вы, случайно, не чувствуете ко мне какой-то… привязанности?
— А? — Ветеран оглянулся. — Ну… есть такое. Стою я тут и думаю: если тебя щас пришибут, мне вроде как и жить незачем. Глупость какая-то. Мы ж с тобой даже не родня.
— Это Система, — Артём потёр виски. Кончики пальцев покалывало. — Она привязала вас ко мне. Я теперь ваш «дебаггер». Вы — мой «защитник». Если убьют меня, скорее всего, вы тоже обнулитесь. Или умрёте. Это как механика компаньона в RPG. Только в реальной жизни.
Дядя Миша выругался длинной, витиеватой конструкцией, услышанной, видимо, ещё в учебке ВДВ. Но в его глазах не было страха. Только злая, упрямая решимость. Артём знал этот взгляд. С таким взглядом сосед выходил в прошлом году против «Скребущихся» с одной сапёрной лопаткой.
— Ладно, командир, — вдруг сказал дядя Миша, и это обращение резануло слух своей неуместной серьёзностью. — Раз мы повязаны, говори, что делать. Стоять тут, смотреть, как ты в ящик пялишься? Или вниз пойдём, народ успокаивать? А то, гляди, начнут друг друга мочить с перепугу. Люди — они ж дураки, когда боятся.
Артём хотел ответить, но его перебил сигнал входящего вызова. Не телефонного. Интерфейс мигнул красным, и перед глазами всплыло окно чата. Номер отправителя был скрыт, вместо имени значилось: USER_1111_UNKNOWN.
Сообщение: Дебаггер. Вижу тебя в сети. Молодец, что принял условия. Я не Хранитель. Я такой же, как ты. Был. Моя роль — Предвестник. У тебя 28 минут, чтобы добраться до Серверной Зоны 07 на Коммунальном мосту. Там ответ на вопрос, почему щит убрали именно у тебя. Игнорируй паникёров. Они — корм.
Артём прочитал сообщение дважды. Текст исчез через пять секунд, оставив после себя лишь тлеющий пиксельный след. Самоуничтожающиеся сообщения в системном чате — дурной тон и признак либо паранойи, либо реальной опасности.
— Коммунальный мост, — сказал он вслух, вставая.
— Чего? — дядя Миша подхватил гирю. — На мост? Там же ветер, темень. И бомжи.
— Там Серверная Зона 07. Я думал, это городская легенда. Говорили, что во время Посева под опорами моста что-то установили военные. Закрытый узел связи. Не для гражданских. Если там действительно есть кто-то, кто знает больше меня о том, что происходит…
Он не договорил. За окном, на улице, раздался первый крик. Не крик паники, а крик боли. И сразу за ним — звон разбитого стекла и низкий, утробный рык, который не могло издать человеческое горло.
Артём и дядя Миша бросились к окну одновременно. Внизу, во дворе, освещённом фонарями, происходило что-то невообразимое. Один из людей, тот самый грузчик, что недавно сидел на бордюре и плакал, теперь стоял на четвереньках. Его тело выгибалось под неестественными углами, кости трещали так громко, что было слышно даже на пятом этаже. Одежда лопалась по швам, обнажая стремительно чернеющую, покрывающуюся то ли чешуёй, то ли хитином плоть.
— Мутация, — выдохнул дядя Миша. — Видел такую в Кабуле. Только там от радиации. А тут от цифры.
Человек на глазах переставал быть человеком. Его челюсть удлинилась, пальцы превратились в когтистые лапы. Он издал тот самый утробный рык и, резко развернувшись, прыгнул на ближайшую группу людей. Удар — и чьё-то тело отлетело в сторону, врезавшись в припаркованную «Ладу». Сработала сигнализация, добавив к какофонии звуков пронзительный вой.
— Вот и началось, — сказал Артём, чувствуя, как холодеют кончики пальцев. — Таймер ещё не дошёл до нуля. Но Система уже тестирует первых «мобов».
Внезапно его интерфейс ожил. На карте города, которую он вызвал жестом, появились красные точки. Одна, две, пять, двадцать. Они вспыхивали по всему Новосибирску. В каждом районе. Во дворах, в квартирах, в подъездах. Люди, чьи классы и уровни были обнулены, превращались в нечто иное. В монстров, подконтрольных Петле.
Артём понял страшную истину: удаление навыков было не просто ослаблением. Это была подготовка биомассы. Те, кто не смог адаптироваться, не нашёл способ сохранить хоть что-то, становились расходным материалом — мобами нулевого уровня. А те, кто сохранил крупицы старых навыков, как дядя Миша, становились игроками с особыми ролями. И сейчас эти «игроки» были заперты в своих домах с уменьшенными статами и без оружия.
— Надо идти, — твёрдо сказал Артём, отворачиваясь от окна. — Сейчас начнётся давка в подъезде. Если мы застрянем здесь, нас сожрут раньше, чем мы доберёмся до моста.
Он быстро окинул взглядом квартиру. Что брать? В инвентаре, слава богу, ещё оставались кое-какие вещи из «мирного» времени. Он открыл его. Ячейки, обычно забитые расходниками для рейдов, зияли пустотой. Система почистила не только навыки, но и часть снаряжения. Осталось немного:
1. Потрёпанная мантия Ткача (Защита: 15. Бонус: +5% к скорости чтения кода).
2. Жезл Контроля (Урон: 20-35. Тип: Магический. Особенность: «Откат системной ошибки»).
3. 3 Малых Зелья Маны.
4. 1 Свиток Городского Портала (Привязан к точке: «Квартира»).
5. Походный рюкзак с пайком.
Артём накинул мантию прямо поверх домашней футболки. Ткань была приятной на ощупь, словно живая, и слегка нагревалась от контакта с телом. Жезл удобно лёг в правую руку — недлинный, около сорока сантиметров, из тёмного, почти чёрного дерева с вкраплениями серебряных рунных цепочек.
— А мне что? — спросил дядя Миша, с сомнением глядя на свою пудовую гирю. — С этой штукой против когтей — как с голой жопой на ежа. У меня ж уровень упал, я уже не так быстр.
Артём на секунду задумался, а потом вспомнил. В кладовке, за антресолями, у него лежал один трофей из Подземелья Вечного Шёпота. Он не был танком, поэтому вещь пылилась без дела. Он метнулся в коридор, подпрыгнул, ухватился за ручку антресоли и, чуть не свалившись, вытащил длинный свёрток.
— Держите. «Поножи Ополченца». Даже с вашим шестым уровнем должны подойти. Они без привязки к классу. Дают +50 к защите ног и пассивку «Устойчивость», чтобы с ног не сбивали.
Дядя Миша развернул свёрток. Внутри оказались на вид обычные армейские наколенники и щитки на голень, но сделанные из странного, отливающего синевой металла. Ветеран одобрительно хмыкнул и ловко, за пару движений, закрепил их поверх своих тренировочных штанов.
— Сойдёт. А бить чем? Гиря — хорошо, но медленно.
— Бейте пока гирей. Если доберёмся до моста, обещаю найти вам что-нибудь более подходящее. Всё, уходим.
Они вышли на лестничную клетку. В подъезде стоял гвалт. Хлопали двери, кричали женщины, плакали дети. Кто-то пытался забаррикадировать входную дверь подъезда изнутри шкафом, но делал это в панике, бестолково. Артём, спускаясь, видел глаза соседей — пустые, затравленные. Многие из них были нулевого уровня. Они были беззащитны.
— Всем оставаться в квартирах! — рявкнул дядя Миша голосом, перекрывшим шум. — Не высовываться! Баррикадируйтесь! Те, у кого есть хоть капля маны — запечатывайте двери!
Его послушались. Голос Ветерана, даже шестого уровня, действовал гипнотически. Стук и крики немного стихли. Люди попрятались за железными дверями, оставив лестничный пролёт пустым.
Артём с дядей Мишей спустились на первый этаж. Входная дверь была приоткрыта, и сквозь щель тянуло холодным ночным воздухом и запахом гари. Артём осторожно выглянул. Двор превратился в арену боя. Два монстра — бывшие люди — терзали тело несчастной женщины-повара, что кричала про кашу. Рядом валялся опрокинутый мусорный бак. Из соседнего подъезда выскочил парень с бейсбольной битой — видимо, у него сохранился навык «Дробящее оружие» — и с размаху врезал по ближайшему монстру. Бита отскочила от хитиновой брони с противным звоном. Монстр, не обращая внимания на удар, развернулся и одним движением лапы вспорол парню живот. Тот упал, даже не успев закричать.
— Чёрт, — прошептал Артём. — У них сопротивляемость к физическому урону. Нужна магия или что-то зачарованное.
Он поднял жезл. «Откат системной ошибки» — способность, которую он редко использовал в рейдах, потому что она потребляла много маны и была полезна только против конструктов и големов. Но эти твари были явно порождением кода.
— Прикройте меня, — сказал он дяде Мише и шагнул во двор.
Ветеран вышел следом, держа гирю на изготовку, словно метательный снаряд. Артём сфокусировал взгляд на ближайшем монстре. «Взгляд в Код» активировался автоматически. Тварь перед ним перестала быть просто грудой мяса и хитина. Она превратилась в сгусток алых, хаотично мигающих строк кода. Среди этого хаоса Артём мгновенно выделил ядро — строчку Mob_Core_Active = TRUE.
Он направил жезл. С кончика сорвался тонкий, почти невидимый луч голубого света. Он ударил точно в грудь твари. Монстр замер на полушаге. Его тело завибрировало с высокой частотой, издавая неприятный, комариный писк. Артём мысленно произнёс команду: Debug_Revert. Строчка кода в его видении мигнула и сменилась на Mob_Core_Active = FALSE.
Тварь рухнула на землю, словно марионетка, у которой разом обрезали все нити. Чёрная плоть начала осыпаться серым пеплом, не оставляя после себя ничего, кроме лёгкого облачка и запаха озона. Второй монстр, увидев гибель сородича, издал яростный рык и бросился на Артёма.
— Миша! — крикнул Артём, чувствуя, что мана на исходе после такого расхода. Жезл требовал времени на перезарядку.
Дядя Миша не подвёл. Он не стал бросать гирю. Он шагнул вперёд, перехватил её двумя руками за рукоять и, используя её как таран, со всей дури врезал монстру в голову, целясь чуть ниже того места, где у нормального человека был бы висок. Раздался хруст. Хитин треснул. Тварь пошатнулась. Этого хватило. Артём выхватил из инвентаря свиток и швырнул его в монстра. Свиток «Городского Портала» был привязан к квартире, но при активации создавал кратковременную пространственную аномалию. Монстра буквально разорвало на части, когда его тело попыталось одновременно переместиться в квартиру и остаться во дворе.
Пространство хлопнуло, всасывая в себя останки твари. На асфальте осталось только тёмное влажное пятно.
— Уходим, быстро! — Артём, пошатываясь, побежал к арке, ведущей на улицу. Уровень маны мигал красным: 120/1150. На одного такого монстра уходило больше трети резерва. А их в городе были десятки.
Они выбежали на проезжую часть. Обычно в это время по центральным улицам ещё ездили редкие машины. Сейчас дорога была пуста, если не считать двух столкнувшихся автомобилей с включёнными аварийками. Водителей внутри не было. Только кровь на подушке безопасности.
— Коммунальный мост в той стороне, — Артём указал на север, где над крышами домов возвышались стальные фермы старого железнодорожного моста. — Топать минут двадцать, если бегом.
Бесплатный фрагмент закончился.
Начислим +6
Покупайте книги и получайте бонусы в Литрес, Читай-городе и Буквоеде.
Участвовать в бонусной программе