rendered paste bodyvoid 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
}