|
18.09.2012, 10:03 | #1 |
MaNGOS Dev
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 73 раз(а) в 59 сообщениях
|
Event stacking
1. Target mob
2. .cast self 64718 3. wait until there are over 9k events 4. .unaura all 5. events do not clean up Последний раз редактировалось Amaru; 18.09.2012 в 10:05. |
18.09.2012, 14:15 | #2 |
Гость
Сообщений: n/a
|
(I don't know if the following has something to do with this)
but spell 64723 is also casted many many times at the argent tournament. |
18.09.2012, 14:19 | #3 |
MaNGOS Dev
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 73 раз(а) в 59 сообщениях
|
64723 is triggered by 64718
the source of problem seems to be channeling spells vs. event system 1day uptime = over 9k events (literally) = insane world update diff (lags) |
03.10.2012, 04:49 | #4 |
MaNGOS Dev
Регистрация: 17.11.2011
Сообщений: 99
Сказал(а) спасибо: 35
Поблагодарили 80 раз(а) в 26 сообщениях
|
thank you for the report. Sorry for the long delay in giving an answer, but this is a part of code i have never looked at. So i cannot say much, and need serious time to look into this
|
23.11.2012, 04:22 | #5 |
MaNGOS Dev
Регистрация: 17.11.2011
Сообщений: 99
Сказал(а) спасибо: 35
Поблагодарили 80 раз(а) в 26 сообщениях
|
some observations:
the events are stacked for the triggered spell (64723) The event-handling is this way: it is expected that the events are removed when the spells are finished casting. as the triggered spells are channeled, and have infinity duration, they never finish casting. (so far so reasonable) the problem is that the triggered channeled spells are cast triggered, and hence they are not "really" cast like channeled spells, and more important cannot be interrupted. hence - even as there is only ever 1 triggered aura the triggered channeled spells stack up possible that we should set triggered channeled spells to be set to be "finished" when they are cast, and then their events would get removed properly. Edit This will remove the triggered channeled spells instantly, however the channeled aura will not be removed, so it _might_ be possible that there are no serious side-effects! Код:
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 7bfa06c..75e15d9 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -3594,7 +3594,8 @@ void Spell::handle_immediate() // start channeling if applicable (after _handle_immediate_phase for get pe if (IsChanneledSpell(m_spellInfo) && m_duration) { - m_spellState = SPELL_STATE_CASTING; + if (!m_IsTriggeredSpell) + m_spellState = SPELL_STATE_CASTING; SendChannelStart(m_duration); } Последний раз редактировалось schmoozerd; 23.11.2012 в 04:34. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[11450] Aloow stacking some warlock DoTs | newsbot | CMaNGOS Commits | 0 | 09.05.2011 02:02 |
[10973] Implement game event mail sends at event start/stop. | newsbot | CMaNGOS Commits | 2 | 06.01.2011 13:32 |
[10182] Allow stacking some tracking bufs, and prevent stacking some other. | newsbot | CMaNGOS Commits | 0 | 12.07.2010 18:11 |