26 октября 2006
Обновлено 17.05.2023

Новые юниты Heroes of Might and Magic 5

Новые юниты Heroes of Might and Magic 5 - изображение обложка

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

Вместо предисловия

Сразу оговоримся — совершенно новых существ в игру могут добавить только сами разработчики. Структура ключевых конфигурационных файлов достаточно прозрачна, игровых параметров там превеликое множество. От их количества буквально кружится голова, а вот пояснений нет никаких.

Но это еще цветочки. Стоит только внести изменения в характеристики юнитов, как игра при входе героя в город вылетает в Windows. В общем, проблем, с которыми придется столкнуться при подготовке мода, хватает. Одна из задач этой статьи — помочь вам разобраться во всем этом безобразии. Поэтому сегодня мы ограничимся созданием новых существ шестого уровня в каждом из замков. Мы произведем подмену юнитов, исключив при этом их старые варианты.

Все самые важные параметры разработчики поместили в < Каталог игры>\data. Там находится три файла: data . pak , sound. pak и texts.pak. Несмотря на странное расширение . pak , все они являются обычными zip-архивами, работать с которыми может любой современный архиватор. Первый архив самый важный, в нем лежат файлы с параметрами юнитов, зданий и других элементов, а также текстуры и модели персонажей.

Архив sound. pak содержит звуковые файлы, у которых отсутствует расширение. Не удивляйтесь, это всего лишь маленькая хитрость разработчиков. На самом деле это обычные wav-файлы. Вы можете свободно прослушивать и даже редактировать их в соответствующих программах без каких-либо дополнительных преобразований.

В архиве texts.pak лежат текстовые файлы: квесты, диалоги, описания. Править содержимое этих файлов можно в любом текстовом редакторе.

Создание созданий

Править будем файлы из директории \GameMechanics\Creature\Creatures архива data.pak — именно там прописаны параметры существ. В папке \GameMechanics содержатся следующие подкаталоги: \Artifact (артефакты), \TownBuildingSharedStats (города), \Spell (заклинания), \Shot (параметры стрельбы лучников и арбалетчиков).

Но сейчас речь пойдет о папке \Creature\Creatures. Она разбита на поддиректории, каждая из которых соответствует определенному замку (исключение составляет лишь каталог \Neutrals , относящийся к нейтральным юнитам): \Academy — академия волшебства, \Dungeon — Лига теней, \Haven — Орден Порядка, \Inferno — инферно, \Necropolis — некрополис, \Preserve — Лесной союз.

Добавим новых существ в академию волшебства. Для этого найдем в каталоге \Academy файл Rakshasa_Rukh.xdb (в нем находятся характеристики раджи ракшас — создания шестого уровня) и открываем его в стандартном «Блокноте».

Структура xdb -файлов довольно проста. Они состоят из разделов (блоков), оформленных следующим образом:

< X>

< / X>

Верхняя строка определяет начало раздела, нижняя — завершение, X — название. На месте многоточия стоят игровые параметры, реже — подразделы, в свою очередь включающие в себя набор атрибутов, которые объединены каким-то общим признаком. Дочерние блоки и параметры оформляются так же, как и материнские. Вместо второго многоточия ставится значение атрибута. Например, в < Speed>6Speed здесь является названием характеристики, а 6 — ее значением.

Мегаракшас

Вернемся к файлу Rakshasa_Rukh.xdb. Увеличим минимальный и максимальный урон, наносимый юнитом, задав показателям MinDamage и MaxDamage значения 25 и 33 соответственно. Параметру Speed , отвечающему за скорость передвижения, пропишем параметр 7.

Сделаем существо более инициативным, подняв число, соответствующее атрибуту Initiative , до 10. Юнит стал более смышленым и опасным, поэтому логично увеличить его стоимость: скорректируем настройку группы Cost. Параметру Gold , определяющему цену юнита в золотом эквиваленте, присвоим значение 2100 , а атрибуту Ore (требуемое количество руды) — 1. Теперь для привлечения в свои ряды улучшенного существа шестого уровня из данного замка потребуется не только золото, но и руда.

Покупка новых юнитов стала довольно дорогим удовольствием. Впрочем, платить есть за что. Новоявленный вариант ракшас значительно быстрее и сильнее прежнего, но у него пока нет своей «изюминки», отличающей его от собратьев. Давайте добавим ему возможность атаковать врага с помощью заклинания «Кольцо холода».

Чтобы тварь обрела магические способности, достаточно добавить в блок KnownSpells еще один подраздел следующего вида:

< Item>

< Spell>SPELL_FROST_RING

< Mastery>MASTERY_ADVANCED

< /Item>

Если вы хотите обучить создание использовать какой-то другой спелл, на месте сочетания SPELL_ FROST_ RING укажите условное наименование нужного вам заклинания. Для этого потребуется открыть один из xdb -файлов в папке \GameMechanics\Spell (архив все тот же — data.pak ). Поскольку сейчас мы модернизируем юниты, задействованы могут быть только спеллы, применяемые в сражениях. Все они собраны в подкаталоге \Combat_Spells , который разбит на четыре поддиректории, в зависимости от типа магии: \DarkMagic (темная магия), \DestructiveMagic (разрушительная), \LightMagic (светлая) и \SummoningMagic (магия призыва). Во всех этих папках вы найдете xdb -файлы, каждый из которых посвящен отдельно взятому заклинанию. Название волшебства в краткой форме отражено в имени соответствующего файла. Однако полное наименование заклинания прописано в самом файле в качестве значения характеристики TableID. Именно его вы должны указывать в разделе KnownSpells файла интересующего вас существа в поле для значения атрибута Spell (в разобранном случае — на месте сочетания SPELL_ FROST_ RING ).

Осталось наделить существо запасом маны; для этого характеристике SpellPoints присвойте значение 15. Отныне ракшас умеет морозить своих противников кольцами холода, однако в течение одного боя не может слишком часто пользоваться этой магической силой — количества маны ограничено.

Новому существу — новое имя. Обратимся к архиву texts. pak. В нем нас интересует папка \ Text\ Game\ Creatures. В данном случае нам нужен подкаталог \Academy и лежащий там файл Rakshasa_Rukh.txt (здесь указывается имя улучшенного юнита шестого уровня академии волшебства). Откройте файл в «Блокноте» и пропишите в нем новое имя (например, «Мегаракшас»), предварительно удалив старое «Раджи ракшас».

У нас получились инициативные, одаренные магически, но при этом дорогостоящие бойцы. При этом они универсальны: сильны в ближнем бою (это достоинство досталось им по наследству от раджи ракшас), однако могут пострелять во врагов с помощью магии. Эти юниты придутся ко двору в любой армии.

Старшие личи

Еще один юнит, которого мы будем менять, — архилич из некрополиса. В каталоге \ GameMechanics \ Creature\ Creatures\ Necropolis (архив data.pak ) ему соответствует файл Demilich . xdb. В этом файле необходимо произвести следующие изменения.

Во-первых, нужно немного усилить атакующие способности воина, присвоив характеристике AttackSkill значение 20. Во-вторых, не помешает добавить этому виду нежити чуточку живучести, установив для параметра Health число 80. В-третьих, способности к еженедельному размножению существа ( WeeklyGrowth ) следует повысить до отметки 4. В-четвертых, прежнее значение атрибута Shots мы заменим 8. Теперь лич сможет стрелять восемь раз за поединок, а не шесть, как это было раньше. В-пятых, сделаем чуть более внушительным запас маны, поставив параметру SpellPoints число 20. Наконец, немного поднимем цену юнита за счет корректировки значения показателя Gold. Отныне он должно равняться 1100.

Не забудьте также переименовать существо. Для этого исправим прежнюю надпись «Архиличи», содержащуюся в файле Demilich . txt (папка \ Text\ Game\ Creatures\ Necropolis , архив texts. pak ), на, к примеру, «Старшие личи».

В результате улучшенная версия лича станет чуть более дорогой, но при этом более сильной.

Повелительницы тьмы

Следующими в очереди на реинкарнацию стоят владычицы тени из Лиги теней. Откройте файл Matriarch. xdb. в папке \ GameMechanics \ Creature\ Creatures\ Dungeon и внесите в него следующие изменения. Показателю Shots пропишите значение 6 — после этого существо сможет совершать шесть выстрелов за один бой вместо четырех. Скорость передвижения (характеристика Speed ) следует повысить до 6 , а здоровье ( Health ) — до 120.

У владычиц тени большой арсенал заклинаний, поэтому необходимости добавлять им какие-то новые магические умения нет. А вот запас маны ( SpellPoints ) стоит увеличить до 20.

Также увеличим еженедельный прирост популяции юнитов, прописав число 3 в значении атрибута WeeklyGrowth. Цену за наем мы тоже повысим, присвоив параметру Gold из раздела Cost значение 2000.

Ну и конечно же, переименуем само существо. Для этого откроем в текстовом редакторе файл Matriarch.txt , лежащий в каталоге \Text\Game\Creatures\Dungeon архива texts. pak. Вписываем сюда новое название — пусть это будет «Повелительницы тьмы» (без кавычек).

Мы получили достаточно сильного, крепкого, быстро размножающегося и в то же время относительно недорогого воина. Его единственная слабость — защита.

Орденоносцы

Настало время заглянуть в рай. В самом светлом замке игры — Ордене Порядка — воином шестого уровня является паладин. В папке \GameMechanics\Creature\Creatures\Haven архива data.pak под него отведен файл Paladin.xdb , который мы и будем сейчас править.

Для начала слегка повысим общие атакующие и оборонительные умения паладина ( AttackSkill и DefenceSkill соответственно) до 25. После этого усилим его, определив характеристикам MinDamage и MaxDamage значения 25 и 35 , и ускорим — заменив число, относящееся к атрибуту Speed , на 10. Живучесть паладина ( Health ) тоже лучше поднять до 130. Цена такого юнита должна быть побольше: атрибутам Ore и Gold присваиваем значения 1 и 1900.

Теперь обучим паладина новым магическим способностям, например, заклинанию «Массовое благословление». Для этого добавим к уже имеющемуся подразделу блока KnownSpells еще один:

< Item>

< Spell>SPELL_MASS_BLESS

< Mastery>MASTERY_ADVANCED

< /Item>

Пускай запас маны (характеристика SpellPoints ) у нового паладина будет равен 10.

Напоследок традиционная операция по переименованию. В файл Paladin. txt из каталога \ Text\ Game\ Creatures\ Haven прописываем слово «Орденоносцы».

Теперь у Ордена Порядка есть воин, который не только прекрасно себя чувствует в ближнем бою, но и знаком с магией.

Посланцы сатаны

Спускаемся с небес прямиком в темное царство. Будем преобразовывать пещерных владык. Для этого мы подредактируем содержимое файла Balor . xdb из директории \ GameMechanics \ Creature\ Creatures\ Inferno.

Первым делом немного сократим разрыв между минимальным и максимальным повреждением, наносимым противнику данным юнитом. В этом нам поможет параметр MinDamage , значение которого мы увеличим до 16. Навык атаки твари необходимо улучшить, задав атрибуту AttackSkill значение 24. Также слегка увеличим скоростные показатели существа, поставив в соответствующей характеристике цифру 5. Еженедельный прирост популяции создания ( WeeklyGrowth ) доведем до 3. Стоимость юнита следует сделать равной 2100 золотых ( Gold ). Далее слегка повысим значение показателя SpellPoints — до 18.

«Новорожденных» назовем «посланцами сатаны», указав новое имя в файле Balor.txt из каталога \Text\Game\Creatures\Inferno (архив texts. pak ).

Древнейшие энты

В Лесном союзе нас интересуют, прежде всего, древние энты. Чтобы сделать из них еще более искушенных бойцов, нам придется обратиться к файлу Treant_Guardian.xdb (каталог \GameMechanics\Creature\Creatures\Preserve , архив data.pak ).

Сначала разовьем атакующий потенциал улучшенных энтов, прописав атрибутам AttackSkill , MinDamage и MaxDamage числа 20 , 12 и 25 , соответственно. Затем чуть приподнимем скорость ходьбы ( Speed ) и инициативу ( Initiative ). В первом случае до отметки 7 , во втором — до 8.

Поднимем стоимость существ, определив указав в параметрах Wood и Gold значения 1 и 1700. Теперь за наем каждого улучшенного энта игроку помимо золота придется выкладывать одно бревно, что вполне логично.

Кроме того, было бы нелишним научить лесных воинов магии. Для этого находим в файле следующую строку:

< KnownSpells/>

Заменяем ее другой, такого вида:

< Item>

< Spell>SPELL_MASS_DISPEL

< Mastery>MASTERY_ADVANCED

< /Item>

Таким образом, мы даем энтам способность пользоваться спеллом «массовое снятие чар». Осталось только наделить их волшебной силой, для чего придадим параметру SpellPoints значение 10.

Новое имя энтов (можно назвать их «древнейшими энтами») следует прописать в файле Treant_Guardian.txt (папка \Text\Game\Creatures\Preserve , архив texts. pak ).

В атаке древнейшие энты выглядят лучше своего предшественников. Кроме того, они выигрывает в скорости и инициативе и обладают полезным магическим умением, использовать которое можно только один раз за бой (ведь маны очень мало).

* * *

Теперь вам не составит труда переделать практически весь бестиарий HoMM 5. Только будьте аккуратны с балансом: не нужно увлекаться созданием каких-то супер-юнитов, а если и делать таких, то сразу во всех городах. Стоить такие громилы тоже должны одинаково. Ну а в одном из ближайших номеров мы расскажем вам, как полностью перерисовать скины монстров и героев.

Комментарии
Чтобы оставить комментарий, Войдите или Зарегистрируйтесь