void InformationCore::SendRealms(AuthSocket * Socket){ realmLock.Acquire(); // packet header ByteBuffer data; data << uint8(0x10); data << uint16(0); // Size Placeholder // dunno what this is.. data << uint32(0); sAuthLogonChallenge_C * client = Socket->GetChallenge(); data << uint8(m_realms.size()); // loop realms :/ map<uint32, Realm>::iterator itr = m_realms.begin(); for(; itr != m_realms.end(); ++itr) { data << uint8(itr->second.Colour); data << uint8(0); // Locked Flag data << uint8(itr->second.Icon); // This part is the same for all. data << itr->second.Name; data << itr->second.Address; data << itr->second.Population; data << uint8(0); // Character Count data << uint8(itr->second.TimeZone); // time zone data << uint8(0); } realmLock.Release(); data << uint8(0x15); data << uint8(0); // Re-calculate size. *(uint16*)&data.contents()[1] = data.size() - 3; // Send to the socket. Socket->SendPacket((const u8*)data.contents(), data.size());}BigNumber * InformationCore::GetSessionKey(uint32 account_id){ map<uint32, BigNumber*>::iterator itr = m_sessionkeys.find(account_id); if(itr == m_sessionkeys.end()) return 0;