Current time: 20.04.2024, 04:24 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Новые заклинания
» Вопросы возможности их добавления в игру
Author Message
Bes Offline

Posts: 5422
Post: #31

Quote:ИИ будет пользоваться магией принудительно, можно просто заставлять его колдовать заклинания при выполнении определённых условий.
так он по сути так и делал всегда, ведомый прописанными шаблонами действий. Так что не стоит даже смущаться самой идеи заставлять через ERM Yes
Quote:Переменных героев мало
era3 + массивы вполне себе инструмент для реализации, кмк
06.08.2020 04:39
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 622
Post: #32

Quote:Информацию о выученности по-моему удобнее хранить в переменных героев (w).
Фу нафиг.
Удобнее всего было бы в своей структуре, которую писать в сейв, но для теста сошло и так.

Quote:Вообще, тут не должно быть ничего невозможного: в одном из скриптов вогификации прописана блокировка заклинаний, похожим образом можно осуществить и генерацию. ИИ будет пользоваться магией принудительно, можно просто заставлять его колдовать заклинания при выполнении определённых условий.
Ничего невозможного, просто делать надо, а лень.
Насчет ERM и костылей - колхоз дело добровольное.
(This post was last modified: 06.08.2020 18:10 by feanor.)
06.08.2020 11:47
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #33

если что, перекинул давний пост feanor'а с описанием таблицы заклинаний СЮДА 4
16.08.2020 19:08
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 622
Post: #34

Я просто оставлю это здесь (пока)
кажется, второй самый худший код для героев после реализации драконьей башни, а я неплох в плохом коде!

https://pastebin.com/QJ2Te0tF

Для добавления заклинаний как новых кнопок вообще важны только первые три хука, причем они все проще молотка (в молотке и то деталей больше)

Code:
patcher->WriteHiHook(0x4D95A0,SPLICE_,EXTENDED_, THISCALL_, (void*)GiveSpell_hook);

//Spell book
patcher->WriteLoHook(0x59CD5B,(void*)HasSpellLoHook);
patcher->WriteDword(0x59CDBF,0x2530+0x88*40);

первый позволяет давать новые заклинания, если они, например, заданы в святыне на карте при помощи ERM (как-то так я их и тестил)
третий - отображать их в книге, расширяя просматриваемый массив структур заклинаний, кажется, на сорок (наверное, для примера. 0x88 - sizeof структуры заклинаний)
второй - при отображении их в книге брать их не из артефактов выхода за границы массива заклинаний в структуре героя, а там, куда положил первый

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

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

После этого уже идут более нишевые правки.

Дальше идет расширялка структуры анимаций, потому что нам понадобились дополнительные, и вынос её заполнения в текстовик, потому что нам надо было её редактировать не через три кхм пары рук. Расширялка, кстати, несамосогласованная, 999 - это перебор, потому что там все равно дальше мы упираемся в ограничение на знаковый байт. Насколько я помню, оно довольно легко обходимо, но руки не дошли, и нужды не было.

Еще дальше изменение обработки текстовика заклинаний, с выносом в него индекса анимации и флагов.

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

Совсем после этого - попытки в добавить новые заклинания в ГМ городов (точнее, переписать генератор, заодно избавившись от четырех защит от стихий и двух вызовов элементалей в одной ГМ). Недоделанные.
(This post was last modified: 08.11.2020 03:48 by feanor.)
08.11.2020 03:21
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group