aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/GridNotifiersImpl.h4
-rw-r--r--src/game/Object.cpp30
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;