Выбрать главу

«Эти ребята выглядят серьёзно,» — пробормотал Кир. — «И что ещё за ‘логический щит’?»

«Похоже на защитников Альфы,» — предположил Артем. — «Их щит… возможно, он пропускает только определённые типы атак или атаки в определённой последовательности. Нужно анализировать.»

Он приготовился к бою, зная, что простого взлома здесь может быть недостаточно. Эти стражи были созданы другой сущностью, возможно, более изощрённой, чем Бета-Кодекс.

Глава 34: Логические Замки и Голос из Кэша

Два Стража Протокола двинулись на них синхронно, без единого звука, кроме тихого гудения энергии. Их движения были выверенными, лишёнными хаотичности предыдущих врагов. Один страж поднял руку, трансформировав её в длинное энергетическое лезвие, и атаковал Кира. Второй начал формировать в ладони сферу потрескивающей энергии, нацелившись на Лиру.

Кир встретил удар лезвия своим мечом. Раздался чистый, звонкий удар, но интерфейс показал минимальный урон.
Интерфейс цели: Урон поглощён (Логический Щит активен: Требуется протокол 'Альфа-7')
«Протокол Альфа-7?» — прорычал Кир, отступая под натиском точных ударов стража. — «Что это ещё за чертовщина?»

Лира метнула в своего противника Ледяное Копьё. Оно попало точно в цель, но также разбилось о невидимый барьер, не нанеся урона.
Интерфейс цели: Урон поглощён (Логический Щит активен: Требуется протокол 'Бета-3')
«У них разные требования!» — крикнула Лира, уворачиваясь от энергетической сферы, которая взорвалась там, где она только что стояла. — «Артем, ты можешь понять, что им нужно?»

Артем лихорадочно анализировал потоки данных, исходящие от стражей и их щитов. Это было похоже на разгадывание сложного шифра или поиск уязвимости в хорошо защищённой сети. Он видел маркеры «Альфа-7» и «Бета-3», но не понимал, что они значат в контексте атаки. Была ли это последовательность? Тип урона? Или что-то более абстрактное?

«Кодекс, помоги!» — мысленно взмолился он, уклоняясь от луча, выпущенного стражем Лиры.

«Любопытно,» — голос Бета-Кодекса прозвучал в его голове, на этот раз с оттенком… академического интереса. — «Защитные конструкты Альфы. Устаревшие, но эффективные. Протоколы – это ключи доступа, основанные на старых системных вызовах. ‘Альфа-7’ – это, скорее всего, последовательность: три быстрых физических удара, затем энергетический импульс. ‘Бета-3’ – вероятно, чередование двух противоположных стихий, например, огонь-лёд-огонь.»

«Ты… ты знаешь их?» — удивился Артем.

«Я изучал архивы после Сбоя,» — уклончиво ответил Кодекс. — «Альфа был… методичен. Попробуй передать эту информацию своим союзникам. Но учти, стражи адаптируются. Протоколы могут измениться.»

Артем быстро передал информацию Киру и Лире.
«Кир! Три быстрых удара, потом я дам Искру! Лира! Огонь, потом твой лёд, потом снова огонь!»

Кир кивнул и ринулся на своего стража. Он нанёс три молниеносных удара мечом – щит противника дрогнул, но выдержал.
«Сейчас!» — крикнул Артем и выпустил «Искру Дракона» (Мана 25/105). Энергетический разряд ударил в ослабленный щит. Раздался треск, щит на мгновение погас, и Искра нанесла урон стражу (250 - 235), поджигая его.
«Получилось!» — взревел Кир и обрушил на беззащитного стража град ударов своим мечом, усиленным хаосом (урон ~35-40 за удар).

Одновременно Лира атаковала своего стража. Огненный Шар (Мана 50/105) ударил в щит. Тот остался невредим. Она тут же сменила тактику, выпуская Ледяную Стрелу. Щит снова выдержал. Она снова метнула Огненный Шар. Щит замерцал и погас!
«Есть!» — крикнула она, но страж уже адаптировался. Он выставил новый щит.
Интерфейс цели: Урон поглощён (Логический Щит активен: Требуется протокол 'Гамма-1')
«Он сменил протокол!» — предупредила Лира.

Артем понял, что прямые атаки слишком медленны и предсказуемы. Нужно было действовать иначе. Он снова сосредоточился на коде, но не на атаке, а на анализе протоколов самих стражей.

// Анализ активных протоколов Стражей
// Цель: Страж Протокола (Оба)
// Задача: Идентифицировать текущий активный протокол защиты

function get_active_protocol(target_id) {
try {
Target страж = System.get_object_by_id(target_id);
ShieldInfo shield_info = страж.get_shield_info();
return shield_info.required_protocol;
} catch (Exception e) {
log_error("Failed to get protocol for target " + target_id);
return "UNKNOWN";
}
}

string protocol_1 = get_active_protocol(СтражКира.id);
string protocol_2 = get_active_protocol(СтражЛиры.id);
std::cout "Протокол 1: " protocol_1 std::endl;
std::cout "Протокол 2: " protocol_2 std::endl;