diff options
| author | Shauren <shauren.trinity@gmail.com> | 2015-07-19 00:31:11 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2015-07-19 00:31:11 +0200 |
| commit | 1273c0b5376c158d3009397071fa2dde5b1f384b (patch) | |
| tree | f1624b6e58db9c56213d7c586b7d2bb3e9c88f14 /src/server/game/Spells/Spell.cpp | |
| parent | f4536f38123c536d90733d047e1072b4dd88e910 (diff) | |
Core/PacketIO: Updated and enabled spell packets
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 5dd7a7cb2fe..8bca6ab88d5 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4240,6 +4240,7 @@ void Spell::SendInterrupted(uint8 result) failurePacket.CasterUnit = m_caster->GetGUID(); failurePacket.CastID = m_cast_count; failurePacket.SpellID = m_spellInfo->Id; + failurePacket.SpelXSpellVisualID = m_SpellVisual; failurePacket.Reason = result; m_caster->SendMessageToSet(failurePacket.Write(), true); @@ -4278,6 +4279,16 @@ void Spell::SendChannelStart(uint32 duration) spellChannelStart.ChannelDuration = duration; m_caster->SendMessageToSet(spellChannelStart.Write(), true); + uint32 schoolImmunityMask = m_caster->GetSchoolImmunityMask(); + uint32 mechanicImmunityMask = m_caster->GetMechanicImmunityMask(); + + if (schoolImmunityMask || mechanicImmunityMask) + { + spellChannelStart.InterruptImmunities = boost::in_place(); + spellChannelStart.InterruptImmunities->SchoolImmunities = schoolImmunityMask; + spellChannelStart.InterruptImmunities->Immunities = mechanicImmunityMask; + } + m_timer = duration; if (!channelTarget.IsEmpty()) m_caster->SetChannelObjectGuid(channelTarget); |
