diff options
author | megamage <none@none> | 2009-03-14 15:12:57 -0600 |
---|---|---|
committer | megamage <none@none> | 2009-03-14 15:12:57 -0600 |
commit | 39186b5b10df70b7d653db8d32d6e512f0e7f968 (patch) | |
tree | aafb4ff5bebd2f7b2bb091fa8a17a0ec2c896c7e | |
parent | 2490a3e25067ba3b7caf12b980324a27a9c55c27 (diff) |
*Fix reading spell target code.
--HG--
branch : trunk
-rw-r--r-- | src/game/Spell.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 294d016e33d..3d1011eb306 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -177,6 +177,8 @@ bool SpellCastTargets::read ( WorldPacket * data, Unit *caster ) if(data->rpos()+4 > data->size()) return false; + //data->hexlike(); + *data >> m_targetMask; sLog.outDebug("Spell read, target mask = %u", m_targetMask); @@ -200,7 +202,7 @@ bool SpellCastTargets::read ( WorldPacket * data, Unit *caster ) if(!data->readPackGUID(m_CorpseTargetGUID)) return false; - /*if( m_targetMask & TARGET_FLAG_SOURCE_LOCATION ) + if( m_targetMask & TARGET_FLAG_SOURCE_LOCATION ) { if(data->rpos()+4+4+4 > data->size()) return false; @@ -208,9 +210,11 @@ bool SpellCastTargets::read ( WorldPacket * data, Unit *caster ) *data >> m_srcX >> m_srcY >> m_srcZ; if(!Trinity::IsValidMapCoord(m_srcX, m_srcY, m_srcZ)) return false; - }*/ - if( m_targetMask & (TARGET_FLAG_SOURCE_LOCATION | TARGET_FLAG_DEST_LOCATION) ) + m_hasDest = true; + } + + if( m_targetMask & TARGET_FLAG_DEST_LOCATION ) { if(data->rpos()+1+4+4+4 > data->size()) return false; @@ -219,9 +223,10 @@ bool SpellCastTargets::read ( WorldPacket * data, Unit *caster ) return false; *data >> m_destX >> m_destY >> m_destZ; - m_hasDest = true; if(!Trinity::IsValidMapCoord(m_destX, m_destY, m_destZ)) return false; + + m_hasDest = true; } if( m_targetMask & TARGET_FLAG_STRING ) |