mangosR2 / scriptdev2

MangosR2 universal Script Library, compartible with all mangosR2 cores (v2, 3, 4 and possible later).
http://mangosr2.2x2forum.com/
GNU General Public License v2.0
82 stars 47 forks source link

mt00001_mangos_Baleroc_Firelands_AI.sql #232

Closed ghost closed 10 years ago

ghost commented 10 years ago

Доброго времени суток! Первый EventAI коммит Катаклизма) Босс Бейлрок, пришлось потратить время, чтобы отшлифовать(были траблы при заливке, как говорится 7 раз отмерь, один отрежь) На очереди Ультраксион. Надо подшлифовать его. Внимание: 99255 требуется core support, dummy aura 99256 не вызывает прок (99257, 99402, 99403, 99404(в героике). Плюс там еще скрипт эффект(ну это для героического режима спелла) Также ауры указанные в скобках вызывают краш ядра. 99515 - требует core support, лента неработает, не связывает двух игроков(тестил в 5 окон) 99350 - не триггерит 99351. Пришлось хак прилепить. 99352 и 99405 - также не триггерят 99353, плюс сам спелл 99353 имеет думми эффект.

Id: 99353 Name: Крушащая атака Description: Наносит урон от темной магии, равный 90% от максимального запаса здоровья цели (всегда наносит по меньшей мере 250000 ед. урона) и снижает эффективность осуществляемого целью лечения на 90% на 4 seconds. Этого урона невозможно избежать обычными способами. ToolTip: Эффективность осуществляемого лечения снижена на 90%. Должен по идее снимать 90 процентов хп, но не менее 250000. Core support нужен) db_script тут не поможет к сожалению, так бы починил. Собственно все. Резет боя происходит следующим делом: Бейлрок уходит в точку спавна, кастует на себя 8677(SEND_EVENT 1428) и уходит в деспавн. Разумеется схитрить и сагрить его не выйдет(unit flag скриптом присвоен) Для db_script важно чтобы объект был жив(можно и мертв, но для этого только db_script_on_creature_death впишется), но не в состоянии деспавна, иначе отправка эвента не сработает.

ghost commented 10 years ago

Надеюсь пулл реквест компетентен и соотвествует правилам оформления. Если нет, то переоформление будет сделано по возможности в ближайшие дни.

rsa commented 10 years ago

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

ghost commented 10 years ago

Надеюсь, успею пару боссов еще в дело пустить, а именно: Ультраксион - преэвент без WorldState(счетчик убитых нпц) - его не будет. Это надо в SD2 саппорт. Аркурион - без поддержки нпц. С деспавном там проблемы могут возникнуть(этих нпц много). Рагнарос - фейл получился у меня, с битовыми фазовыми масками(не путать с SET_PHASE_MASK #261), такое предлагать даже стыдно. Драфт драфтом, а дело надо править. Почему я стараюсь делать деспавн и resummon нпц: 1) На оффициальном сервере у многих боссов софт резет происходит именно так(хотя с ним проблемы бывают). На Мангосе такое видел разве что у Калесгоса в Санвелле и у Халиона(версии xfurry, у вас в Р2 код другой) 2)Очень удобно сбрасывать, чтобы без залипаний было. А то бывает босс на 3 фазе остановился к примеру и ушел в эвейд и все труба. Софт резет тут лучший выход) Жаль таблица spell_template на Кате не поддерживается(я у Шму спрашивал), таблицей spell_dbc(которая есть только у вас в Р2) пользоваться не умею, поэтому и не лезу. Что в Cmangos, что в MangosS3. Почему не знаю.

ghost commented 10 years ago

Любопытно, пока бранч пулл реквест существует и открыт этот пулл реквест, все push, которые я делаю в свой бранч, появляются в этом пулл реквесте. Надеюсь это никак не повредит.

Ультраксион. Чтобы начать бой, поговорите с Траллом на Вершине Храма Драконьего Покоя(рейд Душа Дракона), он призовет босса. Если босс уйдет в деспавн, поговорите с Траллом еще раз и он вам снова призовет босса(на оффициалке система через gossip сделана, только intro event более красиво сделан)

ghost commented 10 years ago

Аркурион готов. У него собственный триггер есть, который и будет его суммонить, если сам босс уйдет в деспавн. Делаю выборочно, по причине того, что данных у меня не так уж много. Собственно пока все. Всех благ!

rsa commented 10 years ago

вордстейты в R2 делаются через базу. хотя если сложный счетчик - то и правда через СД2. но могу сделать команду в EAI если хотите...

rsa commented 10 years ago

да, пока не забыл. spell_template и spell_dbc практически одно и то же, но у второго функций больше и утилиты (спеллворк и экстрактор) имеются. на кате ни того ни того пока нет, будет время - сделаю.

ghost commented 10 years ago

Там счетчики примерно такие же, как в Залах Отражений и в Хиджале(волны), да и EAI в основном работает с простыми сценариями. Вне боя надо ухитрятся. EAI не сможет считать их. Spell_template удобен тем, что там меньше геморроя. В том плане, что для простых спеллов(вроде SEND_EVENT) он как раз и сгодится.

Undergarun: Of course check if it has, say) Конечно проверяйте, если что найдете, говорите) Спелл ворк удобная программа, чтобы я без нее делал) А вот экстрактор не хочет у меня извлекать, хоть тресни)

rsa commented 10 years ago

spell_template не может быть проще хотя бы потому, что ему надо шаблон ручками писать. а для spell_dbc можно либо в спеллворке нарисовать, либо экстрактнуть любой похожий спелл из дбц в sql, поменять номер и нужные параметры. и все - спелл готов. экстрактору нужен только spell.dbc, не сышал чтобы с ним были проблемы.

ghost commented 10 years ago

В принципе соглашусь. Шаблон ручками писать - не ок, spell_dbc имеет больше возможностей(на 3.3.5 проверял пару созданных спеллов, был доволен как слон!) По поводу экстрактора - значит я что-то не так делаю. spell_template для самых простеньких спеллов очень даже сойдет. Для того же 61 эффекта(SEND_EVENT) Кстати пауки, спускающиеся на паутине(стартовый эвент ЦЛК, эвент с пауками перед Синдрагосой) - это же вехиклы, если я не ошибаюсь. Беттилак в Огненных Просторах(брр, мерзкая паучиха), тоже эти вехиклы юзает. P.S: Засада, https://github.com/mangosR2/mangos3/blob/master/src/game/CreatureEventAIMgr.cpp#L635 ACTION_T_SET_UNIT_FIELD к моему сожалению тоже не поддерживается на Катаклизме(что на MangosS3, что на Cmangos-Cata) и https://github.com/mangosR2/mangos3/blob/master/src/game/ScriptMgr.cpp#L287(dbscripts) также не поддерживаются.

ghost commented 10 years ago

Спасибо за мерж) Undergarun, what are the results of the test?

ghost commented 10 years ago

https://github.com/TrinityCore/TrinityCore/pull/9772 Структура для spell_dbc 4.3.4. Может быть вам пригодится(если сможете и будет желание сделать server side spell) Кучу спеллов(аттрибуты, эффекты) можно править не трогая ядро. А то Близзы наверняка специально засунули в клиентские дбц некоторые неправильные значения(чтобы пиратским серверам усложнить жизнь, но при этом имели визуальное отображение), а сами в ядре(или у себя в серверных дбц) исправили и всё(у них команда большая, для них это раз плюнуть) По поводу ACTION_T_SET_UNIT_FIELD - всё поддерживается, просто значения и биты другие!