Нові юніти 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> 6 </ Speed> - Speed тут є назвою характеристики, а 6 - її значенням.

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

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

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

Щоб тварина знайшла магічні здібності, досить додати в блок KnownSpells ще один підрозділ такого вигляду:

<Item>

<Spell> SPELL_FROST_RING </ Spell>

<Mastery> MASTERY_ADVANCED </ Mastery>

</ 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 </ Spell>

<Mastery> MASTERY_ADVANCED </ Mastery>

</ 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 </ Spell>

<Mastery> MASTERY_ADVANCED </ Mastery>

</ Item>

Таким чином, ми даємо ентам здатність користуватися спелла «масове зняття чар». Залишилося тільки наділити їх чарівною силою, для чого додамо параметру SpellPoints значення 10.

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

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

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