PDA

Просмотр полной версии : Fel Synergy / Узы Скверны


virusav
18.08.2010, 21:20
У чернокнижника есть талант Узы Скверны 2/2 (спеллы 47230,47231 с эффектом SPELL_AURA_DUMMY), после прокачки которого и нанесении урона спеллами должен срабатывать спелл 54181.
Раньше этот талант работал нормально (3.3.3а).
Когда на 3.3.5а перестал работать, не знаю.

Обработка таланта находится в
SpellAuraProcResult Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAura, SpellEntry const * procSpell, uint32 procFlag, uint32 procEx, uint32 cooldown)
но нет захода в HandleDummyAuraProc при нанесении урона спеллами.

Пробовал ради интереса занести данные в таблицу `spell_proc_event` для спеллов таланта, но получил ошибку в логе, что данные совпадают с данными в дбц.

1. Откуда идет заход в HandleDummyAuraProc?
2. Или тут нужна другая реализация?

Laise
26.08.2010, 20:32
исправлено в 10409

virusav
26.08.2010, 21:01
Почти.:)
Если судить по коммиту, то в файле 10409_02_mangos_spell_proc_event.sql не хватает:
INSERT INTO `spell_proc_event` VALUES (47230, 0x7F, 5, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);

В логе ошибки при загрузке:
2010-08-26 22:04:10 Spell 47230 already added (talent?) and non need in `spell_chain`
2010-08-26 22:04:10 Spell 47231 already added (talent?) and non need in `spell_chain`

-----------

Экспериментальным путем вычислил, что после 10409 надо накатить:
INSERT INTO `spell_proc_event` VALUES (47230, 0x7F, 5, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
DELETE FROM `spell_chain` WHERE `spell_id` IN (47230,47231);

Цепочку талантов ядро берет из Talent.dbc, поэтому в базе записи лишние.

Забыл дописать: надо еще из mangos.sql удалить записи:
/*Fel Synergy*/
(47230,0,47230,1,0),
(47231,47230,47230,2,0),