Показать сообщение отдельно
Старый 20.12.2010, 09:27   #1
Den
Ученый
 
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
Den Скоро придёт к известностиDen Скоро придёт к известности
По умолчанию [patch] Savage Combat

http://www.wowhead.com/spell=51682
http://www.wowhead.com/spell=58413
Заброшенный талант, а точнее его вторая часть работы.
Когда на цель налаживаются такие яды как - Mind-numbing Poison, Deadly Poison, Wound Poison, Crippling Poison, а проще говоря когда цель AURA_STATE_DEADLY_POISON , на неё должен налаживатся дебаф.

патч для удаление дебафа когда c цели сняты эффекты ядов:

PHP код:
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index f5cc0c7
..27b7666 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -8609,+8609,30 @@ void SpellAuraHolder::HandleSpellSpecificBoosts(bool apply)
             break;
         }
         case 
SPELLFAMILY_ROGUE:
+        {
+            
// remove debuf savage combat
+            if (GetSpellProto()->SpellFamilyName == SPELLFAMILY_ROGUE && GetSpellProto()->SpellFamilyFlags UI64LIT(0x0008000010014000))
+            {
+                
// search poison
+                bool found false;
+                
Unit::SpellAuraHolderMap const& auras m_target->GetSpellAuraHolderMap();
+                for(
Unit::SpellAuraHolderMap::const_iterator itr auras.begin(); itr!=auras.end(); ++itr)
+                {
+                    if(
itr->second->GetSpellProto()->Dispel == DISPEL_POISON)
+                    {
+                        
found true;
+                        break;
+                    }
+                }
+
+                if(!
found)
+                {
+                    
m_target->RemoveAurasDueToSpell(58684);      // Savage Combat rank 1
+                    m_target->RemoveAurasDueToSpell(58683);      // Savage Combat rank 2
+                }
+            }
             
// Sprint (skip non player casted spells by category)
-            if (GetSpellProto()->SpellFamilyFlags UI64LIT(0x0000000000000040) && GetSpellProto()->Category == 44)
+            else if (
GetSpellProto()->SpellFamilyFlags UI64LIT(0x0000000000000040) && GetSpellProto()->Category == 44)
             {
                 if(!
apply || m_target->HasAura(58039))      // Glyph of Blurred Speed
                     
spellId1 61922;                       // Sprint (waterwalk)
@@ -8620,+8642,@@ void SpellAuraHolder::HandleSpellSpecificBoosts(bool apply)
             else
                 return;
             break;
+        }    
         case 
SPELLFAMILY_HUNTER:
         {
             
// The Beast Within and Bestial Wrath - immunity 
sql для наложение дебафа:

Код:
DELETE FROM `spell_proc_event` WHERE `entry` IN (51682, 58413);
INSERT INTO `spell_proc_event` VALUES
(51682, 0x00,  8, 0x10014000, 0x10014000, 0x10014000, 0x00080000, 0x00080000, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000,  0),
(58413, 0x00,  8, 0x10014000, 0x10014000, 0x10014000, 0x00080000, 0x00080000, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000,  0);

Последний раз редактировалось Den; 20.12.2010 в 09:32.
Den вне форума   Ответить с цитированием