From ec4031be35cca5b1ce180c399716d40eff3825ca Mon Sep 17 00:00:00 2001 From: QAston Date: Sat, 25 Apr 2009 20:36:31 +0200 Subject: [PATCH] *Fix improved shadowform. --HG-- branch : trunk --- sql/updates/2923_world_spell_proc_event.sql | 6 ++++++ src/game/SpellMgr.cpp | 7 +++---- src/game/Unit.cpp | 8 ++++++++ 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 sql/updates/2923_world_spell_proc_event.sql diff --git a/sql/updates/2923_world_spell_proc_event.sql b/sql/updates/2923_world_spell_proc_event.sql new file mode 100644 index 0000000000..4212d703e7 --- /dev/null +++ b/sql/updates/2923_world_spell_proc_event.sql @@ -0,0 +1,6 @@ +DELETE FROM `spell_proc_event` WHERE `entry` IN (47569, 47570); +INSERT INTO `spell_proc_event` VALUES +(47569, 0x00, 6, 0x00004000, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0.000000, 50.000000, 0), +(47570, 0x00, 6, 0x00004000, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0.000000, 100.000000, 0); + + diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 15d6279bcd..233ef09f4f 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -1220,11 +1220,10 @@ bool SpellMgr::IsSpellProcEventCanTriggeredBy(SpellProcEventEntry const* spellPr else // For spells need check school/spell family/family mask { // Item cast can trigger only with spells with spellfamily - if (procExtra & PROC_EX_INTERNAL_ITEM_CAST && procSpell->SpellFamilyName) + if (procExtra & PROC_EX_INTERNAL_ITEM_CAST) { - if (procSpell->SpellFamilyName == spellProcEvent->spellFamilyName) - return true; - return false; + if (!spellProcEvent->SpellFamilyName) + return false; } // Check (if set) for school if(spellProcEvent->schoolMask && (spellProcEvent->schoolMask & procSpell->SchoolMask) == 0) diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 1ebbd606c2..c0cc426676 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -5512,6 +5512,14 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger triggered_spell_id = 56160; break; } + // Improved Shadowform + case 47570: + case 47569: + { + RemoveAurasByTypeWithDispel(SPELL_AURA_MOD_ROOT); + RemoveAurasByTypeWithDispel(SPELL_AURA_MOD_DECREASE_SPEED); + break; + } // Psychic Horror case 47571: {