Index: /trunk/src/game/Unit.cpp
===================================================================
--- /trunk/src/game/Unit.cpp (revision 151)
+++ /trunk/src/game/Unit.cpp (revision 155)
@@ -2803,4 +2803,8 @@
     if (pVictim->GetTypeId()==TYPEID_UNIT && ((Creature*)pVictim)->IsInEvadeMode())
         return SPELL_MISS_EVADE;
+
+    // If Spel has this flag cannot be resisted/immuned/etc
+    if (spell->Attributes & SPELL_ATTR_UNAFFECTED_BY_INVULNERABILITY)
+        return SPELL_MISS_NONE;
 
     // Check for immune (use charges)
Index: /trunk/src/game/SpellMgr.cpp
===================================================================
--- /trunk/src/game/SpellMgr.cpp (revision 149)
+++ /trunk/src/game/SpellMgr.cpp (revision 155)
@@ -2038,11 +2038,11 @@
     SpellEntry *tempSpell;
     if(tempSpell = (SpellEntry*)GetSpellStore()->LookupEntry(8122))
-        tempSpell->AttributesEx |= SPELL_ATTR_BREAKABLE_BY_DAMAGE;
+        tempSpell->Attributes |= SPELL_ATTR_BREAKABLE_BY_DAMAGE;
     if(tempSpell = (SpellEntry*)GetSpellStore()->LookupEntry(8124))
-        tempSpell->AttributesEx |= SPELL_ATTR_BREAKABLE_BY_DAMAGE;
+        tempSpell->Attributes |= SPELL_ATTR_BREAKABLE_BY_DAMAGE;
     if(tempSpell = (SpellEntry*)GetSpellStore()->LookupEntry(10888))
-        tempSpell->AttributesEx |= SPELL_ATTR_BREAKABLE_BY_DAMAGE;
+        tempSpell->Attributes |= SPELL_ATTR_BREAKABLE_BY_DAMAGE;
     if(tempSpell = (SpellEntry*)GetSpellStore()->LookupEntry(10890))
-        tempSpell->AttributesEx |= SPELL_ATTR_BREAKABLE_BY_DAMAGE;
+        tempSpell->Attributes |= SPELL_ATTR_BREAKABLE_BY_DAMAGE;
 }
 
