From 2afc0b8e9283f9c0c5a11997732b757b03c6a283 Mon Sep 17 00:00:00 2001 From: Emagi Date: Fri, 27 Dec 2024 09:04:18 -0500 Subject: [PATCH] Allow players to re-enter the original duplicate zone with the transporter selection dialog --- source/WorldServer/client.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/source/WorldServer/client.cpp b/source/WorldServer/client.cpp index 7d5431e..78bb85d 100644 --- a/source/WorldServer/client.cpp +++ b/source/WorldServer/client.cpp @@ -4120,10 +4120,8 @@ void Client::SetCurrentZone(int32 id, int32 duplicate_zone_id) { duplicate_zoning_id = 0; bool foundDupeZone = false; ZoneChangeDetails zone_details; - if(duplicate_zone_id) { - if(foundDupeZone = zone_list.GetDuplicateZoneDetails(&zone_details, "", id, duplicate_zone_id)) - duplicate_zoning_id = duplicate_zone_id; - } + if(foundDupeZone = zone_list.GetDuplicateZoneDetails(&zone_details, "", id, duplicate_zone_id)) + duplicate_zoning_id = duplicate_zone_id; if (foundDupeZone || zone_list.GetZone(&zone_details, id, "", true, false, true, false)) { SetCurrentZone((ZoneServer*)zone_details.zonePtr); @@ -10132,7 +10130,8 @@ void Client::ProcessTeleportLocation(EQApplicationPacket* app) { ZoneChangeDetails zone_details; bool foundDupeZone = false; duplicate_zoning_id = 0; - if(duplicateId > 0) { + int32 additional_zones = zone_list.GetHighestDuplicateID("", destination->destination_zone_id, false); + if(additional_zones) { if(foundDupeZone = zone_list.GetDuplicateZoneDetails(&zone_details, "", destination->destination_zone_id, duplicateId)) duplicate_zoning_id = duplicateId; }