aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-03-14 15:12:57 -0600
committermegamage <none@none>2009-03-14 15:12:57 -0600
commit39186b5b10df70b7d653db8d32d6e512f0e7f968 (patch)
treeaafb4ff5bebd2f7b2bb091fa8a17a0ec2c896c7e
parent2490a3e25067ba3b7caf12b980324a27a9c55c27 (diff)
*Fix reading spell target code.
--HG-- branch : trunk
-rw-r--r--src/game/Spell.cpp13
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 )