[8433] Implement proper store and use character specific account data.

* Base at TOM_RUS reseach save/load character specific account data in new table `character_account_data`
    * Move its in sql update from `account_data` to new table.
    * For client packets that can be send in loggined state or just after logout but assocualted
      with recently logout character add new login status STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT
    * Store low guid for loggedin player or recently logout into WorldSession.

Author: VladimirMangos, TOM_RUS

--HG--
branch : trunk
This commit is contained in:
megamage
2009-09-01 16:47:49 -05:00
parent f0e6acda3b
commit dc68c2b269
13 changed files with 164 additions and 45 deletions
+4 -3
View File
@@ -1271,9 +1271,10 @@ enum Opcodes
/// Player state
enum SessionStatus
{
STATUS_AUTHED = 0, ///< Player authenticated
STATUS_LOGGEDIN, ///< Player in game
STATUS_TRANSFER, ///< Player transferring to another map
STATUS_AUTHED = 0, ///< Player authenticated (_player==NULL, m_playerRecentlyLogout = false or will be reset before handler call, m_GUID have garbage)
STATUS_LOGGEDIN, ///< Player in game (_player!=NULL, m_GUID == _player->GetGUID(), inWorld())
STATUS_TRANSFER, ///< Player transferring to another map (_player!=NULL, m_GUID == _player->GetGUID(), !inWorld())
STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT, ///< _player!= NULL or _player==NULL && m_playerRecentlyLogout, m_GUID store last _player guid)
STATUS_NEVER ///< Opcode not accepted from client (deprecated or server side only)
};