feat(Core/CreatureAddon): increased visibility for large creatures (#2304)

This commit is contained in:
Stoabrogga
2019-10-04 15:22:03 +02:00
committed by GitHub
parent e0b170f221
commit 9ea9329285
9 changed files with 1128 additions and 22 deletions

View File

@@ -2208,6 +2208,10 @@ bool Creature::LoadCreaturesAddon(bool reload)
SetByteValue(UNIT_FIELD_BYTES_2, 3, 0);
}
// Check if Creature is Large
if (cainfo->isLarge)
SetVisibilityDistanceOverride(true);
if (cainfo->emote != 0)
SetUInt32Value(UNIT_NPC_EMOTESTATE, cainfo->emote);

View File

@@ -325,6 +325,7 @@ struct CreatureAddon
uint32 bytes1;
uint32 bytes2;
uint32 emote;
bool isLarge;
std::vector<uint32> auras;
};

View File

@@ -1522,6 +1522,8 @@ float WorldObject::GetVisibilityRange() const
{
if (isActiveObject() && !ToPlayer())
return MAX_VISIBILITY_DISTANCE;
else if (IsVisibilityOverridden() && GetTypeId() == TYPEID_UNIT)
return MAX_VISIBILITY_DISTANCE;
else if (GetTypeId() == TYPEID_GAMEOBJECT)
{
if (IsInWintergrasp())
@@ -1545,6 +1547,8 @@ float WorldObject::GetSightRange(const WorldObject* target) const
{
if (target->isActiveObject() && !target->ToPlayer())
return MAX_VISIBILITY_DISTANCE;
else if (target->IsVisibilityOverridden() && target->GetTypeId() == TYPEID_UNIT)
return MAX_VISIBILITY_DISTANCE;
else if (target->GetTypeId() == TYPEID_GAMEOBJECT)
{
if (IsInWintergrasp() && target->IsInWintergrasp())