浏览代码

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:{