diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/GridNotifiersImpl.h | 4 | ||||
-rw-r--r-- | src/game/Object.cpp | 30 |
2 files changed, 23 insertions, 11 deletions
diff --git a/src/game/GridNotifiersImpl.h b/src/game/GridNotifiersImpl.h index 12f3706c4e2..d4413b9f777 100644 --- a/src/game/GridNotifiersImpl.h +++ b/src/game/GridNotifiersImpl.h @@ -576,7 +576,7 @@ void Trinity::PlayerSearcher<Check>::Visit(PlayerMapType &m) template<class Builder> void MaNGOS::LocalizedPacketDo<Builder>::operator()( Player* p ) { - uint32 loc_idx = p->GetSession()->GetSessionDbLocaleIndex(); + int32 loc_idx = p->GetSession()->GetSessionDbLocaleIndex(); uint32 cache_idx = loc_idx+1; WorldPacket* data; @@ -601,7 +601,7 @@ void MaNGOS::LocalizedPacketDo<Builder>::operator()( Player* p ) template<class Builder> void MaNGOS::LocalizedPacketListDo<Builder>::operator()( Player* p ) { - uint32 loc_idx = p->GetSession()->GetSessionDbLocaleIndex(); + int32 loc_idx = p->GetSession()->GetSessionDbLocaleIndex(); uint32 cache_idx = loc_idx+1; WorldPacketList* data_list; diff --git a/src/game/Object.cpp b/src/game/Object.cpp index 5c186921524..634702daab1 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -1311,9 +1311,13 @@ bool WorldObject::IsInRange(WorldObject const* obj, float minRange, float maxRan float sizefactor = GetObjectSize() + obj->GetObjectSize(); - float mindist = minRange + sizefactor; - if(distsq < mindist * mindist) - return false; + // check only for real range + if(minRange > 0.0f) + { + float mindist = minRange + sizefactor; + if(distsq < mindist * mindist) + return false; + } float maxdist = maxRange + sizefactor; return distsq < maxdist * maxdist; @@ -1327,9 +1331,13 @@ bool WorldObject::IsInRange2d(float x, float y, float minRange, float maxRange) float sizefactor = GetObjectSize(); - float mindist = minRange + sizefactor; - if(distsq < mindist * mindist) - return false; + // check only for real range + if(minRange > 0.0f) + { + float mindist = minRange + sizefactor; + if(distsq < mindist * mindist) + return false; + } float maxdist = maxRange + sizefactor; return distsq < maxdist * maxdist; @@ -1344,9 +1352,13 @@ bool WorldObject::IsInRange3d(float x, float y, float z, float minRange, float m float sizefactor = GetObjectSize(); - float mindist = minRange + sizefactor; - if(distsq < mindist * mindist) - return false; + // check only for real range + if(minRange > 0.0f) + { + float mindist = minRange + sizefactor; + if(distsq < mindist * mindist) + return false; + } float maxdist = maxRange + sizefactor; return distsq < maxdist * maxdist; |