Наступление отступников. Heroes of Might and Magic 5: Владыки Севера
Рассматривая коробочку официальной русской версии Heroes of Might and Magic 5: Владыки Севера , вы просто не могли не обратить внимание на надпись « испытайте в бою новые расы гномов и отступников ». С гномами все вышло отлично, их ниваловцы проработали очень детально. С отступниками же ситуация похуже. Мало того, что у них всего семь юнитов (против четырнадцати, включая апгрейды, у других фракций), так они еще во многом копируют соответствующих воинов Ордена Порядка, отличия — минимальны. Да и как же, простите, испытать этих самых отступников в бою, если за них даже играть нельзя? Непорядок! Все эти недоработки мы сегодня будем устранять, дабы сделать из отступников по-настоящему новую полноценную расу.
Структура
В десятом и одиннадцатом номерах «Игромании» за прошлый год мы уже публиковали статьи по вскрытию HoMM 5. Все изменения, которые были описаны в этих материалах, можно проделать и с продолжением игры, плюс появились новые возможности для модификации. Аддон устанавливается в папку с оригинальной игрой, при этом там создаются новые подкаталоги (в частности, \bina1 , \dataa1 ), а также пополняется содержимое оригинальных папок.
Нас в первую очередь интересует директория \dataa1 , в которой хранятся файлы a1-data.pak , a1-sound.pak , a1-texts.pak и p2-texts.pak (аналогичные тем, что лежат в папке \data ). Первый из них несет в себе разнообразные графические и конфигурационные файлы, второй — звуки, а третий и четвертый — игровые тексты.
Все эти файлы — стандартные zip -архивы, работать с ними может любой современный архиватор. Первым делом изучим файл a1-data.pak. Этот архив по своей структуре и наполнению очень похож на data.pak , с которым мы имели дело, модифицируя обычный HoMM 5.
Наша ближайшая цель внутри a1-data.pak — папка \GameMechanics , в файлах которой запрятаны настройки геймплея. Под описание существ отведен подкаталог \Creature\Creatures , который, в свою очередь, разбит на следующие субдиректории (каждая описывает отдельную фракцию): \Academy — Академия Волшебства, \Dungeon — Лига Теней, \Dwarf — Северные Кланы (гномы), \Haven — Орден Порядка, \Inferno — Инферно, \Necropolis — Некрополис, \Neutrals — нейтральные твари, \Preserve — Лесной Союз. В каждом из перечисленных каталогов вы найдете файлы соответствующих юнитов (каждый файл описывает одно создание).
Файлы имеют расширение .xdb , их можно править в любом текстовом редакторе (даже в стандартном «Блокноте»). Структура у XDB-файлов та же, что и в оригинальной игре. На всякий случай напомню, что они состоят из разделов (блоков), оформляются которые следующим образом:
< X>
…
< /X>
Верхняя строка обозначает начало раздела, нижняя — конец, а X — название. На месте многоточия стоят различные игровые параметры, реже — подразделы с перечнем атрибутов. И отдельные параметры, и целые подразделы оформляются так же, как и блоки более высокой иерархии (например, так: < Health>5).
Отступники в бою
Пора применять полученные знания на практике. Превратим отступников в полноправную расу. Создавать ее мы будем на базе Ордена Порядка. Но прежде чем приступить к модифицированию игры, сделайте резервные копии архивов, чтобы в случае сбоев можно было вернуть все на свои места без переустановки игры.
Твари с апгрейдом
Зайдите в директорию \GameMechanics\Creature\Creatures\Haven\Renegates , соответствующую отступникам. В ней вы найдете семь файлов: BattleGriffin.xdb (боевые грифоны), Champion.xdb (рыцари Изабель), Landlord.xdb (лендлорды), Longbowman.xdb (стрелки), Seraph.xdb (падшие ангелы), Vindicator.xdb (ревнитель веры) и Zealot.xdb (адепт). Скопируйте их в любую папку, переименуйте соответственно в Royal_Griffin.xdb , Paladin.xdb , Militiaman.xdb , Marksman.xdb , Archangel.xdb , Swordsman.xdb , Cleric.xdb и поместите обратно в архив a1-data.pak (в папку ( \GameMechanics\Creature\Creatures\Haven , заменив ими исходные файлы).
В результате улучшенные воины Ордена Порядка уступят место своим темным ипостасям. Последние нуждаются в доработке. В частности, некоторых из них нужно чуть ослабить, других сделать более дорогими, ведь существа-отступники начальных уровней явно превосходят свои светлые аналоги.
Начнем с существа первого уровня — лендлорда, которому теперь соответствует файл Militiaman.xdb. Открывайте его в «Блокноте» и приступайте к правке. Значения показателей Initiative (инициатива) и WeeklyGrowth (еженедельный прирост) уменьшите соответственно до 6 и 20. В файле Marksman.xdb , описывающем стрелка, атрибуту Gold из блока Cost поставьте число 90 , подняв таким образом цену юнита до 90 монет.
Что касается файла Swordsman.xdb (ревнитель веры), то здесь надо исправить значения характеристик Health (здоровье), Speed (дальность хода), WeeklyGrowth на 22 , 5 и 8 соответственно. Вследствие этого воин станет менее живучим и «плодовитым», зато более быстрым.
В файле BattleGriffin.xdb (грифоны) следует поработать с настройками MinDamage (минимальное повреждение, причиняемое воином жертве) и MaxDamage (максимальное повреждение). Первому пропишите число 6 , второму — 13.
В файле Cleric.xdb (адепт) показатель Initiative понизьте до 9. В Paladin.xdb (рыцари Изабель) атрибуту Gold задайте значение 1500 , а Health — 90. Рыцари Изабель отныне стоят дешевле своих светлых коллег (паладинов), но и со здоровьем дела у них обстоят похуже.
Загляните в файл Archangel.xdb (падший ангел). В разделе Cost характеристикам Gold и Crystal определите в значения 4000 и 1. Падший ангел — единственное существо среди отступников, которое слабее аналогичного юнита из Ордена Порядка. Поэтому и стоить он будет немного дешевле архангела.
Переименование
У новой расы должны быть уникальные описания всех юнитов и их названия. Если существа с апгрейдами из нового замка названы оригинально, то у юнитов без апгрейда продублированы тексты из замка Ордена Порядка. Чтобы исправить ситуацию, зайдите в архив p2-texts.pak (находится в папке \dataa1 ) и найдите директорию \Text\Game\Creatures\Haven , которая содержит нужный текст. Каждому созданию здесь отведено по три файла. Первый называется X.txt (содержит наименование воина), второй — XDescription.txt (описание), третий — XAbilities.txt (перечисление умений, которыми владеет создание), где X — название существа. Править придется только файлы первых двух видов.
Нас интересуют файлы, где на месте X стоят следующие слова: Angel (ангел), Archer.txt (лучник), Cavalier.txt (рыцарь), Footman.txt (мечник), Griffin.txt (грифон), Peasant.txt (крестьянин), Priest.txt (монах). Всего таких файлов набирается четырнадцать: семь с названием юнита, столько же с описанием.
Придумайте неулучшенным созданиям подходящие имена и описания. Простейший вариант — добавить к названию существ определение « темные ». Возьмем, например, крестьян. Откройте файл Peasant.txt и припишите в нем « Темные крестьяне ». Естественно, переименовать работяг следует и в файле PeasantDescription.txt (заодно исправив в тексте наименование группировки, к которой относится юнит). Например, содержимое конкретно этого файла может выглядеть в нашем моде так: « Темные крестьяне составляют основную часть пехоты отступников. Они не очень сильны и плохо обучены, но их очень много ».
Обратите внимание, что названия существ встречаются не только в файлах, описывающих конкретные юниты, но и в текстовиках построек, в которых нанимаются юниты. Речь идет о файлах с именами Description.txt и Upgraded_Description.txt (первые относятся к обычным юнитам, вторые — к улучшенным), которые вы найдете в субдиректориях папки \Text\Game\TownBuildings\Haven. Почти все файлы собраны в каталогах \ Special_5 и Dwelling_X (где X — номер уровня существа, которому посвящен подкаталог). Например, в файле Upgraded_Description.txt из каталога Dwelling_1 в словосочетании « нанимать ополченцев » второе слово следует исправить на « лендлордов ».
Юнитов мы переименовали, давайте дадим новое название расе. В этом вам опять поможет архив p2-texts.pak. Сначала зайдите в директорию \Text\Game\Towns\Types и отыщите там файл heaven.txt. Вместо оригинального наименования « Орден Порядка » поставьте « Отступники » (без кавычек). То же самое сделайте в файлах race_haven.txt и race_tooltip_haven.txt из каталога \UI\MPWait\PlayersList\Item.
Далее исправьте содержимое файла Name.txt из папки \Text\Game\Towns\Haven на « Город отступников ». Желательно также придумать и прописать городам отступников новые названия и описания. Сделать это можно в файлах Biography.txt (описание города) и Name.txt (название города).
Чтобы переименовать героев, вам придется поработать над файлами Bio.txt и Name.txt из директории \Text\Game\Heroes\Persons\Haven.
Твари без апгрейда
На данном этапе непроапгрейженные юниты в замке по-прежнему представляют силы света. В принципе, можно оставить все в таком виде, тогда вам даже не придется изменять потом внешний вид тварей — отличить обычную вариацию юнита от юнита с апгрейдом несложно. В результате получится своего рода гибридная раса, соединяющая в себе как добро, так и зло.
Но чтобы создать новую фракцию, этих изменений, конечно, мало. Поэтому настоятельно рекомендую преобразовать и оставшихся существ расы. Для этого вам понадобится подредактировать еще семь файлов из папки \GameMechanics\Creature\Creatures\Haven архива data.pak. Начнем с крестьянина. Его описывает файл Peasant.xdb. Первым делом чуточку укрепите здоровье работяги, присвоив атрибуту Health значение 4. А вот прирост крестьян и инициативу следует понизить, придав показателям WeeklyGrowth и Initiative соответственно значения 20 и 6.
Следующая наша жертва — лучник, за него отвечает файл Archer.xdb. Характеристике Gold из блока Cost пропишите значение 60 , увеличив тем самым стоимость найма воина. Параметру Initiative — задайте значение 10 , это повысит инициативу лучника. Запас стрел сократите ( Shots должен быть равен 7 ), а максимальный урон, наносимый созданием ( MaxDamage ), наоборот, поднимите до 6.
Модифицируя существо третьего уровня, мечника, нужно проделать в файле Footman.xdb следующие преобразования. Уменьшить значение атрибута WeeklyGrowth до 8 , а настройки DefenceSkill (оборонительные навыки) — до 6. Атакующие же способности юнита, наоборот, следует усовершенствовать, прописав параметру AttackSkill значение 6.
При модификации грифонов нас интересует файл Griffin.xdb , в котором показателю Speed нужно присвоить значение 6 , Initiative — 14 , DefenceSkill — 7 , Gold — 250. В файле, описывающем монахов ( Priest.xdb ), мы ограничимся двумя небольшими изменениями: атрибуту Initiative пропишите 8 , Health — 60.
В файле Cavalier.xdb (рыцари) уменьшите значения параметров Health , Gold и DefenceSkill до 85 , 1200 и 20 соответственно. Цену следует понизить и за найм ангелов, которым соответствует файл Angel.xdb. Для этого значение характеристики Gold понизьте до 3000. Кроме того, к перечисленным далее настройкам подставьте следующие числа: DefenceSkill — 24 , MinDamage — 25 , MaxDamage — 50 , Speed — 7.
Теперь все юниты без апгрейда из группировки отступников стали уникальными. Осталось изменить их внешность и дать новые описания.
Внешний вид
Поработаем кистью. Сейчас, как вы понимаете, обычные (неулучшенные) существа из новой фракции — это точные копии своих светлых предшественников. Модельки переделывать очень долго (да и движок не воспримет новых персонажей), а вот подправить скины куда проще.
Текстуры, в том числе шкурки, записаны в формате .dds. Для преобразования этих файлов в более привычный tga -тип воспользуемся знакомой нам утилитой DXT Tools (забирайте ее с нашего диска из раздела «Игрострой» ). Скопируйте интересующую вас картинку формата .dds в директорию программы и запустите оттуда файл readdxt.exe с параметром: readdxt <имя .dds-файла> (например, readdxt Peasant.tga.dds ). Вы получите нужный вам рисунок в виде файла test.tga. Последний вы можете править в графическом редакторе — например, в Photoshop.
После того как вы закончите с редактированием, сконвертируйте картинку обратно в формат .dds. Для этого, находясь в папке программы, наберите в командной строке: nvdxt test.tga. Наконец, верните рисунку исконное имя (которое было у него до перевода в TGA-формат) и положите на прежнее место (в директорию внутри архива data.pak или a1-data.pak , из которой вы файл извлекли).
Пора переходить к самому процессу перерисовки скинов. Например, на одеяния и оружие существ можно нанести пятна крови, уникальные логотипы, корпус обвешать украшениями, перекрасить детали одежды и снаряжения. Например, шкурку крестьянина Peasant.tga.dds , которую разработчики спрятали в каталог \Textures\auto-imported_______320\dev\Test\TMPcharacters\Peasant архива data.pak , мы переделали следующим образом. На тело поместили логотип «Игромании», а на вилы добавили потеки крови (сразу стало понятно, что крестьянин трудится на силы тьмы).
Текстуры остальных юнитов находятся в следующих файлах (все лежат в каталоге \Textures архива data.pak либо, в особо оговоренных случаях, архива a1-data.pak ):
Лучник — \auto-imported_320\dev\ijon\archer\Archer.dds и \auto-imported_320\dev\wood\Archer.tga.dds ;
Мечник — \Creatures\Haven\Footman\Footman.tga.dds (тело воина) и \Creatures\Haven\Footman_LOD\Footman_weapon.tga.dds из архива a1-data.pak (оружие);
Грифон — \Creatures\Haven\Griffin\Griffin.tga.dds ;
Монах — \auto-imported_320\dev\Test\TMPcharacters\Priest\Priest.dds ;
Рыцарь — \auto-imported_320\dev\Test\TMPcharacters\Champion\Champion.dds (тело рыцаря), Champion_horse.dds (лошадь) и Champion_weapon.dds (оружие);
Ангел — \Creatures\Haven\Angel\Angel_head.tga.dds из архива a1-data.pak (голова ангела) и Angel_SwordADD.tga.dds (меч); \auto-imported_320\dev\Test\TMPcharacters\Angel\Angel_Main.tga.dds (основная текстура тела) и Angel_Add.tga.dds (вспомогательная).
* * *
Несмотря на то что раса отступников полностью готова, всегда есть что подправить, доработать, видоизменить. Скажем, никто не мешает вам перерисовать портреты героев (лежат в папке \Textures\Icons\Heroes\Heaven архивов data.pak и a1-data.pak ) и неулучшенных существ группировки ( \Textures\Interface\CombatArena\Faces\Heaven ), текстуры строений внутри новоиспеченного замка (их вы найдете в каталогах \Textures\auto-imported_320\Town\NewHaven и \Textures\auto-imported\Town\NewHaven архива data.pak ).