Основная идея для добавления новых городов в игру заключается в замене всех построек дефолтного города и его существ на лету в самой игре с помощью ресивера !!SN=:R. Т.е. подтип города (0-8) становится подподтипом.
Было: объект 98/ тип города
Стало: объект 98/ тип города/ стандартный город, новый город, новый город2 и т.д.
т.е. идет замена всех элементов замка.
Новые существа можно добавить через Тифон (общая база существ на все города и моды) или с помощью erm скриптов - если такое возможно.
На данный момент, модель города на карте меняется с помощью параметра "вид города" из Wog (разрушен/частично разрушен и т.д.). Лучше это конечно сделать на базе новой переменной - тогда количество городов будет неограниченным.
Для сгенерированных карт можно создать скрипт, который будет обходить все города:
например, нужно добавить Рощу на базе Замка, и Двор на базе Оплота.
если подтип города =0 (Замок) генерация от 1до2. если 1 - оставить Замок, 2 - сделать Рощей
если подтип города =1 (ОПлот) генерация от 1до2. если 1 - оставить Оплот, 2 - сделать Рощей
если подтип города =3 оставить без изменений и т.д.
При загрузки карты новый город можно выбрать с помощью диалога (1 параметр - какой город заменить, 2 параметр - на какой новый город-мод заменить)
В теории, такую замену можно делать и для героев (чтобы добавить не только город но и фракцию в игру) - меняя портрет, характеристики, навыки героя на лету
В данном примере показан принцип добавления нового города в игру:
Добавлен замок Роща (фон, музыка, жилище 1 уровня и существа 1,2 уровня) на базе Замка. Роща присваивается городу номер 1 на карте (можно заменить на любое другое значение)
По ссылке доступен мод и карта:
скачать