Current time: 28.01.2023, 16:59 Hello There, Guest! (LoginRegister)
Language: english | russian  

Poll: Интересен ли мод?
This poll is closed.
Да интересен (уже скачал) 38.46% 5 38.46%
Да интересен (скачаю позже) 23.08% 3 23.08%
Нет не интересен 0% 0 0%
Хочу список ходов как в Героях 5! 38.46% 5 38.46%
Total 13 votes 100%
* You voted for this item. [Show Results]

Thread Closed 
Threaded Mode | Linear Mode
(Mod) Z Battle Order
» Показывает следующий стек который будет ходить в битве
Author Message
Zur13 Offline

Posts: 223
Post: #1
Кирпич 
Z Battle Order BETA VERSION


Показывает следующий стек который будет ходить в битве. Пока рассчитывает только по правилам СоД, в основном они совпадают с ЭРА за исключением тех случаев когда моды или другие скрипты влияют на порядок ходов.
Shows the next stack which will act in the battle.

Image: 1.jpg Image: 2.jpg
Для желающих сделать круто как Героях 5+:

Мод на самом деле рассчитывает не только следующий стек, а сразу 8-10 следующих стеков, т.е. можно сделать мод который будет брать информацию из этого мода и показывать в удобном виде. Я не могу заняться полноценным всплывающим окном для отображения списка стеков, потому добровольцы приветствуются. Подробнее внутри мода есть файл forFellowModdersRU.txt Если нужно рассчитать больше стеков вперед или что-то добавить пишите сюда или в личку.

Ссылки для скачивания


[Interface] Z Battle Order (обновление №3 за 01.04.2020)
(This post was last modified: 01.04.2020 19:46 by Zur13.)
01.04.2020 14:27
Find all posts by this user
XEPOMAHT Offline
Moderators

Posts: 1986
Post: #2

Твой код отчего-то совсем не учитывает различные состояния монстров в бою (например, нужно учитывать наложенные корни, ускорение, ослепление, паралич, состояние ожидания, отрицательную мораль, страх и ещё кучу каких-то данных из таблицы ботлменеджера в соответствующей содовской таблицы данных).

Поэтому такие вещи лучше делать в виде плагина, код получения последовательности хода можно было бы скопировать с содовского образца из IDA-базы, а не придумать всё самому.

Задача не простая, но выполнимая (например, в HD-моде это было сделано только недавно):

Image: kiss_1448kb.1585733623.png
(This post was last modified: 01.04.2020 15:45 by XEPOMAHT.)
01.04.2020 15:34
Find all posts by this user
igrik Offline
Administrators

Posts: 2684
Post: #3

В связи с выходом данного функционала в HD и поэтому потери актуальности в SoD_SP, нужно попросить RoseKavalier сделать плагин для ERA.
Вот так ранее было им сделано в SoD_SP, и в настоящее время я не вижу причин не открыть данную часть плагина для ERA
Image: SOD-SP.jpg


game bug fixes extended.dll || My Plugins
01.04.2020 15:50
Visit this user's website Find all posts by this user
Zur13 Offline

Posts: 223
Post: #4

(01.04.2020 15:34)XEPOMAHT Wrote:  Твой код отчего-то совсем не учитывает различные состояния монстров в бою (например, нужно учитывать наложенные корни, ускорение, ослепление, паралич, состояние ожидания, отрицательную мораль, страх и ещё кучу каких-то данных из таблицы ботлменеджера в соответствующей содовской таблицы данных).

Поэтому такие вещи лучше делать в виде плагина, код получения последовательности хода можно было бы скопировать с содовского образца из IDA-базы, а не придумать всё самому.

Задача не простая, но выполнимая (например, в HD-моде это было сделано только недавно):

Image: kiss_1448kb.1585733623.png

Состояние ожидания учитывает.
Ослепление учитывать должно, хотя не проверял прицельно.
Да паралич нужно добавить. Корни нужно посмотреть как меняется порядок ходов.

Отрицательная мораль это не СоД, если я правильно понимаю то это рандомные эффекты и показывать их заранее неправильно. Цель этого мода сделать за игрока тот расчет который он обычно делает сам прикидывая скорости существ, случайные эффекты игрок не рассчитывает.

А страх и ускорение как влияют?

Была мысль добавить АПИ для других модов чтобы они могли подсказывать как изменяют порядок ходов.
(This post was last modified: 01.04.2020 15:57 by Zur13.)
01.04.2020 15:55
Find all posts by this user
Zur13 Offline

Posts: 223
Post: #5

Версия 0.2
- Исправлено вычисление очередности ходов для стеков с одинаковой скоростью
- Исправлено вычисление очередности для Окаменевших стеков и стеков под действием Паралича.
01.04.2020 16:48
Find all posts by this user
XEPOMAHT Offline
Moderators

Posts: 1986
Post: #6

(01.04.2020 15:55)Zur13 Wrote:  А страх и ускорение как влияют?

Страх = отрицательной морали. Ускорение просто даёт бонус к скорости (поэтому получение истинной скорости потребует вызова соответствующей содовской функции, а не так, как сделано у Zur13).
01.04.2020 17:26
Find all posts by this user
Berserker Offline
Administrators

Posts: 15923
Post: #7

XEPOMAHT, Zur13 прав, мораль не должна отображаться на шкале инициативы и не отображается в более поздних играх.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
01.04.2020 17:39
Find all posts by this user
Zur13 Offline

Posts: 223
Post: #8

(01.04.2020 17:26)XEPOMAHT Wrote:  
(01.04.2020 15:55)Zur13 Wrote:  А страх и ускорение как влияют?

Страх = отрицательной морали. Ускорение просто даёт бонус к скорости (поэтому получение истинной скорости потребует вызова соответствующей содовской функции, а не так, как сделано у Zur13).

BM:S выдает скорость со всеми бонусами и дебафами, включая изменения сделанные модами через BM:S насколько я знаю. Но я чуть позже перепроверю на всякий случай Sm
(This post was last modified: 01.04.2020 17:46 by Zur13.)
01.04.2020 17:44
Find all posts by this user
XEPOMAHT Offline
Moderators

Posts: 1986
Post: #9

(01.04.2020 17:39)Berserker Wrote:  мораль не должна отображаться на шкале инициативы и не отображается в более поздних играх.

А кто сказал что она должна быть на шкале (которой и так на ERA нет)? Чуть выше просто представил неполный список того, что учитывает содовский код при передаче хода. Вообще, в любой момент битвы можно поставить перехват и передавать ход как душе угодно (поэтому на ERA учесть абсолютно всё просто нереально), вплоть до добавления механизма инициативы из Пятых Героев (особо ничего сложного там нет, простая замена скорости на инициативу в соответствующих функциях, включая ИИ), поэтому то, что не шибко сложно реализовать на закрытых SoD/HoA, оборачивается головной болью на открытой для всех желающих ERA.

(01.04.2020 17:44)Zur13 Wrote:  BM:S выдает скорость со всеми бонусами и дебафами, включая изменения сделанные модами через BM:S насколько я знаю. Но я чуть позже перепроверю на всякий случай Sm

BM:S (по крайней мере так было в WoG 3.58) просто отдаёт значение структура_стека.скорость. К примеру, для истинной скорости отряда нужно ещё посчитать процентовку, получаемую от замедления. Поэтому, игра ВСЕГДА (или почти всегда) использует функцию, рассчитывающую реальную скорость из номинальной с учётом эффектов заклинаний.
(This post was last modified: 01.04.2020 18:03 by XEPOMAHT.)
01.04.2020 17:57
Find all posts by this user
Zur13 Offline

Posts: 223
Post: #10

(01.04.2020 17:57)XEPOMAHT Wrote:  
(01.04.2020 17:39)Berserker Wrote:  мораль не должна отображаться на шкале инициативы и не отображается в более поздних играх.

А кто сказал что она должна быть на шкале (которой и так на ERA нет)? Чуть выше просто представил неполный список того, что учитывает содовский код при передаче хода. Вообще, в любой момент битвы можно поставить перехват и передавать ход как душе угодно (поэтому на ERA учесть абсолютно всё просто нереально), вплоть до добавления механизма инициативы из Пятых Героев (особо ничего сложного там нет, простая замена скорости на инициативу в соответствующих функциях, включая ИИ), поэтому то, что не шибко сложно реализовать на закрытых SoD/HoA, оборачивается головной болью на открытой для всех желающих ERA.

Имеется ввиду что мы не предсказываем случайно выпадающие эффекты такие как повторный ход от высокой морали или пропуск хода из-за низкой морали. По поводу изменения порядка ходов из-за других модов, я чуть выше упоминал это должно быть реализовано на уровне АПИ, если этот мод будет принят, я просто добавлю в этот мод АПИ чтобы другие разработчики модов могли указывать особый порядок рассчета ходов. Это всё решаемые проблемы.

(01.04.2020 17:57)XEPOMAHT Wrote:  BM:S (по крайней мере так было в WoG 3.58) просто отдаёт значение структура_стека.скорость. К примеру, для истинной скорости отряда нужно ещё посчитать процентовку, получаемую от замедления. Поэтому, игра ВСЕГДА (или почти всегда) использует функцию, рассчитывающую реальную скорость из номинальной с учётом эффектов заклинаний.

Только что проверил BM:S выдает скорость отряда с учетом бонуса от заклинания ускорения, но без учета дебафа от заклинания замедления. Буду благодарен за подсказку как вызвать упомянутую функцию рассчета истинной скорости стека из ЕРМ кода для заданного стека.
01.04.2020 18:16
Find all posts by this user
XEPOMAHT Offline
Moderators

Posts: 1986
Post: #11

(01.04.2020 18:16)Zur13 Wrote:  Буду благодарен за подсказку как вызвать упомянутую функцию рассчета истинной скорости стека из ЕРМ кода для заданного стека.

В ECX записываешь адрес структуры стека, от которого нужна скорость (саму структуру можно получить с помощью BM:Z) и вызываешь функцию по адресу 4489F0h. Скорость стека запишется в EAX, при неудаче (если что-то не так) там будет минус единица.

Если нужна проверка на обездвиженность, то необходимо проверять значения структура_стека+F4h и структура_стека+F8h.

НО! для получения приоритета хода лучше всего вызывать функцию по адресу 464B30h, тогда проверять на скорости уже не надо - игра это сама сделает за тебя.
(This post was last modified: 01.04.2020 18:37 by XEPOMAHT.)
01.04.2020 18:28
Find all posts by this user
Berserker Offline
Administrators

Posts: 15923
Post: #12

Version 2.9.6
------------------------
[+] Added new ERM command BM:U6/?$, returning stack actual speed, including slow spell effect.
    Note, BM:S always returns speed without slow spell effect.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
01.04.2020 18:47
Find all posts by this user
V_Maiko Offline

Posts: 604
Post: #13

The truth I would like it to be more faithful to the VCMI version, I don't like that it is positioned anywhere else, only as the VCMI version, not like the previous images that showed...
01.04.2020 19:05
Find all posts by this user
Zur13 Offline

Posts: 223
Post: #14

(01.04.2020 18:47)Berserker Wrote:  Version 2.9.6
------------------------
[+] Added new ERM command BM:U6/?$, returning stack actual speed, including slow spell effect.
    Note, BM:S always returns speed without slow spell effect.

Спасибо, пропустил этот момент!

Версия 0.3
- Исправлено вычисление очередности ходов для замедленных стеков




moderator Wrote:На данный момент уже реализован мод очерёдности хода в битве, как это сделано в HD-моде.
Называется BattleQueue »

Тема закрыта
01.04.2020 19:14
Find all posts by this user
« Next Oldest | Next Newest »
Thread Closed 


Forum Jump:

Powered by MyBB Copyright © 2002-2023 MyBB Group