fix(Core/Object): Add infinite gob check (#9667)
* cherry-pick commit (https://github.com/TrinityCore/TrinityCore/commit/b0db728c49f0b70d2c4f18270c389e4445161b7f) Co-authored-by: Kittnz <5845231+kittnz@users.noreply.github.com>
This commit is contained in:
@@ -400,6 +400,12 @@ bool GameObject::Create(ObjectGuid::LowType guidlow, uint32 name_id, Map* map, u
|
|||||||
SetVisibilityDistanceOverride(VisibilityDistanceType::Large);
|
SetVisibilityDistanceOverride(VisibilityDistanceType::Large);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check if GameObject is Infinite
|
||||||
|
if (goinfo->IsInfiniteGameObject())
|
||||||
|
{
|
||||||
|
SetVisibilityDistanceOverride(VisibilityDistanceType::Infinite);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -624,6 +624,25 @@ struct GameObjectTemplate
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[[nodiscard]] bool IsInfiniteGameObject() const
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case GAMEOBJECT_TYPE_DOOR:
|
||||||
|
return true;
|
||||||
|
case GAMEOBJECT_TYPE_FLAGSTAND:
|
||||||
|
return true;
|
||||||
|
case GAMEOBJECT_TYPE_FLAGDROP:
|
||||||
|
return true;
|
||||||
|
case GAMEOBJECT_TYPE_DUNGEON_DIFFICULTY:
|
||||||
|
return true;
|
||||||
|
case GAMEOBJECT_TYPE_TRAPDOOR:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[[nodiscard]] bool IsGameObjectForQuests() const
|
[[nodiscard]] bool IsGameObjectForQuests() const
|
||||||
{
|
{
|
||||||
return IsForQuests;
|
return IsForQuests;
|
||||||
|
|||||||
Reference in New Issue
Block a user