Closed ghost closed 10 years ago
Надеюсь пулл реквест компетентен и соотвествует правилам оформления. Если нет, то переоформление будет сделано по возможности в ближайшие дни.
у нас как бы вообще нет правил оформления, чать не "мангостим". в ближайшие дни буду обновлять катаядро (в 3.3.5 много нового) и заодно скоммичу.
Надеюсь, успею пару боссов еще в дело пустить, а именно: Ультраксион - преэвент без WorldState(счетчик убитых нпц) - его не будет. Это надо в SD2 саппорт. Аркурион - без поддержки нпц. С деспавном там проблемы могут возникнуть(этих нпц много). Рагнарос - фейл получился у меня, с битовыми фазовыми масками(не путать с SET_PHASE_MASK #261), такое предлагать даже стыдно. Драфт драфтом, а дело надо править. Почему я стараюсь делать деспавн и resummon нпц: 1) На оффициальном сервере у многих боссов софт резет происходит именно так(хотя с ним проблемы бывают). На Мангосе такое видел разве что у Калесгоса в Санвелле и у Халиона(версии xfurry, у вас в Р2 код другой) 2)Очень удобно сбрасывать, чтобы без залипаний было. А то бывает босс на 3 фазе остановился к примеру и ушел в эвейд и все труба. Софт резет тут лучший выход) Жаль таблица spell_template на Кате не поддерживается(я у Шму спрашивал), таблицей spell_dbc(которая есть только у вас в Р2) пользоваться не умею, поэтому и не лезу. Что в Cmangos, что в MangosS3. Почему не знаю.
Любопытно, пока бранч пулл реквест существует и открыт этот пулл реквест, все push, которые я делаю в свой бранч, появляются в этом пулл реквесте. Надеюсь это никак не повредит.
Ультраксион. Чтобы начать бой, поговорите с Траллом на Вершине Храма Драконьего Покоя(рейд Душа Дракона), он призовет босса. Если босс уйдет в деспавн, поговорите с Траллом еще раз и он вам снова призовет босса(на оффициалке система через gossip сделана, только intro event более красиво сделан)
Аркурион готов. У него собственный триггер есть, который и будет его суммонить, если сам босс уйдет в деспавн. Делаю выборочно, по причине того, что данных у меня не так уж много. Собственно пока все. Всех благ!
вордстейты в R2 делаются через базу. хотя если сложный счетчик - то и правда через СД2. но могу сделать команду в EAI если хотите...
да, пока не забыл. spell_template и spell_dbc практически одно и то же, но у второго функций больше и утилиты (спеллворк и экстрактор) имеются. на кате ни того ни того пока нет, будет время - сделаю.
Там счетчики примерно такие же, как в Залах Отражений и в Хиджале(волны), да и EAI в основном работает с простыми сценариями. Вне боя надо ухитрятся. EAI не сможет считать их. Spell_template удобен тем, что там меньше геморроя. В том плане, что для простых спеллов(вроде SEND_EVENT) он как раз и сгодится.
Undergarun: Of course check if it has, say) Конечно проверяйте, если что найдете, говорите) Спелл ворк удобная программа, чтобы я без нее делал) А вот экстрактор не хочет у меня извлекать, хоть тресни)
spell_template не может быть проще хотя бы потому, что ему надо шаблон ручками писать. а для spell_dbc можно либо в спеллворке нарисовать, либо экстрактнуть любой похожий спелл из дбц в sql, поменять номер и нужные параметры. и все - спелл готов. экстрактору нужен только spell.dbc, не сышал чтобы с ним были проблемы.
В принципе соглашусь. Шаблон ручками писать - не ок, 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) также не поддерживаются.
Спасибо за мерж) Undergarun, what are the results of the test?
https://github.com/TrinityCore/TrinityCore/pull/9772 Структура для spell_dbc 4.3.4. Может быть вам пригодится(если сможете и будет желание сделать server side spell) Кучу спеллов(аттрибуты, эффекты) можно править не трогая ядро. А то Близзы наверняка специально засунули в клиентские дбц некоторые неправильные значения(чтобы пиратским серверам усложнить жизнь, но при этом имели визуальное отображение), а сами в ядре(или у себя в серверных дбц) исправили и всё(у них команда большая, для них это раз плюнуть) По поводу ACTION_T_SET_UNIT_FIELD - всё поддерживается, просто значения и биты другие!
Доброго времени суток! Первый 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 впишется), но не в состоянии деспавна, иначе отправка эвента не сработает.