Selaa lähdekoodia

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 vuotta sitten
vanhempi
commit
f2727f40a3
2 muutettua tiedostoa jossa 3 lisäystä ja 3 poistoa
  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:{