Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Баг-репорты

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

Баг-репорты Описываем проблемы и ошибки работы ядра

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.05.2010, 01:13   #1
zergtmn
MaNGOS Dev
 
Аватар для zergtmn
 
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
zergtmn Обладатель прекрасной аурыzergtmn Обладатель прекрасной ауры
По умолчанию Area-ауры и иммунитет

Ядро 9808.
http://ru.wowhead.com/spell=62532 накладывает на врагов немоту, но не снимается http://ru.wowhead.com/spell=62619, которые дают иммунитет к немоте.

Также http://ru.wowhead.com/spell=62532 действует на боссов, у которых иммунитет к немоте.
zergtmn вне форума   Ответить с цитированием
Старый 05.05.2010, 07:42   #2
Laise
MaNGOS Dev
 
Аватар для Laise
 
Регистрация: 09.03.2010
Сообщений: 33
Сказал(а) спасибо: 27
Поблагодарили 26 раз(а) в 11 сообщениях
Laise На верном пути
По умолчанию

Код:
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index a561bd0..ca8475a 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -813,6 +813,10 @@ void AreaAura::Update(uint32 diff)
                 if(!apply)
                     continue;
 
+                // Check target immune to spell or aura
+                if ((*tIter)->IsImmunedToSpell(GetSpellProto()) || (*tIter)->IsImmunedToSpellEffect(GetSpellProto(), m_effIndex))
+                    continue;
+
                 if(SpellEntry const *actualSpellInfo = sSpellMgr.SelectAuraRankForPlayerLevel(GetSpellProto(), (*tIter)->getLevel()))
                 {
                     int32 actualBasePoints = m_currentBasePoints;
@@ -4472,7 +4476,7 @@ void Aura::HandleModMechanicImmunity(bool apply, bool /*Real*/)
         misc = MECHANIC_IMMUNE_SHIELD;
 
 
-    if(apply && GetSpellProto()->AttributesEx & SPELL_ATTR_EX_DISPEL_AURAS_ON_IMMUNITY)
+    if(apply && (IsAreaAura() || GetSpellProto()->AttributesEx & SPELL_ATTR_EX_DISPEL_AURAS_ON_IMMUNITY))
     {
         uint32 mechanic = 1 << (misc-1);
наверно, может не IsAreaAura() надо а отдельно для 2 спеллов =\
Laise вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
zergtmn (05.05.2010)
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[mod] Non PvP Area Hantet Моды 2 19.03.2011 15:04
[10245] Allow have custom starting area team/personal rating. newsbot CMaNGOS Commits 0 22.07.2010 09:41
[9888] Party restore IsKnowHowFlyIn and add area arg newsbot CMaNGOS Commits 0 13.05.2010 15:20
[9596] Use area trigger zone check for inn leave case. newsbot CMaNGOS Commits 0 17.03.2010 01:22
[9565] Add detection code for partly cave area 3780 newsbot CMaNGOS Commits 0 10.03.2010 16:30


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


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