mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-11 11:48:37 +00:00
[Expeditions] Cleanup client dz safe return methods (#1300)
This changes Zone::GetDynamicZone to return a pointer instead of a copy and also lets DynamicZone be forward declared in zone.h
This commit is contained in:
+12
-13
@@ -9901,21 +9901,20 @@ std::unique_ptr<EQApplicationPacket> Client::CreateCompassPacket(
|
||||
return outapp;
|
||||
}
|
||||
|
||||
void Client::GoToDzSafeReturnOrBind(const DynamicZone& dynamic_zone)
|
||||
void Client::GoToDzSafeReturnOrBind(const DynamicZone* dynamic_zone)
|
||||
{
|
||||
auto safereturn = dynamic_zone.GetSafeReturnLocation();
|
||||
LogDynamicZonesDetail(
|
||||
"Sending character [{}] to safereturn zone [{}] or bind", CharacterID(), safereturn.zone_id
|
||||
);
|
||||
if (dynamic_zone)
|
||||
{
|
||||
auto safereturn = dynamic_zone->GetSafeReturnLocation();
|
||||
if (safereturn.zone_id != 0)
|
||||
{
|
||||
LogDynamicZonesDetail("Sending [{}] to safereturn zone [{}]", CharacterID(), safereturn.zone_id);
|
||||
MovePC(safereturn.zone_id, 0, safereturn.x, safereturn.y, safereturn.z, safereturn.heading);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!dynamic_zone.IsValid() || safereturn.zone_id == 0)
|
||||
{
|
||||
GoToBind();
|
||||
}
|
||||
else
|
||||
{
|
||||
MovePC(safereturn.zone_id, 0, safereturn.x, safereturn.y, safereturn.z, safereturn.heading);
|
||||
}
|
||||
GoToBind();
|
||||
}
|
||||
|
||||
std::vector<DynamicZone*> Client::GetDynamicZones(uint32_t zone_id, int zone_version)
|
||||
|
||||
Reference in New Issue
Block a user