fix(Core/DungeonFinder): misc improvements (#7488)

- Players should be able to enter the same dungeon if just completed it
- Properly define if the proposal is new
- Set teleport point to the nearest graveyard if teleported to dungeon from other instance
- Display completed encounters when joining LFG in progress (excluding random)
- Closes #5914
- Closes #7388
This commit is contained in:
UltraNix
2021-09-01 10:44:29 +02:00
committed by GitHub
parent a69be39fcb
commit 498faf380b
8 changed files with 131 additions and 33 deletions

View File

@@ -666,11 +666,49 @@ public:
Relocate(x, y, z, o);
}
void SetMapId(uint32 mapId)
{
m_mapId = mapId;
}
[[nodiscard]] uint32 GetMapId() const
{
return m_mapId;
}
void GetWorldLocation(uint32& mapId, float& x, float& y) const
{
mapId = m_mapId;
x = m_positionX;
y = m_positionY;
}
void GetWorldLocation(uint32& mapId, float& x, float& y, float& z) const
{
mapId = m_mapId;
x = m_positionX;
y = m_positionY;
z = m_positionZ;
}
void GetWorldLocation(uint32& mapId, float& x, float& y, float& z, float& o) const
{
mapId = m_mapId;
x = m_positionX;
y = m_positionY;
z = m_positionZ;
o = m_orientation;
}
void GetWorldLocation(WorldLocation* location) const
{
if (location)
{
location->Relocate(m_positionX, m_positionY, m_positionZ, m_orientation);
location->SetMapId(m_mapId);
}
}
[[nodiscard]] WorldLocation GetWorldLocation() const
{
return *this;