From efad3a3123aee9347f2aaa3034550cd0b0543e60 Mon Sep 17 00:00:00 2001 From: Shauren Date: Tue, 30 Jun 2015 11:44:11 +0200 Subject: Core/Spells: Implemented CAST_FLAG_IMMUNITY --- src/server/game/Spells/Spell.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/server/game/Spells/Spell.cpp') 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); -- cgit v1.2.3