Внимание. Данный скрипт корректно работает только в версии клиента не ранее 04.02.2010.
Для начала теория. Отображаемые в клиенте юниты указываются с техами влияния. Влияние задают герои, находящиеся в том-же городе, что и юнит. Для простоты есть смысл принять, что герои (и артефакты) влияют только на WS техи. Формула изменения техов следующая: Tnew = (Told*Apeace + Bpeace)*Awar + Bwar, где T - старый и новый тех, A,B - коэф. влияния героев, дружественных и враждебных. При нескольких героях выбирается максимальные коэф. В нашем случае B для всех героев и артефактов равно 0 (случаи коловозок опустим). Отсюда Tnew = Told*Apeace*Bwar. Получившуюся формулу очень просто развернуть, чтобы получить реальные техи юнитов.

Как это делать? Можно руками, можно попробовать автоматизировать. В любом случае, хочется знать - есть или нет в списке герои. Для этой цели предназначен макрос testhero.mcr. Скопируйте его, а также degr.mcr, gethero.mcr и testbattle.mcr (ссылка для скачивания архива - macros.zip) в каталог макросов программы (обычно C:\Program Files\DataArt\GVNG\Macro\). Есть смысл после копирования перезапустить ГВНГ.

Создаем группы для симуляции боя. Необходимо создавать группы по числу городов, из которых группы будут приходить в целевой город для сражения. Хотя дружественные друг-другу группы, приходящие из городов, в которых нет героев можно объединить в одну. После создания полученный контекст обязательно запишите в btl файл (правая кнопка мыши в симулятор, и экспорт). Для примера рассмотрим симуляцию боя в Осгилиате, рассчитываемую по репке 51го хода osgiliat.btl. Импортируем его (правая кнопка на симуляторе, import). Нажимаем правую кнопку мыши на "мозг", выбираем постоянную симуляцию и ждем. Процент победы у Темных крутится около 77-78%. Но это на текущих техах, а что будет в реальности? Давайте поищем героев. Снова правая кнопка на мыши, выбираем "Batch optimization", в поле Number ставим 1, в Procedures Name ставим testhero. Ok, и получаем:

Список героев в группах. --------------------------------- Группа A Герой:Grond раса:HillTrolls Герой:Ulaire-Attea раса:BaradDur --------------------------------- Группа B Герой:Ulaire-Attea раса:BaradDur --------------------------------- Группа C Герой:Legolas раса:Lorien --------------------------------- Группа G Герой:Theoden раса:Rohan ---------------------------------


Итак, у нас есть подготовленный к обработке контекст. Снова бьем мышей по мозгам, имя процедуры testbattle. Запуск симуляции, многа букв, ждем ОК. Выходим в симулятор, опять мозг, выбираем постоянную имитацию, и наслаждаемся результатом (процент у Темных вырос до 84.4%). Повторный запуск testbattle не даст эффекта, так что случайный клик вас не погубит.
Для желающих подправить, доработать или получить объяснения по работе скрипта адрес указан на морде точки.