Лиза лежала на траве, наблюдая за мучениями братьев. Призванный ей дух поддержки исправно ускорял скорость регенерации маны, так что самой девочке было совершенно нечего делать.
— Давай ещё раз по третьему варианту.
— Да не работает третий вариант, уже сколько раз проверяли.
— Давай проверим ещё раз, но с пробафом на скорость каста.
— Не поможет. Нужно принцип менять.
— Был бы ещё известен этот принцип. Вот почему магическая стрела наводится на цель, а огненная нет?
— Да я откуда знаю, у разрабов спроси.
Открыв спеллбук, Лиза принялась изучать доступные заклинания. Вот магическая стрела, она действительно сама наводится на обозначенную цель. А вот огненная, которая летит в заданном при касте направлении. Есть ещё ледяная, каменная, призрачная и так далее. Ну-ка, если вот так? Девочка перевернулась на живот и открыла окно блокнота. “Задачка по криптографии получается” хихикнула она про себя, выписав фонемы заклинаний в один столбец. “Блин, у разных стихий разные звучания”. В новый столбик были перенесены все имеющиеся водные заклинания. Ещё немного подумав, она добавила рядом с каждым заклинанием его описание. “Ясно, понятно. Стихию определяет набор фонем. Для остального мало данных. Стоп, у меня же спирит вкачан. Там заклинаний однозначно больше.” Новая страница блокнота вместила на себе фонемы призрачных заклинаний вместе с краткими описаниями. “Снова мимо. Даже “Призрачный щит” только на себя и “Призрачный щит” на одного из союзников не имеют в звучании ровным счётом ничего общего. Возвращаемся обратно к разным стихиям. Ага, огненная и каменная стрелы имеют разное количество букв, но одинаковое количество звуков. А почему тогда время каста разное? Разное, поскольку скилы, а в подробном описании базовое время произнесения одинаковое. Нужен структурный анализ. Заклинаний в игре тьма тьмущая, а значит должна быть система. Ни один программист не будет придумывать бессистемный набор постоянных”.
— Банзай, я взяла твой “Паяльник” и собираюсь загрузить сервер.
— Хорошо, Шанси. — Костя был слишком занят, чтобы воспринять полученную информацию, а потому среагировал именно так, как рассчитывала девушка. — До пятницы сервер свободен.
“Вот и славно”. Выйдя в сеть, Лиза подключилась к выделенному серверу, извлекла из облачного хранилища “Паяльник”, закинула в программу имеющиеся фонемы и принялась настраивать критерии анализа. “Паяльник” был законной гордостью Кости. Мощнейший инструмент для криптографического анализа (по словам создателя — терморектального криптоанализа), был способен выявить структурные элементы практически где угодно. В программе была обширная база известных способов шифрования и дешифровки данных, куча настроек и подключаемых модулей, а модифицированная под определенные ключи версия, насколько было известно Лизе, сейчас трудилась на одну из спецслужб родной страны.
“Итак. Предполагаем, что в каждом заклинании заложено его точное описание, разбитое по известным параметрам. Одно-звуковое кодирование исключаем сразу, поскольку параметров явно больше чем звуков. Двух-звуковое, пожалуй, тоже исключим. Я сама применила бы систему три один. Трех-звуковое кодирование плюс одно-звуковый модификатор. Вот с этой схемы и начнем”. Лиза прекрасно отдавала себе отчет, в том, что каждый заданный параметр поиска в разы сокращает общее время анализа, а потому старалась подтянуть максимальное количество дополнительных критериев. “Вот тут разделим на группы по стихиям, и где-то здесь был модуль благозвучности. Ага, вот он. Для воды его на плюс восемь, для огня — плюс шесть, для воздуха и земли — плюс три, уж больно много там щелкающих и шипящих. Стихии тьмы, смерти и им подобные — на минус два, там благозвучных фонем вообще нет.” Закончив разбивку по группам и настройку модуля благозвучности, девочка задумалась. “Что бы еще такое прикрутить? А давайте-ка исключим все методы шифрования кроме цифровых. Базу заклинаний ведь программисты создавали, а программисты любят циферки и не любят буковки”.
— Банзай, скажи мне как программист программисту, что ты любишь больше, циферки или буковки?
— Цифры лучше, они проще.
— Хорошо.
Братья, прервавшие свои эксперименты и сейчас просто отдыхающие, удивленно посмотрели на сестру, но оценив ее сосредоточенный вид, решили не лезть с вопросами. Лиза же закончила последние настройки и, не придумав, что еще добавить, подключила звуковое оповещение и запустила программу.
— А не пора ли нам пообедать? Чья сегодня очередь готовить?
— Вот что я в тебе всегда ценил, Шанси, так это умение вовремя задать правильный вопрос, предполагающий правильный ответ. — Банзай хитро посмотрел на девушку. — Сегодня твоя очередь.
— Ну и славно, все равно пока делать нечего. Вы закончили с экспериментами?
— Пока хватит страданий. — Эд потянулся. — После обеда продолжим.
— И что грозные кошкообразные желают на обед?
— Грозные кошкообразные желают рагу из степного кролика с овощами.
— Эд?
Кирилл, погруженный в свои мысли, заглянул в сумку:
— Кролик в наличии, овощи тоже.
— А готовить ты мне прямо здесь предлагаешь? Кто у нас спец по магии пространства и заведует телепортами?
— Точно, извините, задумался. — Эд поднялся с земли, прокинул приглашение в группу и начал каст группового портала.
Сигнал звукового оповещения прозвучал, едва успели опустеть тарелки. “Что-то быстро как-то. Или это оповещение сбоя в работе? Сколько в реале времени прошло? Тут около трех часов, значит в реале меньше часа”. Лиза открыла программу. “ЧТО? Вы это серьезно?” Результаты анализа вначале ошеломили девочку, а потом привели в состояние глубокой задумчивости. “Осталось понять, это разрабы оказались полнейшими раздолбаями, или все так и задумано? Ну, кто, скажите, кто шифрует данные последовательностью Фибоначчи? Это же детский сад, младшая группа.” Открыв логи работы программы девушка убедилась в отсутствии ошибок и вновь вернулась к сводному отчету по всем загруженным фонемам. “Коэффициент корреляции — единица. И схема три-один, как и предполагалось. Вот так вот сходу найти иголку в стоге сена… Нет, версия с раздолбайством разрабов не выдерживает критики. Остальной мир слишком хорошо продуман и слишком сложен. Остается вариант целенаправленного подсовывания простой структуры для возможности её модификации”. Лиза хихикнула. “С простотой структуры это я, конечно, загнула. Без инструмента вроде “Паяльника”, эту структуру не вскрыть. На элементарный перебор уйдет не меньше десятка лет реального машинного времени. Нужно будет обязательно рассказать Косте, какой он умный” Отвлекшись от отчета, Лиза огляделась по сторонам в поисках братьев. “Кажется, ругань последний раз доносилась с соседней поляны”. Братья, как и планировали, продолжили свои эксперименты, решив, правда, не уходить далеко от лагеря. Перебравшись ближе к ребятам, Лиза вновь устроилась на траве. “Имея ключ шифрования, можно быстро перегонять любые данные из зашифрованного состояния и обратно. Ключ есть, данные есть, осталось провести модификацию”. Любое заклинание в игре можно было прочитать по фонеме, с получением соответствующего результата, но тогда ко времени создания добавлялось еще и время прочтения, увеличивая общий тайминг до непозволительных в бою величин. Именно поэтому среди магов особой популярностью пользовались имеющиеся слоты быстрого доступа, к которым можно было привязать любое заклинание или даже полноценный прокаст. Берете заклинание, перетаскиваете на слот, задаете условия активации этого слота — и вуаля! — готовый к использованию инструмент, не требующий лишнего времени на выполнение. Фонемы оставались для заклинаний, время создания которых значительно превосходило время прочтения, — под такие тратить слоты было бессмысленно.
Рассортировав полученные части заклинаний, Лиза получила базовый список операторов, необходимых для любого заклинания. “Здесь у нас указывается стихия, определяющая набор фонем, вот сюда ставим принцип обозначения цели, здесь указываем тип и принцип действия, а здесь прописываем желаемый эффект. Проводим шифрование по ключу, записываем полученную фонему в быстрый слот и…
— Костя, помнишь, я как-то обещала тебя стукнуть? — Девочка лежала на спине и, для чистоты эксперимента, даже не смотрела на брата. — Так вот, я передумала.
— Это потому, что я твой любимый братишка, на которого у тебя не поднимется рука?
— Нет.
— Ай! Что это только что было?
— Это была “Призрачная стрела”. — Сохраняя внешнее спокойствие, внутри Лиза ликовала. У нее ПО-ЛУ-ЧИ-ЛОСЬ!
— Э… А с каких пор она наносит урон членам группы?
— Видимо, с тех пор, как она стала самонаводящейся. — Кирилл наблюдал ситуацию со стороны, а потому быстрее сориентировался в произошедшем. — Я так понимаю, Шанси, тебя можно поздравить?
— А можно повторить для тупых? — Банзай все еще пытался осознать, что произошло. — Ай! Да не заклинание!
— Эд подошел к сестре и заглянул в лицо девушки, мечтательно рассматривающей крону склонившегося над поляной дерева.
— У меня получилось, Кир. — Лиза перевела взгляд на брата. — Ты понимаешь, получилось! — Переполняющие ее эмоции все никак не могли выплеснуться наружу, заставляя говорить шепотом. — Там… Там простое шифрование… Думаю, специально сделали…
Также, как при самом первом входе в игру, ее тело начала бить дрожь, из глаз покатились крупные слезы. Кирилл опустился рядом, обнял сестру, прижал к себе и зашептал, стараясь успокоить:
— Ты умница. Самая талантливая в нашей непутевой семейке. Я так горжусь тобой, ты не представляешь.
— Это все “Паяльник”. — Дрожь начала стихать, позволив девочке нормально вздохнуть. — Костин.
— Тот самый?
— Ага, который для терморектального.
— Банзай, ты слышал? Шанси загнала твой “Паяльник” этому миру, сам можешь догадаться куда.
— Блин, я должен был догадаться, что там шифрованные параметры. — Костя спешно анализировал новые данные. — И какой там ключ?
-Последовательность Фибоначчи. — Лиза окончательно пришла в себя, но не спешила покидать объятий брата. — Думаю, что специально такую простую сделали, чтобы кто-то мог найти.
— А заклы, как мы и думали, определяются параметрами?
— Угу, плюс различные звучания для разных стихий.
— Значит теперь остается лишь создать полноценную базу этих параметров и можно идти захватывать мир.
— Думаю, не все так просто. Лиз, посмотри по логам расход маны, урон и время каста. — Кирилл, как всегда, смотрел чуть дальше брата.
— Время то же, а вот расход и урон поменялись.
— И естественно, расход вырос, а урон уменьшился. В принципе, логично. — Кирилл, как и всегда, в моменты задумчивости, почесал переносицу. — Базовые заклинания должны быть построены по принципу максимальной оптимальности и синергичности со стихией, так что любая модификация должна иметь последствия.
— Кир, — Лиза наконец-то нашла в себе силы отстраниться от брата. — мне нужны фонемы всех имеющихся у тебя заклинаний магии пространства.
— Хорошо, сейчас скину. Что задумала?
— Помнишь, с чего начались ваши эксперименты с заклинаниями?
— Ты про раскачку боевого порталиста?
— Да, думаю, теперь все получится…