(18.09.2019 23:56)ElfbI Wrote: подскажите, в 2.8.8 в game_bug_fixes нумерация раундов стандартная или измененная?
Уже стандартная. В настоящее время game_bug_fixes никак не влияет на нумерацию раундов.
В стандартной эре всегда была стандартная (как в SoD).
В сборке от
daemon_n, ранее была измененная, теперь - стандартная нумирация.
Важно!: начиная с версии 2.8.7 в ERA была изменена механика раундов битвы (в SoD она различается для раундов с тактической фазой и без)
Исход: нумирация раундов в настоящее время для ERA 2.8.7 и выше всегда имеет такую механику:
- во всех битвах первый раунд всегда =
0 (v997 - хранит номер раунда в битве)
- во время тактической расстановки номер раунда начинается со значения
-1000000000, т.е. имеет отрицательное значение
Berserker, и хотя нумерация приведена в норму,
баг вызовов остался. Более детально:
Герой с армией максимально прокачаных крестьян (опыт армий) при наличии тактики и сразу после тактической фазы призывает группу других крестьян (но должен это делать лишь с следующем раунде)
Без наличия тактической фазы такой проблемы нет.
Для уточнения: вызов всех существ от опыта армий привязан к содовским раундам баттлменеджера (строка 2445 "crexpo.cpp")
Code:
int Day=(*(int *)&((Byte *)BatMan)[0x13D6C]);
Именно поэтому баг проявляется и сейчас. Именно поэтому я и вносил фиксы в раунды битвы.
Либо перепривязывать данный вызов к BACall_Turn (*(_int_*)0x79F0BC), либо фиксить и содовские раунды. Тут уже как тебе удобнее