Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Патчи > Отвергнутые патчи

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

Отвергнутые патчи Патчи, отвергнутые от приёма в GIT

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.09.2010, 16:57   #1
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию [patch] implement AURA_310

В процессе ковыряния петов понадобилась эта аура. Сейчас она не делает ничего вообще.
Патч простейший.
Код:
diff --git a/src/game/SpellAuraDefines.h b/src/game/SpellAuraDefines.h
index a3c2510..717b780 100644
--- a/src/game/SpellAuraDefines.h
+++ b/src/game/SpellAuraDefines.h
@@ -345,7 +345,7 @@ enum AuraType
     SPELL_AURA_307 = 307,
     SPELL_AURA_308 = 308,
     SPELL_AURA_309 = 309,
-    SPELL_AURA_310 = 310,
+    SPELL_AURA_MOD_PET_AOE_DAMAGE_AVOIDANCE = 310,
     SPELL_AURA_311 = 311,
     SPELL_AURA_312 = 312,
     SPELL_AURA_313 = 313,
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 21ea859..3be0f25 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -360,7 +360,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
     &Aura::HandleNULL,                                      //307 absorb healing?
     &Aura::HandleNULL,                                      //308 new aura for hunter traps
     &Aura::HandleNULL,                                      //309 absorb healing?
-    &Aura::HandleNULL,                                      //310 pet avoidance passive?
+    &Aura::HandleNoImmediateEffect,                         //310 SPELL_AURA_MOD_PET_AOE_DAMAGE_AVOIDANCE    implemented in Unit::SpellDamageBonusTaken
     &Aura::HandleNULL,                                      //311 0 spells in 3.3
     &Aura::HandleNULL,                                      //312 0 spells in 3.3
     &Aura::HandleNULL,                                      //313 0 spells in 3.3
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 2b5c9e6..dbdca31 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -6667,6 +6667,13 @@ uint32 Unit::SpellDamageBonusTaken(Unit *pCaster, SpellEntry const *spellProto,
         AuraList const& avoidAuras = GetAurasByType(SPELL_AURA_MOD_AOE_DAMAGE_AVOIDANCE);
         for(AuraList::const_iterator itr = avoidAuras.begin(); itr != avoidAuras.end(); ++itr)
             TakenTotalMod *= ((*itr)->GetModifier()->m_amount + 100.0f) / 100.0f;
+
+        if (GetTypeId() == TYPEID_UNIT)
+        {
+            AuraList const& avoidPetAuras = GetAurasByType(SPELL_AURA_MOD_PET_AOE_DAMAGE_AVOIDANCE);
+            for(AuraList::const_iterator itr2 = avoidPetAuras.begin(); itr2 != avoidPetAuras.end(); ++itr2)
+                TakenTotalMod *= ((*itr2)->GetModifier()->m_amount + 100.0f) / 100.0f;
+        }
     }
 
     // Taken fixed damage bonus auras
Тестирование было минимальное - работает.

Последний раз редактировалось rsa; 11.09.2010 в 22:57. Причина: Наставлен на путь истинный
rsa вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Vladimir (11.09.2010)
Старый 11.09.2010, 22:24   #2
Vladimir
MaNGOS Dev
 
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
Vladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небес
По умолчанию

Вообще-то SPELL_AURA_MOD_AOE_AVOIDANCE действительно шанс
и не используется в 3.x, но в 2.4.3 спелл Enveloping Shadows
имел эту ауру (160) и описание "Increases your chance to avoid area of effect attacks by an additional $s1%."

Теперь этот спелл имеет SPELL_AURA_MOD_AOE_DAMAGE_AVOIDANCE (229) "Reduces the damage taken by area of effect attacks by $s1%."

Я к чему веду. Спеллы с аурой 310 имеет описание "Reduces the damage your * takes from creature area of effect attacks by an additional $s1%."

Поэтому как и ауры SPELL_AURA_MOD_AOE_DAMAGE_AVOIDANCE (229) имеют отрицательное значение.
__________________
Так как устал объяснять знайте ICQ не пользуюсь
Vladimir вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
rsa (11.09.2010)
Старый 11.09.2010, 22:44   #3
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Посыпаю тыкву пеплом. У меня описание 160й ауры как раз и было "Reduces the damage taken by area of effect attacks by $s1%.", а до 229й я не добрался. В принципе можно и через шанс делать, тоже процент верный получается (хотя и неверно по идее, о чем я писал с самого начала).
Сейчас протестирую и выложу уже верный и в принципе вариант.

Протестировал. Работает. Патч в 1 посту обновлен. Для шеррипика можно использовать
http://github.com/rsa/mangos/commit/...d202a9aa19ee30
оно же диффом
http://github.com/rsa/mangos/commit/...9aa19ee30.diff

Последний раз редактировалось rsa; 11.09.2010 в 23:19.
rsa вне форума   Ответить с цитированием
Старый 11.09.2010, 22:52   #4
Vladimir
MaNGOS Dev
 
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
Vladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небес
По умолчанию

я уже написал патч

[added после обновления патча в предыдущем посте]
Там еще Melee вариант есть - у рогов есть AoE спелы

и у меня это уже есть в патче.

[added2]
В [10472] добавлена мой патч. В любом случае спасибо что обратили внимание на ауру.
__________________
Так как устал объяснять знайте ICQ не пользуюсь

Последний раз редактировалось Vladimir; 11.09.2010 в 23:21.
Vladimir вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
rsa (11.09.2010)
Старый 11.09.2010, 23:20   #5
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

У меня теперь тоже
rsa вне форума   Ответить с цитированием
Ответ


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

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



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


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