Добавлен , опубликован

Создание баланс модов

В данной статье я постараюсь рассказать об основе моддинга Heroes of Might & Magic 5, то есть о создании баланс модов. Почему я начинаю повествование именно с баланс модов? Дело в том что для создание любой сложности графического мода и т.д. нужно уметь работать с файлами из GameMechanics о чём я сейчас и расскажу.
Что понадобится для работы - Блокнот и архиватор умеющий работать с .zip файлами, например WinRar.

Начало работы

Для начало надо перейти в папку с установленной игрой/data и открыть файл data.pak. Там нас интересует папка GameMechanics. зайдя в эту папку взору открывается много других, но сейчас мы рассмотрим Изменение характеристик любого существа, поэтому переходим в папку Creature/Creatures . Здесь имеется много папок с названием городов, для незнающих английские названия поясню Academy - Академия волшебства(маги) , Dungeon - Лига теней(подземелье), Dwarf - Северные кланы(гномы), папка Fortress нас НЕ интересует, Haven - Орден порядка(замок), Inferno - Инферно, Necropolis - некрополис, Neutrals - Нейтралы, Orcs - Орда(орки), Preserve - Лесной союз(эльфы). Соответственно выбираем объект мучения модифицированиия из какого-нибудь замка , например Королевского грифона ( Haven/Royal_Griffin.xdb) Извлекаем файл(мы ведь не хотим чтоб мод был намертво "вмонтирован" ? ) и открываем его блокнотом

Редактирование параметров

Перед нами открылся файл состоящий из тегов, в каждом из которых находится свой параметр, например между тегами‹AttackSkill› и ‹/AttackSkill› находится параметр атаки. Теперь я поясню все теги
?xml version="1.0" encoding="UTF-8"? - в данном теге находится информация о кодировке , его трогать не надо
Creature ObjectRecordID="" - системный тег с номером существа, тоже лучше не трогать.
AttackSkill - тег атаки существа
DefenceSkill - тег защиты существа
Shots - количество выстрелов - если значение равно нулю существо не стреляет, если больше нуля то существо становится стрелком( обычным, со штрафом стрельбы)
MinDamage - минимальный урон
MaxDamage - максимальный урон( надеюсь читающий понимает что минимальный урон должен быть меньше или равен максимальному?)
Speed - скорость ( в клетках)
Initiative - инициатива( например параметр 5 означает что существо ходит 1 раз в 2 хода, параметр 10 что существо ходит 1 раз в ход, параметр 15 что существо ходит 3 раза в 2 хода и т.д.)
Flying - летающее ли существо ( если да то true , если нет то false)
Health - здоровье существа
KnownSpells - заклинания которые знает существо, если существо заклинаний знать не должно то оставляем тег ‹KnownSpells/› ( слеш в конце)
SpellPoints - очки магии на заклинания первого типа
SpellPoints2 - очки магии на заклинания второго типа
SpellPoints3 - очки магии на заклинания третьего типа( здесь надо сказать что легче у существа имеющего способность подсмотреть какие спеллпоинты он использует)
Exp - опыт за существо( разработчики явно проставляли этот параметр "от балды" )
Power - сила существа( на основе этого параметра расчитывается степень опасности юнита для героя, тоже проставлено от балды , в среднем ~ в 15 раз больше опыта)
TimeToCommand - время на командование ( используется если ограниченно время хода, у магов равно 15 секундам, у обычных юнитов 10 секунд)
CreatureTier - уровень существа, используется только при случайной генерации созданий, максимальное значение равно 7
Upgrade - являться ли существо улучшением(у королевского грифона например стоит true , а у обычного false)
PairCreature - парное существо(для королевского грифона стоит CREATURE_GRIFFIN, для обычного CREATURE_ROYAL_GRIFFIN, тоесть существо с которым это существо образует пару)
CreatureTown - город существа ( см. англ название городов вверху)
MagicElement - магические элементы, используются чернокнижниками
First - первый элемент ( может быть ELEMENT_FIRE, ELEMENT_AIR, ELEMENT_EARTH, ELEMENT_WATER)
Second второй элемент( может быть как первый либо ELEMENT_NONE если элемент не используется)
WeeklyGrowth - прирост в неделю
Cost - стоимость
Wood - дерева
Ore - руды
Mercury - ртути
Crystal - кристаллов
Sulfur - серы
Gem - самоцветов
Gold - золота
SubjectOfRandomGeneration - является ли существо обьектом случаной генерации ( false, true)
MonsterShared - адрес на вид существа на глобальной карте, оставляем как есть
CombatSize - размер существа, если равно 1 то существо занимает 1 клетку, если 2 то 4 клетки.
PatternAttack - модель атаки( в случае если существо атакует нескольних, пример - дыхание дракона, атака гидры, рассчитывается в расчёте что х=0 у= 0 это клетка где стоит существо, используется только если активированна способность задествующая эту функцию)
flybySequence - если честно то зачем нужна эта функция для меня остаётся загадкой
Visual - ссылка на визуальный файл существа, оставляем как есть
Range - используется для стрелков, по умолчанию равно -2(минус 2), насколько я понимаю означает пр и значении -2 что если стрела пролетает половину поля то идёт штраф
BaseCreature - показывает базовое сущетво( для апрейдов равняется парному существу, для обычных - CREATURE_NONE
Upgrades - список существ в которых может быть улучшено существо, стоимость рассчитывается как стоимость апрейда - стоимость обычного
Abilities - способности существа( способностей существует великое множество , например у королевского грифона это ABILITY_UNLIMITED_RETALIATION - бесконечный отпор , ABILITY_IMMUNITY_TO_BLIND - иммунитет к заклинаниям воздействуем на зрение( т.к. на голове гравицапа :) ) и ABILITY_BATTLE_DIVE - то есть возможность взлететь ( вот зачем гравицапу нацепили ;-) )

Запаковка

Поправив файлы вы уже вздохнули спокойно? Значит выдохните и перейдём к запаковке мода. Для того чтобы мод работал правильно необходимо восстановить путь к файлу и положить в нужную папку файл, например для исправленного Королевского грифона я создам папку GameMechanics в ней папку Creature, в ей папку Creatures, далее папку Haven и в неё наконец положу исправленный Royal_Griffin.xdb, потом необходимо перейти к папке в которой лежит наша папка GameMechanics и заархивировать её в zip архив, но поменяв разрешение(если у вас установлена игра без аддонов то в .pak и далее готовый файл положить в /data, если же установлен хоть один аддон то в .h5u и положить в /UserMODs) Мод готов для использования!