diff --git a/src/game/CharacterHandler.cpp b/src/game/CharacterHandler.cpp index 2b72a06a7..616907f01 100644 --- a/src/game/CharacterHandler.cpp +++ b/src/game/CharacterHandler.cpp @@ -622,11 +622,6 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder *holder) DEBUG_LOG( "WORLD: Sent motd (SMSG_MOTD)" ); } - data.Initialize(SMSG_LEARNED_DANCE_MOVES, 4+4); - data << uint32(0); - data << uint32(0); - SendPacket(&data); - //QueryResult *result = CharacterDatabase.PQuery("SELECT guildid,rank FROM guild_member WHERE guid = '%u'",pCurrChar->GetGUIDLow()); QueryResult *resultGuild = holder->GetResult(PLAYER_LOGIN_QUERY_LOADGUILD); @@ -674,6 +669,11 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder *holder) } } + data.Initialize(SMSG_LEARNED_DANCE_MOVES, 4+4); + data << uint32(0); + data << uint32(0); + SendPacket(&data); + if(!pCurrChar->isAlive()) pCurrChar->SendCorpseReclaimDelay(true); diff --git a/src/game/Opcodes.cpp b/src/game/Opcodes.cpp index fc9b9963a..920effc51 100644 --- a/src/game/Opcodes.cpp +++ b/src/game/Opcodes.cpp @@ -549,7 +549,7 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = /*0x208*/ { "SMSG_GMTICKET_UPDATETEXT", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x209*/ { "SMSG_ACCOUNT_DATA_TIMES", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x20A*/ { "CMSG_REQUEST_ACCOUNT_DATA", STATUS_AUTHED, &WorldSession::HandleRequestAccountData }, - /*0x20B*/ { "CMSG_UPDATE_ACCOUNT_DATA", STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT, &WorldSession::HandleUpdateAccountData}, + /*0x20B*/ { "CMSG_UPDATE_ACCOUNT_DATA", STATUS_AUTHED, &WorldSession::HandleUpdateAccountData}, /*0x20C*/ { "SMSG_UPDATE_ACCOUNT_DATA", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x20D*/ { "SMSG_CLEAR_FAR_SIGHT_IMMEDIATE", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x20E*/ { "SMSG_POWERGAINLOG_OBSOLETE", STATUS_NEVER, &WorldSession::Handle_ServerSide }, diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 5719feb58..b7726d078 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -18150,6 +18150,8 @@ void Player::SendInitialPacketsBeforeAddToMap() { GetSocial()->SendSocialList(); + // guild bank list wtf? + // Homebind WorldPacket data(SMSG_BINDPOINTUPDATE, 5*4); data << m_homebindX << m_homebindY << m_homebindZ; @@ -18158,9 +18160,14 @@ void Player::SendInitialPacketsBeforeAddToMap() GetSession()->SendPacket(&data); // SMSG_SET_PROFICIENCY + // SMSG_SET_PCT_SPELL_MODIFIER + // SMSG_SET_FLAT_SPELL_MODIFIER // SMSG_UPDATE_AURA_DURATION SendTalentsInfoData(false); + + // SMSG_INSTANCE_DIFFICULTY + SendInitialSpells(); data.Initialize(SMSG_SEND_UNLEARN_SPELLS, 4); @@ -18169,6 +18176,7 @@ void Player::SendInitialPacketsBeforeAddToMap() SendInitialActionButtons(); m_reputationMgr.SendInitialReputations(); + // SMSG_INIT_WORLD_STATES m_achievementMgr.SendAllAchievementData(); SendEquipmentSetList(); @@ -18179,6 +18187,11 @@ void Player::SendInitialPacketsBeforeAddToMap() data << uint32(0); // added in 3.1.2 GetSession()->SendPacket( &data ); + // SMSG_TALENTS_INFO x 2 for pet (unspent points and talents in separate packets...) + // SMSG_PET_GUIDS + // SMSG_UPDATE_WORLD_STATE + // SMSG_POWER_UPDATE + // set fly flag if in fly form or taxi flight to prevent visually drop at ground in showup moment if(HasAuraType(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED) || HasAuraType(SPELL_AURA_FLY) || isInFlight()) m_movementInfo.AddMovementFlag(MOVEMENTFLAG_FLYING2); diff --git a/src/game/WorldSession.cpp b/src/game/WorldSession.cpp index f5c370331..eb3867a7c 100644 --- a/src/game/WorldSession.cpp +++ b/src/game/WorldSession.cpp @@ -582,7 +582,7 @@ void WorldSession::LoadGlobalAccountData() void WorldSession::LoadAccountData(QueryResult* result, uint32 mask) { for (uint32 i = 0; i < NUM_ACCOUNT_DATA_TYPES; ++i) - if(mask & (1 < i)) + if(mask & (1 << i)) m_accountData[i] = AccountData(); if(!result) @@ -650,7 +650,7 @@ void WorldSession::SendAccountDataTimes(uint32 mask) data << uint32(time(NULL)); // unix time of something data << uint8(1); data << uint32(mask); // type mask - for(int i = 0; i < NUM_ACCOUNT_DATA_TYPES; ++i) + for(uint i = 0; i < NUM_ACCOUNT_DATA_TYPES; ++i) if(mask & (1 << i)) data << uint32(GetAccountData(AccountDataType(i))->Time);// also unix time SendPacket(&data);