(28.10.2023 00:20)MOP Wrote: Что это такое?
Code:
switch ( v11 )
{
case 17:
case 19:
if ( !AHero )
goto SDefault;
v9 = Hero_HasArt(AHero, 106);
goto LABEL_46;
case 24:
if ( v7 & 0x40000 )
return 0.0;
if ( !AHero )
goto SDefault;
v9 = Hero_HasArt(AHero, 103);
goto LABEL_46;
case 25:
if ( !(v7 & 0x40000) )
return 0.0;
if ( !AHero )
goto SDefault;
v9 = Hero_HasArt(AHero, 104);
goto LABEL_46;
case 38:
goto S38_Resurrection;
case 39:
if ( v7 & 0x40000 )
goto SDefault;
return 0.0;
case 41:
if ( v7 & 0x40000 )
return 0.0;
goto S51_52_55_Fortune_MisF_Slayer;
case 42:
if ( v7 & 0x40000 || !v5->damage_max )
return 0.0;
if ( !AHero )
goto SDefault;
v9 = Hero_HasArt(AHero, 102);
goto LABEL_46;
case 44:
goto S44_Precision;
case 49:
case 50:
if ( !(v7 & 0x20000) )
goto SDefault;
return 0.0;
case 51:
case 52:
case 55:
S51_52_55_Fortune_MisF_Slayer:
if ( v5->damage_max )
goto SDefault;
return 0.0;
case 59:
if ( !AHero )
goto SDefault;
v9 = Hero_HasArt(AHero, 100);
goto LABEL_46;
case 60:
if ( !AHero )
goto SDefault;
v9 = Hero_HasArt(AHero, 105);
LABEL_46:
if ( v9 )
return 0.0;
BYTE1(v7) = BYTE1(v14);
goto SDefault;
case 61:
if ( !AHero )
goto S44_Precision;
if ( Hero_HasArt(AHero, 107) )
return 0.0;
LOWORD(v7) = v14;
S44_Precision:
if ( v7 & 4 )
goto SDefault;
return 0.0;
case 62:
if ( !AHero )
goto LABEL_16;
if ( Hero_HasArt(AHero, 101) )
return 0.0;
v7 = v14;
LABEL_16:
if ( v13 == 70 )
return 0.0;
if ( v13 == 71 )
return 0.0;
S38_Resurrection:
if ( !(v7 & 0x40000) )
goto SDefault;
return 0.0;
case 70:
if ( v13 != 70 && v13 != 71 )
goto SDefault;
return 0.0;
case 71:
if ( !(v7 & 0x10) )
return 0.0;
if ( v13 == 30 || v13 == 31 )
return 0.0;
(28.10.2023 00:20)MOP Wrote: Ась?
Code:
cmp eax, Количество_заклинаний
jge .не_проверять_арт
movzx ecx, byte [eax+артефакты_дающие_иммунитет_к_заклинаниям]
test ecx, ecx
je .не_проверять_арт
test ebx, ebx
je .не_проверять_арт
push ecx
mov ecx, ebx
call dword [Проверить_артефакт_на_кукле_героя]
test al, al
jne Запрет_заклинаний_от_арта.арт_есть_запрет_закла
mov edx, dword [ebp-4] ; восстановить флаги монстра
.не_проверять_арт:
(28.10.2023 00:20)MOP Wrote: В каком смысле антипод-то? Можно колдовать любые заклинания, кроме 1-го уровня?
Можно колдовать только 5 уровня.
(28.10.2023 00:58)Ivor Wrote: какой смысл несет изменение схемы отстройки города? Например, в Оплоте эльфы стали требовать кузницу, а пегасы - волшебный пруд
Чтобы Оплот отстраивался медленнее. В ERA+ изменены схемы отстройки всех городов - доппостройки для жилищ потребуются во всех городах.
(28.10.2023 02:35)Ivor Wrote: Не перебор с погостами?
У него ценость 750, т.к. там разный хлам. В современной версии генерируются все воговские объекты с более низкими ценностями, поэтому погосты встречаются намного реже.
(28.10.2023 02:35)Ivor Wrote: и толкователями снов?
По конфигу, должен генерироваться в 2 раза реже чем, например, мельницы. Иногда содовский генератор карт благодаря не очень удачному генератору случайных чисел может по 5 раз повторять один и тот же объект, ну вроде Берсеркер правил генератор чисел в era.dll - рекомендую обновить эту библиотеку.
(28.10.2023 02:35)Ivor Wrote: А синий может все свои войска в скелетов превратить.
ИИ преобразователем скелетов не пользуется - не сможет.
(28.10.2023 04:00)Ivor Wrote: В общем, в моде та же беда, что и в HotA - слишком большая доля новых объектов. В результате - меньше относительная доля старых объектов, в т.ч. - и жилищ существ.
Никто не запрещает в ERA+ запускать карты, сгенерированные в обычном СоДе, где не будет ничего нового. Лично для меня, чем больше новых объектов карты, тем лучше и интереснее (например в той же HoA слишком мало новых объектов, она всё же больше для консерваторов). Например в текущей версии ERA+ на генератор карт поступают 2337 объектов карты и в каждом обновлении это количество постепенно увеличивается. Кому-то мало, кому-то много - всем не угодишь.