aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/Spell.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-06-30 11:44:11 +0200
committerShauren <shauren.trinity@gmail.com>2015-06-30 11:44:11 +0200
commitefad3a3123aee9347f2aaa3034550cd0b0543e60 (patch)
tree433f6b2445262c6c541dcdc177d70ad80a58e72a /src/server/game/Spells/Spell.cpp
parent879af88d2180ca0655fda87072308f6eb76e70ca (diff)
Core/Spells: Implemented CAST_FLAG_IMMUNITY
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rw-r--r--src/server/game/Spells/Spell.cpp10
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);