Only draw dynamic zone compasses in non-instances

This fixes compasses being drawn in instances that use the same zone as compass

Also adds RemoveCompass method to quest api
This commit is contained in:
hg
2020-05-26 20:50:15 -04:00
parent 3f4ea66ea1
commit 33f2336244
3 changed files with 15 additions and 8 deletions
+2 -2
View File
@@ -9839,7 +9839,7 @@ void Client::SendDzCompassUpdate()
if (expedition)
{
auto compass = expedition->GetDynamicZone().GetCompassLocation();
if (zone && zone->GetZoneID() == compass.zone_id)
if (zone && zone->GetZoneID() == compass.zone_id && zone->GetInstanceID() == 0)
{
DynamicZoneCompassEntry_Struct entry;
entry.dz_zone_id = static_cast<uint16_t>(expedition->GetDynamicZone().GetZoneID());
@@ -9856,7 +9856,7 @@ void Client::SendDzCompassUpdate()
// todo: shared tasks, missions, and quests with an associated dz
// compass set via MarkSingleCompassLocation()
if (zone && zone->GetZoneID() == m_quest_compass.zone_id)
if (zone && zone->GetZoneID() == m_quest_compass.zone_id && zone->GetInstanceID() == 0)
{
DynamicZoneCompassEntry_Struct entry;
entry.dz_zone_id = 0;