diff options
| -rw-r--r-- | sql/updates/4738_world_spell_proc_event.sql | 2 | ||||
| -rw-r--r-- | src/game/SpellAuras.cpp | 6 | ||||
| -rw-r--r-- | src/game/Unit.cpp | 11 |
3 files changed, 12 insertions, 7 deletions
diff --git a/sql/updates/4738_world_spell_proc_event.sql b/sql/updates/4738_world_spell_proc_event.sql new file mode 100644 index 00000000000..27107a19ef5 --- /dev/null +++ b/sql/updates/4738_world_spell_proc_event.sql @@ -0,0 +1,2 @@ +DELETE FROM `spell_proc_event` WHERE (`entry`='56375'); +INSERT INTO `spell_proc_event` (`entry`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`procFlags`) VALUES ('56375','0','3',0x01000000,0x00010000); diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index cf83353f062..9c202b8307c 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -965,15 +965,9 @@ void Aura::HandleAuraSpecificMods(bool apply) // Todo: This should be moved to similar function in spell::hit else if (m_spellProto->SpellFamilyFlags[0] & 0x01000000) { - // Glyph of Polymorph Unit * caster = GetCaster(); if (!caster) return; - if (caster->HasAura(56375)) - { - m_target->RemoveAurasByType(SPELL_AURA_PERIODIC_DAMAGE); - m_target->RemoveAurasByType(SPELL_AURA_PERIODIC_DAMAGE_PERCENT); - } // Polymorph Sound - Sheep && Penguin if (m_spellProto->SpellIconID == 82 && m_spellProto->SpellVisual[0] == 12978) diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 581adc7664f..f36685b53c6 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -5447,11 +5447,20 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger } switch(dummySpell->Id) { + // Glyph of Polymorph + case 56375: + { + target->RemoveAurasByType(SPELL_AURA_PERIODIC_DAMAGE); + target->RemoveAurasByType(SPELL_AURA_PERIODIC_DAMAGE_PERCENT); + return true; + } // Glyph of Icy Veins case 56374: + { RemoveAurasByType(SPELL_AURA_MOD_HASTE, 0, 0, true, false); RemoveAurasByType(SPELL_AURA_MOD_DECREASE_SPEED); - return true; + return true; + } // Ignite case 11119: case 11120: |
