mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-19 22:49:39 -04:00
Core/Units: Set UNIT_FLAG2_*_AOI dynamically according to the VisibilityDistanceType set on the creature (#28284)
This commit is contained in:
@@ -878,6 +878,25 @@ void WorldObject::SetVisibilityDistanceOverride(VisibilityDistanceType type)
|
||||
if (GetTypeId() == TYPEID_PLAYER)
|
||||
return;
|
||||
|
||||
if (Creature* creature = ToCreature())
|
||||
{
|
||||
creature->RemoveUnitFlag2(UNIT_FLAG2_LARGE_AOI | UNIT_FLAG2_GIGANTIC_AOI | UNIT_FLAG2_INFINITE_AOI);
|
||||
switch (type)
|
||||
{
|
||||
case VisibilityDistanceType::Large:
|
||||
creature->SetUnitFlag2(UNIT_FLAG2_LARGE_AOI);
|
||||
break;
|
||||
case VisibilityDistanceType::Gigantic:
|
||||
creature->SetUnitFlag2(UNIT_FLAG2_GIGANTIC_AOI);
|
||||
break;
|
||||
case VisibilityDistanceType::Infinite:
|
||||
creature->SetUnitFlag2(UNIT_FLAG2_INFINITE_AOI);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
m_visibilityDistanceOverride = VisibilityDistances[AsUnderlyingType(type)];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user