فهرست منبع

Flymode zone in fix

Flymode wasn't enabling cross zone correctly at times, moved it to later on in the zone in process.

Made it so flymode off doesn't trigger on zone in(don't need to know if its off, only on).
Image 4 سال پیش
والد
کامیت
f2727f40a3
2فایلهای تغییر یافته به همراه3 افزوده شده و 3 حذف شده
  1. 2 1
      EQ2/source/WorldServer/WorldDatabase.cpp
  2. 1 2
      EQ2/source/WorldServer/client.cpp

+ 2 - 1
EQ2/source/WorldServer/WorldDatabase.cpp

@@ -1649,7 +1649,8 @@ bool WorldDatabase::loadCharacterProperties(Client* client) {
 		else if (!stricmp(prop_name, CHAR_PROPERTY_FLYMODE))
 		{
 			int8 flymode = atoi(prop_value);
-			ClientPacketFunctions::SendFlyMode(client, flymode, false);
+			if (flymode) // avoid fly mode notification unless enabled
+				ClientPacketFunctions::SendFlyMode(client, flymode, false);
 		}
 		else if (!stricmp(prop_name, CHAR_PROPERTY_INVUL))
 		{

+ 1 - 2
EQ2/source/WorldServer/client.cpp

@@ -937,8 +937,6 @@ bool Client::HandlePacket(EQApplicationPacket *app) {
 						ClientPacketFunctions::SendLoginDenied( this );
 					}
 					zone_auth.RemoveAuth(zar);
-
-					database.loadCharacterProperties(this);
 				}
 				else
 				{
@@ -953,6 +951,7 @@ bool Client::HandlePacket(EQApplicationPacket *app) {
 			LogWrite(OPCODE__DEBUG, 1, "Opcode", "Opcode 0x%X (%i): OP_SysClient", opcode, opcode);
 			LogWrite(CCLIENT__DEBUG, 0, "Client", "Client '%s' (%u) is ready for spawn updates.", GetPlayer()->GetName(), GetPlayer()->GetCharacterID());
 			ready_for_updates = true;
+			database.loadCharacterProperties(this);
 			break;
 		}
 		case OP_MapRequest:{