Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Патчи > Патчи на рассмотрении

Важная информация

Патчи на рассмотрении Рассматриваемые к принятию патчи

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.05.2010, 16:59   #1
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию [patch] Repentance vs Righteous Vengeance

Суть проблемы:
Покаяние (Repentance) не заменяет эффекта Праведной мести (Righteous Vengeance) как должно быть с одного из последних патчей.

Автор: MrLama
Код:
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index 77b2db3..e43cb22 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -1742,6 +1742,10 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
                 if (IsSealSpell(spellInfo_1) && IsSealSpell(spellInfo_2))
                     return true;
 
+                // Repentance removes Righteous Vengeance
+                if (spellInfo_1->Id == 20066 && spellInfo_2->Id == 61840)
+                    return true;
+
                 // Swift Retribution / Improved Devotion Aura (talents) and Paladin Auras
                 if ((spellInfo_1->SpellFamilyFlags2 & 0x00000020) && (spellInfo_2->SpellIconID == 291 || spellInfo_2->SpellIconID == 3028) ||
                     (spellInfo_2->SpellFamilyFlags2 & 0x00000020) && (spellInfo_1->SpellIconID == 291 || spellInfo_1->SpellIconID == 3028))
Insider42 вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Den (06.01.2011)
Старый 26.08.2011, 19:56   #2
Den
Ученый
 
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
Den Скоро придёт к известностиDen Скоро придёт к известности
По умолчанию

Скорее лучше это сделать в Cast(...) или HandleSpellSpecificBoosts(...)

Я сделал через Cast(...) , если что подправим.

Код:
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 722e112..364ea75 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -3153,6 +3153,14 @@ void Spell::cast(bool skipCheck)
             // Avenging Wrath
             else if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000200000000000))
                 AddPrecastSpell(61987);                     // Avenging Wrath Marker
+            // Repentance
+            else if (m_spellInfo->IsFitToFamilyMask(UI64LIT(0x0000000000000004)))
+            {
+                // remove Righteous Vengeance after apply Repentance
+                if (Unit* target = m_targets.getUnitTarget())
+                    if (target->GetAura(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_PALADIN, UI64LIT(0x0000000020000000), 0))
+                        target->RemoveAurasDueToSpell(61840);
+            }
             break;
         }
         case SPELLFAMILY_SHAMAN:
Den вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 01:22. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot