Большинство игроков используют HD мод, а там настоящие сражения между героями всегда происходят посредством быстрого боя (не путать с битвами-симуляциями). Однако может возникать серьезное различие между результатами реального боя и предварительной оценкой ИИ последствий этого боя. Для оценки же моменты, связанные с Оковами Войны и тд, естественно, не имеют значения.
Я HD мод не использую, поэтому для меня моменты, перечисленные выше, имеют значение.
п.2-3 - это я исправлял (можно найти в теме ASI плагинов для Героев 3),
RoseKavalier также знает исправление
п.4 - пока не могу ничего сказать. Вообще, в битвы-симуляции нужно добавлять/отнимать бонусы, связанные с моралью и удачей (естественно, не через сами показатели морали и удачи), учитывать влияние суперартефактов, влияние Плаща Отречения (сейчас учитывается только Сфера Запрещения) и тд. + Бонусы, связанные с навыками Доспехи и Нападение у героев.
по поводу переполнения (не только в битвах-симуляциях, но и в других моментах игры) - никогда не считал это за реальную проблему, так как нужно умудриться собирать такие армии или набирать героями такие показатели, чтобы происходило переполнение. Редко кто любит и играет в такого рода игры.
Для Оков войны добавочный код не сложен:
- Код: Выделить всё
int __stdcall AI_checkShacklesOfWar(LoHook* h, HookContext* c)
{
_Hero_* hero1 = (_Hero_*)(c->eax);
_Hero_* hero2 = (_Hero_*)(c->ebx);
if(hero1->DoesWearArtifact(AID_SHACKLES_OF_WAR) || hero2->DoesWearArtifact(AID_SHACKLES_OF_WAR))
{
c->return_address = 0x426F50;
return NO_EXEC_DEFAULT;
}
return EXEC_DEFAULT;
}
...
_PI->WriteLoHook(0x426F33, AI_checkShacklesOfWar);