mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 17:05:44 +01:00
*Check originalCaster for TARGET_TYPE_CHANNEL spells.
--HG-- branch : trunk
This commit is contained in:
@@ -1856,7 +1856,7 @@ void Spell::SetTargetMap(uint32 i, uint32 cur)
|
||||
|
||||
case TARGET_TYPE_CHANNEL:
|
||||
{
|
||||
if(!m_caster->m_currentSpells[CURRENT_CHANNELED_SPELL])
|
||||
if(!m_originalCaster || !m_originalCaster->m_currentSpells[CURRENT_CHANNELED_SPELL])
|
||||
{
|
||||
sLog.outError( "SPELL: no current channeled spell for spell ID %u", m_spellInfo->Id );
|
||||
break;
|
||||
@@ -1865,14 +1865,14 @@ void Spell::SetTargetMap(uint32 i, uint32 cur)
|
||||
switch(cur)
|
||||
{
|
||||
case TARGET_UNIT_CHANNEL:
|
||||
if(Unit* target = m_caster->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_targets.getUnitTarget())
|
||||
if(Unit* target = m_originalCaster->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_targets.getUnitTarget())
|
||||
AddUnitTarget(target, i);
|
||||
else
|
||||
sLog.outError( "SPELL: cannot find channel spell target for spell ID %u", m_spellInfo->Id );
|
||||
break;
|
||||
case TARGET_DEST_CHANNEL:
|
||||
if(m_caster->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_targets.HasDst())
|
||||
m_targets = m_caster->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_targets;
|
||||
if(m_originalCaster->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_targets.HasDst())
|
||||
m_targets = m_originalCaster->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_targets;
|
||||
else
|
||||
sLog.outError( "SPELL: cannot find channel spell destination for spell ID %u", m_spellInfo->Id );
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user