void Player::SendInitialPacketsBeforeAddToMap() { WorldPacket data(SMSG_SET_REST_START, 4); data << uint32(0); // unknown, may be rest state time or expirience GetSession()->SendPacket(&data); // Homebind data.Initialize(SMSG_BINDPOINTUPDATE, 5*4); data << m_homebindX << m_homebindY << m_homebindZ; data << (uint32) m_homebindMapId; data << (uint32) m_homebindZoneId; GetSession()->SendPacket(&data); // SMSG_SET_PROFICIENCY // SMSG_UPDATE_AURA_DURATION // tutorial stuff data.Initialize(SMSG_TUTORIAL_FLAGS, 8*4); for (int i = 0; i < 8; ++i) data << uint32( GetTutorialInt(i) ); GetSession()->SendPacket(&data); 16140 ---------SendInitialSpells(); ------- 16140 SendInitialActionButtons(); SendInitialReputations(); UpdateZone(GetZoneId()); SendInitWorldStates(); // SMSG_SET_AURA_SINGLE data.Initialize(SMSG_LOGIN_SETTIMESPEED, 8); time_t gameTime = sWorld.GetGameTime(); struct tm *lt = localtime(&gameTime); uint32 xmitTime = (lt->tm_year - 100) << 24 | lt->tm_mon << 20 | (lt->tm_mday - 1) << 14 | lt->tm_wday << 11 | lt->tm_hour << 6 | lt->tm_min; data << xmitTime; data << (float)0.01666667f; // game speed GetSession()->SendPacket( &data ); CastSpell(this, 836, true); // LOGINEFFECT }