Показать сообщение отдельно
Старый 09.03.2011, 20:47   #3
Den
Ученый
 
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
Den Скоро придёт к известностиDen Скоро придёт к известности
По умолчанию

Выходит вот так ?

PHP код:
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 67fe692
..9911b3d 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -9008,+9008,31 @@ void SpellAuraHolder::HandleSpellSpecificBoosts(bool apply)
             break;
         }
         case 
SPELLFAMILY_ROGUE:
+        {
+            
// remove debuf savage combat
+            if (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)
+                {
+                    
uint32 flags1 m_target->HasAuraState(AURA_STATE_DEADLY_POISON);
+                    if (
itr->second->GetSpellProto()->SpellFamilyName == SPELLFAMILY_ROGUE && (flags1 & (0x80000)))
+                    {
+                        
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)
@@ -9019,+9042,@@ void SpellAuraHolder::HandleSpellSpecificBoosts(bool apply)
             else
                 return;
             break;
+        }
         case 
SPELLFAMILY_HUNTER:
         {
             switch (
GetId()) 
Den вне форума   Ответить с цитированием
Пользователь сказал cпасибо: