diff options
| author | Shauren <shauren.trinity@gmail.com> | 2015-06-30 11:44:11 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2015-06-30 11:44:11 +0200 |
| commit | efad3a3123aee9347f2aaa3034550cd0b0543e60 (patch) | |
| tree | 433f6b2445262c6c541dcdc177d70ad80a58e72a /src/server/game/Spells/Spell.cpp | |
| parent | 879af88d2180ca0655fda87072308f6eb76e70ca (diff) | |
Core/Spells: Implemented CAST_FLAG_IMMUNITY
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index ff7c6a86ae8..11bf2163aaa 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3754,6 +3754,10 @@ void Spell::SendSpellStart() //TC_LOG_DEBUG("spells", "Sending SMSG_SPELL_START id=%u", m_spellInfo->Id); uint32 castFlags = CAST_FLAG_UNKNOWN_2; + uint32 schoolImmunityMask = m_caster->GetSchoolImmunityMask(); + uint32 mechanicImmunityMask = m_caster->GetMechanicImmunityMask(); + if (schoolImmunityMask || mechanicImmunityMask) + castFlags |= CAST_FLAG_IMMUNITY; if ((IsTriggered() && !m_spellInfo->IsAutoRepeatRangedSpell()) || m_triggeredByAuraSpell) castFlags |= CAST_FLAG_PENDING; @@ -3788,10 +3792,10 @@ void Spell::SendSpellStart() if (castFlags & CAST_FLAG_AMMO) WriteAmmoToPacket(&data); - if (castFlags & CAST_FLAG_UNKNOWN_23) + if (castFlags & CAST_FLAG_IMMUNITY) { - data << uint32(0); - data << uint32(0); + data << uint32(schoolImmunityMask); + data << uint32(mechanicImmunityMask); } m_caster->SendMessageToSet(&data, true); |
