diff options
author | Nevan <none@none> | 2009-08-03 03:22:08 +0200 |
---|---|---|
committer | Nevan <none@none> | 2009-08-03 03:22:08 +0200 |
commit | 6f43e7184beea1e59cf655ecec9ff5ca4aec0e42 (patch) | |
tree | 14c7033357ff04bfff42c0de5201b78ef4a63002 /src | |
parent | d8462e535027f5c1ab194b44ccccfa255bc1ce02 (diff) |
*Fix Polymorph Sheep Sound
*Fix Glyph of the Penguin
*Clean Up Glyph of Polymorph
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/SpellAuras.cpp | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 88c2e3e07bd..a33e3874e47 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -944,13 +944,25 @@ void Aura::ApplyAllModifiers(bool apply, bool Real) void Aura::HandleAuraSpecificMods(bool apply) { - // Glyph of Polymorph ( 56375 - Dot Remover ) - // Polymorph - if (apply && GetCaster()->HasAura(56375) && (m_spellProto->SpellFamilyName == 3 && m_spellProto->SpellFamilyFlags[0] & 0x01000000)) + // Polymorph - Glyphs && Sound + if (apply && m_spellProto->SpellFamilyName == SPELLFAMILY_MAGE && m_spellProto->SpellFamilyFlags[0] & 0x01000000) { - m_target->RemoveAurasByType(SPELL_AURA_PERIODIC_DAMAGE); - m_target->RemoveAurasByType(SPELL_AURA_PERIODIC_DAMAGE_PERCENT); - return; + // Glyph of Polymorph + if (GetCaster()->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) + { + if (GetCaster()->HasAura(56375)) + GetCaster()->CastSpell(m_target,61635,true); + else + GetCaster()->CastSpell(m_target,61634,true); + } + } // Aura Mastery Triggered Spell Handler @@ -3546,6 +3558,10 @@ void AuraEffect::HandleAuraTransform(bool apply, bool Real, bool /*changeAmount* // Dragonmaw Illusion (set mount model also) if(GetId()==42016 && m_target->GetMountID() && !m_target->GetAurasByType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED).empty()) m_target->SetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID,16314); + + // Glyph of the Penguin + if ((GetCaster()->HasAura(56375)) && (GetSpellProto()->SpellFamilyName == SPELLFAMILY_MAGE && GetSpellProto()->SpellIconID == 82)) + m_target->SetDisplayId(26452); } } |