From 0830ea865069039a7ff802ae8e160b84d1be0841 Mon Sep 17 00:00:00 2001 From: Paul Coene Date: Sat, 20 Oct 2018 22:54:38 -0400 Subject: [PATCH] Zone header was getting ignored by RoF2 client. --- zone/client_packet.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index c6fd66894..ceb242890 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -1115,7 +1115,12 @@ void Client::Handle_Connect_OP_ReqNewZone(const EQApplicationPacket *app) memcpy(outapp->pBuffer, &zone->newzone_data, sizeof(NewZone_Struct)); strcpy(nz->char_name, m_pp.name); - FastQueuePacket(&outapp); + // This was using FastQueuePacket and the packet was never getting sent... + // Not sure if this was timing.... but the NewZone was never logged until + // I changed it. + outapp->priority = 6; + QueuePacket(outapp); + safe_delete(outapp); return; } @@ -1741,11 +1746,6 @@ void Client::Handle_Connect_OP_ZoneEntry(const EQApplicationPacket *app) /* Task Packets */ LoadClientTaskState(); - if (ClientVersion() >= EQEmu::versions::ClientVersion::RoF) { - outapp = new EQApplicationPacket(OP_ReqNewZone, 0); - Handle_Connect_OP_ReqNewZone(outapp); - safe_delete(outapp); - } if (m_ClientVersionBit & EQEmu::versions::bit_UFAndLater) { outapp = new EQApplicationPacket(OP_XTargetResponse, 8); @@ -1771,6 +1771,10 @@ void Client::Handle_Connect_OP_ZoneEntry(const EQApplicationPacket *app) QueuePacket(outapp); safe_delete(outapp); + if (ClientVersion() >= EQEmu::versions::ClientVersion::RoF) { + Handle_Connect_OP_ReqNewZone(nullptr); + } + SetAttackTimer(); conn_state = ZoneInfoSent; zoneinpacket_timer.Start();