diff options
author | Machiavelli <machiavelli.trinity@gmail.com> | 2011-08-19 12:19:01 +0200 |
---|---|---|
committer | Machiavelli <machiavelli.trinity@gmail.com> | 2011-08-19 12:27:03 +0200 |
commit | 3c9c1a9b69e80a198540e64a6da4d47d62323deb (patch) | |
tree | 491281f84a2cbc37d181b7f7f35653c6d58ccf86 /src/server/game/Spells/Spell.cpp | |
parent | 868c1c53f2358ce0efd2d1947f9f9b6d6373e885 (diff) |
Core/Spells: Rename SPELL_ATTR6_ONLY_CAST_WHILE_POSSESSED to SPELL_ATTR6_CAST_BY_CHARMER and assign m_caster in Spell::Spell instead of m_originalCaster
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rwxr-xr-x | src/server/game/Spells/Spell.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index da16669367b..e86b3851b11 100755 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -496,10 +496,11 @@ m_caster(caster), m_spellValue(new SpellValue(m_spellInfo)) if (Item* pItem = m_caster->ToPlayer()->GetWeaponForAttack(RANGED_ATTACK)) m_spellSchoolMask = SpellSchoolMask(1 << pItem->GetTemplate()->Damage[0].DamageType); + if (info->AttributesEx6 & SPELL_ATTR6_CAST_BY_CHARMER) + const_cast<Unit*>(m_caster) = caster->GetCharmerOrOwner(); + if (originalCasterGUID) m_originalCasterGUID = originalCasterGUID; - else if (info->AttributesEx6 & SPELL_ATTR6_ONLY_CAST_WHILE_POSSESSED) - m_originalCasterGUID = m_caster->GetCharmerOrOwnerGUID(); else m_originalCasterGUID = m_caster->GetGUID(); @@ -4747,7 +4748,7 @@ SpellCastResult Spell::CheckCast(bool strict) } //! Client checks this already - if (m_spellInfo->AttributesEx6 & SPELL_ATTR6_ONLY_CAST_WHILE_POSSESSED && !m_caster->GetCharmerOrOwnerGUID()) + if (m_spellInfo->AttributesEx6 & SPELL_ATTR6_CAST_BY_CHARMER && !m_caster->GetCharmerOrOwnerGUID()) return SPELL_FAILED_DONT_REPORT; Unit* target = m_targets.GetUnitTarget(); |