|
Патчи Если кто-то хочет выложить не свой готовый патч - не забудьте указать автора и источник.
Если кто-то хочет задать вопрос по патчу - велкам. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
14.11.2010, 12:51 | #1 | |
Ученый
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
|
[patch/dev] Earth Shield dispel (рассеивание Щита земли)
Суть проблемы: не реализовано исправление патча 3.2.0a
Цитата:
исправляем сие недоразумение Код:
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index eade9ba..bdbb27d 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -4375,7 +4375,10 @@ void Spell::EffectDispel(SpellEffectIndex eff_idx) if (unitTarget->HasAura(50536)) continue; - dispel_list.push_back(std::pair<SpellAuraHolder* ,uint32>(holder, holder->GetStackAmount())); + if (holder->GetAuraCharges() > 1) + dispel_list.push_back(std::pair<SpellAuraHolder* ,uint32>(holder, holder->GetAuraCharges())); + else + dispel_list.push_back(std::pair<SpellAuraHolder* ,uint32>(holder, holder->GetStackAmount())); } } // Ok if exist some buffs for dispel try dispel it diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 1a6853f..7459723 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -4600,10 +4600,24 @@ void Unit::RemoveAuraHolderFromStack(uint32 spellId, int32 stackAmount, uint64 c { if (!casterGUID || iter->second->GetCasterGUID() == casterGUID) { - if (iter->second->ModStackAmount(-stackAmount)) + if (iter->second->GetAuraCharges() > 1) { - RemoveSpellAuraHolder(iter->second, mode); - break; + while (stackAmount--) + { + if (iter->second->DropAuraCharge()) + { + RemoveSpellAuraHolder(iter->second, mode); + break; + } + } + } + else + { + if (iter->second->ModStackAmount(-stackAmount)) + { + RemoveSpellAuraHolder(iter->second, mode); + break; + } } } }
__________________
Если ты видишь это сообщение то ты просто обязан нажать "Спасибо" Последний раз редактировалось Insider42; 17.11.2010 в 21:20. |
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[10832] Spawn pool at aura 63471 dispel in water. | newsbot | CMaNGOS Commits | 0 | 07.12.2010 04:51 |
[SQL patch] Bone Shield (Костяной щит) | Insider42 | Патчи на рассмотрении | 0 | 26.10.2010 19:12 |
[SQL patch] Earth Shield (Щит земли) | Insider42 | Патчи на рассмотрении | 0 | 26.10.2010 19:11 |
[9977][patch] Improved Water Shield (Улучшенный водный щит) | Insider42 | Принятые патчи | 3 | 26.05.2010 21:15 |
[9845] Fix dispel damage for 30108 and ranks | newsbot | CMaNGOS Commits | 0 | 07.05.2010 16:50 |