Ru-MaNGOS

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

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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.06.2011, 11:17   #1
Den
Ученый
 
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
Den Скоро придёт к известностиDen Скоро придёт к известности
По умолчанию Restore itemset 203 & 212 5P bonus affect work

Статы пета не увеличивались.

Код:
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 4740d58..f346e4f 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -5557,6 +5557,8 @@ void Aura::HandleModResistancePercent(bool apply, bool /*Real*/)
 
 void Aura::HandleModBaseResistance(bool apply, bool /*Real*/)
 {
+    Unit* target = GetTarget();
+
     // only players have base stats
     if(GetTarget()->GetTypeId() != TYPEID_PLAYER)
     {
@@ -5570,6 +5572,12 @@ void Aura::HandleModBaseResistance(bool apply, bool /*Real*/)
             if(m_modifier.m_miscvalue & (1<<i))
                 GetTarget()->HandleStatModifier(UnitMods(UNIT_MOD_RESISTANCE_START + i), TOTAL_VALUE, float(m_modifier.m_amount), apply);
     }
+
+    // Demonic Ally, Itemset 203 & 212
+    for (int i = SPELL_SCHOOL_NORMAL; i < MAX_SPELL_SCHOOL; i++)
+        if (m_modifier.m_miscvalue & (1 << i))
+            if (GetId() == 21740 || GetId() == 21921)
+                target->HandleStatModifier(UnitMods(UNIT_MOD_RESISTANCE_START + i), TOTAL_VALUE, float(m_modifier.m_amount), apply);
 }
 
 /********************************/
@@ -5578,6 +5586,8 @@ void Aura::HandleModBaseResistance(bool apply, bool /*Real*/)
 
 void Aura::HandleAuraModStat(bool apply, bool /*Real*/)
 {
+    Unit* target = GetTarget();
+
     if (m_modifier.m_miscvalue < -2 || m_modifier.m_miscvalue > 4)
     {
         sLog.outError("WARNING: Spell %u effect %u have unsupported misc value (%i) for SPELL_AURA_MOD_STAT ",GetId(),GetEffIndex(),m_modifier.m_miscvalue);
@@ -5595,6 +5605,10 @@ void Aura::HandleAuraModStat(bool apply, bool /*Real*/)
                 GetTarget()->ApplyStatBuffMod(Stats(i), float(m_modifier.m_amount), apply);
         }
     }
+
+    // Demonic Ally, Itemset 203 & 212
+    if (GetId() == 21740 || GetId() == 21921)
+        target->HandleStatModifier(UNIT_MOD_STAT_STAMINA, TOTAL_VALUE, float(m_modifier.m_amount), apply);
 }
 
 void Aura::HandleModPercentStat(bool apply, bool /*Real*/)
diff --git a/src/game/Unit.h b/src/game/Unit.h
Den вне форума   Ответить с цитированием
Старый 12.06.2011, 11:16   #2
Den
Ученый
 
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
Den Скоро придёт к известностиDen Скоро придёт к известности
По умолчанию

+ наборы 206, 215.
вместе:

Код:
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 4740d58..5b6f649 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -5570,6 +5570,35 @@ void Aura::HandleModBaseResistance(bool apply, bool /*Real*/)
             if(m_modifier.m_miscvalue & (1<<i))
                 GetTarget()->HandleStatModifier(UnitMods(UNIT_MOD_RESISTANCE_START + i), TOTAL_VALUE, float(m_modifier.m_amount), apply);
     }
+
+    Unit* target = GetTarget();
+
+    // Special case with temporary increase resistances
+    switch (GetSpellProto()->SpellFamilyName)
+    {
+        case SPELLFAMILY_GENERIC:
+        {
+            switch (GetId())
+            {
+                case 21740:                  // Demonic Ally  (itemset 203)
+                case 21921:                  // Demonic Ally  (itemset 212)
+                case 21925:                  // Nature's Ally (itemset 206)
+                case 21927:                  // Nature's Ally (itemset 215)
+                {
+                    for (int i = SPELL_SCHOOL_NORMAL; i < MAX_SPELL_SCHOOL; i++)
+                    {
+                        if (m_modifier.m_miscvalue & (1 << i))
+                            target->HandleStatModifier(UnitMods(UNIT_MOD_RESISTANCE_START + i), TOTAL_VALUE, float(m_modifier.m_amount), apply);
+                    }
+                }
+                default:
+                    break;
+            }
+            break;
+        }
+        default:
+            break;
+    }
 }
 
 /********************************/
@@ -5595,6 +5624,27 @@ void Aura::HandleAuraModStat(bool apply, bool /*Real*/)
                 GetTarget()->ApplyStatBuffMod(Stats(i), float(m_modifier.m_amount), apply);
         }
     }
+
+    Unit* target = GetTarget();
+
+    // Special case with temporary increase stamina
+    switch (GetSpellProto()->SpellFamilyName)
+    {
+        case SPELLFAMILY_GENERIC:
+        {
+            switch (GetId())
+            {
+                case 21740:                  // Demonic Ally  (itemset 203)
+                case 21921:                  // Demonic Ally  (itemset 212)
+                    target->HandleStatModifier(UNIT_MOD_STAT_STAMINA, TOTAL_VALUE, float(m_modifier.m_amount), apply);
+                default:
+                    break;
+            }
+            break;
+        }
+        default:
+            break;
+    }
 }
 
 void Aura::HandleModPercentStat(bool apply, bool /*Real*/)
Den вне форума   Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Restore itemset 637 2p bonus affect work Den Патчи на рассмотрении 1 24.06.2011 04:38
Restore itemset 632 2p bonus affect work Den Отвергнутые патчи 1 06.06.2011 16:59
Restore itemset 664 4p bonus affect work Den Патчи на рассмотрении 0 30.03.2011 21:27
Restore itemset 635 2p bonus affect work Den Патчи на рассмотрении 0 26.03.2011 21:33
Restore itemset 638 2p bonus and itemset 639 2p bonus affect work Den Патчи на рассмотрении 0 20.03.2011 18:20


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


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