*Update visibility only once per update.

--HG--
branch : trunk
This commit is contained in:
megamage committed 2008-12-20 17:42:40 -06:00
1 parent b7be6cb6da
commit 55ef3bca2a
5 files changed
+34 -15

No files matched your search

+13 -1
View File
@@ -9959,14 +9959,26 @@ void Unit::SetVisibility(UnitVisibility x)
m_Visibility = x;
if(IsInWorld())
SetToNotify();
if(x == VISIBILITY_GROUP_STEALTH)
{
std::list<Unit*> targets;
Trinity::AnyUnitInObjectRangeCheck check(this, World::GetMaxVisibleDistance());
Trinity::UnitListSearcher<Trinity::AnyUnitInObjectRangeCheck> searcher(targets, check);
VisitNearbyWorldObject(World::GetMaxVisibleDistance(), searcher);
for(std::list<Unit*>::iterator iter = targets.begin(); iter != targets.end(); ++iter)
if((*iter)->GetTypeId() == TYPEID_PLAYER)
((Player*)(*iter))->m_clientGUIDs.erase(GetGUID());
}
/*{
Map *m = GetMap();
if(GetTypeId()==TYPEID_PLAYER)
m->PlayerRelocation((Player*)this,GetPositionX(),GetPositionY(),GetPositionZ(),GetOrientation());
else
m->CreatureRelocation((Creature*)this,GetPositionX(),GetPositionY(),GetPositionZ(),GetOrientation());
}
}*/
}
void Unit::UpdateSpeed(UnitMoveType mtype, bool forced)