diff options
author | Shocker <shocker@freakz.ro> | 2011-04-08 23:20:10 +0300 |
---|---|---|
committer | Shocker <shocker@freakz.ro> | 2011-04-08 23:20:10 +0300 |
commit | 2c62548105ba1be360bbf8e409db2c938e7e41c5 (patch) | |
tree | cc200e365dc701f827213908fd6913c8a7f4b4ec /src | |
parent | a2bcb9425cbcc52e411ef418072c50fae4586eda (diff) | |
parent | 7935c2f5c299f187c2d18d10e06864ea113c97c1 (diff) |
Merge branch 'master' of github.com:TrinityCore/TrinityCore
Diffstat (limited to 'src')
6 files changed, 35 insertions, 56 deletions
diff --git a/src/server/game/Battlegrounds/ArenaTeam.cpp b/src/server/game/Battlegrounds/ArenaTeam.cpp index 5c4e3d0ec87..ee27a17e2e5 100755 --- a/src/server/game/Battlegrounds/ArenaTeam.cpp +++ b/src/server/game/Battlegrounds/ArenaTeam.cpp @@ -828,19 +828,19 @@ void ArenaTeam::SaveToDB() for (MemberList::const_iterator itr = Members.begin(); itr != Members.end(); ++itr) { stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPDATE_ARENA_TEAM_MEMBER); - stmt->setUInt16(0, itr->WeekGames); - stmt->setUInt16(1, itr->WeekWins); - stmt->setUInt16(2, itr->SeasonGames); - stmt->setUInt16(3, itr->SeasonWins); - stmt->setUInt32(4, GetId()); - stmt->setUInt16(5, GUID_LOPART(itr->Guid)); + stmt->setUInt16(0, itr->PersonalRating); + stmt->setUInt16(1, itr->WeekGames); + stmt->setUInt16(2, itr->WeekWins); + stmt->setUInt16(3, itr->SeasonGames); + stmt->setUInt16(4, itr->SeasonWins); + stmt->setUInt32(5, GetId()); + stmt->setUInt16(6, GUID_LOPART(itr->Guid)); trans->Append(stmt); - stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPDATE_ARENA_TEAM_MEMBER_STATS); + stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPDATE_CHARACTER_ARENA_STATS); stmt->setUInt32(0, GUID_LOPART(itr->Guid)); stmt->setUInt8(1, GetSlot()); - stmt->setUInt16(2, itr->PersonalRating); - stmt->setUInt16(3, itr->MatchMakerRating); + stmt->setUInt16(2, itr->MatchMakerRating); trans->Append(stmt); } diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 8f274552e5f..68abba11064 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -16230,36 +16230,6 @@ void Player::_LoadArenaTeamInfo(PreparedQueryResult result) // arenateamid, played_week, played_season, personal_rating memset((void*)&m_uint32Values[PLAYER_FIELD_ARENA_TEAM_INFO_1_1], 0, sizeof(uint32) * MAX_ARENA_SLOT * ARENA_TEAM_END); - if (!result) - return; - - do - { - Field* fields = result->Fetch(); - - uint32 arenaTeamId = fields[0].GetUInt32(); - - ArenaTeam* arenaTeam = sObjectMgr->GetArenaTeamById(arenaTeamId); - if (!arenaTeam) - { - sLog->outError("Player::_LoadArenaTeamInfo: couldn't load arenateam %u", arenaTeamId); - continue; - } - - uint8 arenaSlot = arenaTeam->GetSlot(); - - SetArenaTeamInfoField(arenaSlot, ARENA_TEAM_ID, arenaTeamId); - SetArenaTeamInfoField(arenaSlot, ARENA_TEAM_TYPE, arenaTeam->GetType()); - SetArenaTeamInfoField(arenaSlot, ARENA_TEAM_MEMBER, (arenaTeam->GetCaptain() == GetGUID()) ? 0 : 1); - SetArenaTeamInfoField(arenaSlot, ARENA_TEAM_GAMES_WEEK, uint32(fields[1].GetUInt16())); - SetArenaTeamInfoField(arenaSlot, ARENA_TEAM_GAMES_SEASON, uint32(fields[2].GetUInt16())); - SetArenaTeamInfoField(arenaSlot, ARENA_TEAM_WINS_SEASON, uint32(fields[3].GetUInt16())); - } - while (result->NextRow()); -} - -void Player::_LoadArenaStatsInfo(PreparedQueryResult result) -{ uint16 personalRatingCache[] = {0, 0, 0}; if (result) @@ -16268,7 +16238,25 @@ void Player::_LoadArenaStatsInfo(PreparedQueryResult result) { Field* fields = result->Fetch(); - personalRatingCache[fields[0].GetUInt8()] = fields[1].GetUInt16(); + uint32 arenaTeamId = fields[0].GetUInt32(); + + ArenaTeam* arenaTeam = sObjectMgr->GetArenaTeamById(arenaTeamId); + if (!arenaTeam) + { + sLog->outError("Player::_LoadArenaTeamInfo: couldn't load arenateam %u", arenaTeamId); + continue; + } + + uint8 arenaSlot = arenaTeam->GetSlot(); + + personalRatingCache[arenaSlot] = fields[1].GetUInt16(); + + SetArenaTeamInfoField(arenaSlot, ARENA_TEAM_ID, arenaTeamId); + SetArenaTeamInfoField(arenaSlot, ARENA_TEAM_TYPE, arenaTeam->GetType()); + SetArenaTeamInfoField(arenaSlot, ARENA_TEAM_MEMBER, (arenaTeam->GetCaptain() == GetGUID()) ? 0 : 1); + SetArenaTeamInfoField(arenaSlot, ARENA_TEAM_GAMES_WEEK, uint32(fields[1].GetUInt16())); + SetArenaTeamInfoField(arenaSlot, ARENA_TEAM_GAMES_SEASON, uint32(fields[2].GetUInt16())); + SetArenaTeamInfoField(arenaSlot, ARENA_TEAM_WINS_SEASON, uint32(fields[3].GetUInt16())); } while (result->NextRow()); } @@ -16531,7 +16519,6 @@ bool Player::LoadFromDB(uint32 guid, SQLQueryHolder *holder) _LoadGroup(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOADGROUP)); _LoadArenaTeamInfo(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOADARENAINFO)); - _LoadArenaStatsInfo(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOADARENASTATS)); SetArenaPoints(fields[39].GetUInt32()); diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index d22054f1791..69059888c78 100755 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -797,10 +797,9 @@ enum PlayerLoginQueryIndex PLAYER_LOGIN_QUERY_LOADSKILLS = 25, PLAYER_LOGIN_QUERY_LOADWEKLYQUESTSTATUS = 26, PLAYER_LOGIN_QUERY_LOADRANDOMBG = 27, - PLAYER_LOGIN_QUERY_LOADARENASTATS = 28, - PLAYER_LOGIN_QUERY_LOADBANNED = 29, - PLAYER_LOGIN_QUERY_LOADQUESTSTATUSREW = 30, - PLAYER_LOGIN_QUERY_LOADINSTANCELOCKTIMES = 31, + PLAYER_LOGIN_QUERY_LOADBANNED = 28, + PLAYER_LOGIN_QUERY_LOADQUESTSTATUSREW = 29, + PLAYER_LOGIN_QUERY_LOADINSTANCELOCKTIMES = 30, MAX_PLAYER_LOGIN_QUERY, }; @@ -2494,7 +2493,6 @@ class Player : public Unit, public GridObject<Player> bool _LoadHomeBind(PreparedQueryResult result); void _LoadDeclinedNames(PreparedQueryResult result); void _LoadArenaTeamInfo(PreparedQueryResult result); - void _LoadArenaStatsInfo(PreparedQueryResult result); void _LoadEquipmentSets(PreparedQueryResult result); void _LoadBGData(PreparedQueryResult result); void _LoadGlyphs(PreparedQueryResult result); diff --git a/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp b/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp index 8efb3749f9b..37df0a63409 100755 --- a/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp @@ -178,10 +178,6 @@ bool LoginQueryHolder::Initialize() stmt->setUInt32(0, lowGuid); res &= SetPreparedQuery(PLAYER_LOGIN_QUERY_LOADRANDOMBG, stmt); - stmt = CharacterDatabase.GetPreparedStatement(CHAR_LOAD_PLAYER_ARENASTATS); - stmt->setUInt32(0, lowGuid); - res &= SetPreparedQuery(PLAYER_LOGIN_QUERY_LOADARENASTATS, stmt); - stmt = CharacterDatabase.GetPreparedStatement(CHAR_LOAD_PLAYER_BANNED); stmt->setUInt32(0, lowGuid); res &= SetPreparedQuery(PLAYER_LOGIN_QUERY_LOADBANNED, stmt); diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp index c648da51083..0a73bed003a 100755 --- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp +++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp @@ -71,7 +71,6 @@ void CharacterDatabaseConnection::DoPrepareStatements() PREPARE_STATEMENT(CHAR_LOAD_PLAYER_TALENTS, "SELECT spell, spec FROM character_talent WHERE guid = ?", CONNECTION_ASYNC) PREPARE_STATEMENT(CHAR_LOAD_PLAYER_SKILLS, "SELECT skill, value, max FROM character_skills WHERE guid = ?", CONNECTION_ASYNC) PREPARE_STATEMENT(CHAR_LOAD_PLAYER_RANDOMBG, "SELECT guid FROM character_battleground_random WHERE guid = ?", CONNECTION_ASYNC) - PREPARE_STATEMENT(CHAR_LOAD_PLAYER_ARENASTATS, "SELECT slot, personalRating FROM character_arena_stats WHERE guid = ? ORDER BY slot ASC", CONNECTION_ASYNC) PREPARE_STATEMENT(CHAR_LOAD_PLAYER_BANNED, "SELECT guid FROM character_banned WHERE guid = ? AND active = 1", CONNECTION_ASYNC) PREPARE_STATEMENT(CHAR_LOAD_PLAYER_QUESTSTATUSREW, "SELECT quest FROM character_queststatus_rewarded WHERE guid = ?", CONNECTION_ASYNC) PREPARE_STATEMENT(CHAR_LOAD_ACCOUNT_INSTANCELOCKTIMES, "SELECT instanceId, releaseTime FROM account_instance_times WHERE accountId = ?", CONNECTION_ASYNC) @@ -284,7 +283,7 @@ void CharacterDatabaseConnection::DoPrepareStatements() PREPARE_STATEMENT(CHAR_LOAD_PETITION_SIGNATURE, "SELECT playerguid FROM petition_sign WHERE petitionguid = ?", CONNECTION_SYNCH); // Arena teams - PREPARE_STATEMENT(CHAR_LOAD_PLAYER_ARENAINFO, "SELECT arenaTeamId, weekGames, seasonGames, seasonWins FROM arena_team_member WHERE guid = ?", CONNECTION_ASYNC) + PREPARE_STATEMENT(CHAR_LOAD_PLAYER_ARENAINFO, "SELECT arenaTeamId, weekGames, seasonGames, seasonWins, personalRating FROM arena_team_member WHERE guid = ?", CONNECTION_ASYNC) PREPARE_STATEMENT(CHAR_ADD_ARENA_TEAM, "INSERT INTO arena_team (arenaTeamId, name, captainGuid, type, rating, backgroundColor, emblemStyle, emblemColor, borderStyle, borderColor) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC); PREPARE_STATEMENT(CHAR_SET_ARENA_TEAM_MEMBER, "INSERT INTO arena_team_member (arenaTeamId, guid) VALUES (?, ?)", CONNECTION_ASYNC); PREPARE_STATEMENT(CHAR_DEL_ARENA_TEAM, "DELETE FROM arena_team where arenaTeamId = ?", CONNECTION_ASYNC); @@ -292,8 +291,8 @@ void CharacterDatabaseConnection::DoPrepareStatements() PREPARE_STATEMENT(CHAR_UPDATE_ARENA_TEAM_CAPTAIN, "UPDATE arena_team SET captainGuid = ? WHERE arenaTeamId = ?", CONNECTION_ASYNC); PREPARE_STATEMENT(CHAR_DEL_ARENA_TEAM_MEMBER, "DELETE FROM arena_team_member WHERE arenaTeamId = ? AND guid = ?", CONNECTION_ASYNC); PREPARE_STATEMENT(CHAR_UPDATE_ARENA_TEAM_STATS, "UPDATE arena_team SET rating = ?, weekGames = ?, weekWins = ?, seasonGames = ?, seasonWins = ?, rank = ? WHERE arenaTeamId = ?", CONNECTION_ASYNC); - PREPARE_STATEMENT(CHAR_UPDATE_ARENA_TEAM_MEMBER, "UPDATE arena_team_member SET weekGames = ?, weekWins = ?, seasonGames = ?, seasonWins = ? WHERE arenaTeamId = ? AND guid = ?", CONNECTION_ASYNC); - PREPARE_STATEMENT(CHAR_UPDATE_ARENA_TEAM_MEMBER_STATS, "REPLACE INTO character_arena_stats (guid, slot, personalRating, matchMakerRating) VALUES (?, ?, ?, ?)", CONNECTION_ASYNC); + PREPARE_STATEMENT(CHAR_UPDATE_ARENA_TEAM_MEMBER, "UPDATE arena_team_member SET personalRating = ?, weekGames = ?, weekWins = ?, seasonGames = ?, seasonWins = ? WHERE arenaTeamId = ? AND guid = ?", CONNECTION_ASYNC); + PREPARE_STATEMENT(CHAR_UPDATE_CHARACTER_ARENA_STATS, "REPLACE INTO character_arena_stats (guid, slot, matchMakerRating) VALUES (?, ?, ?)", CONNECTION_ASYNC); PREPARE_STATEMENT(CHAR_LOAD_PLAYER_ARENA_TEAMS, "SELECT arena_team_member.arenaTeamId FROM arena_team_member JOIN arena_team ON arena_team_member.arenaTeamId = arena_team.arenaTeamId WHERE guid = ?", CONNECTION_SYNCH); // Character battleground data diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/shared/Database/Implementation/CharacterDatabase.h index d52883020b9..cd68e7419ea 100755 --- a/src/server/shared/Database/Implementation/CharacterDatabase.h +++ b/src/server/shared/Database/Implementation/CharacterDatabase.h @@ -83,7 +83,6 @@ enum CharacterDatabaseStatements CHAR_LOAD_PLAYER_TALENTS, CHAR_LOAD_PLAYER_SKILLS, CHAR_LOAD_PLAYER_RANDOMBG, - CHAR_LOAD_PLAYER_ARENASTATS, CHAR_LOAD_PLAYER_BANNED, CHAR_LOAD_PLAYER_QUESTSTATUSREW, CHAR_LOAD_ACCOUNT_INSTANCELOCKTIMES, @@ -245,7 +244,7 @@ enum CharacterDatabaseStatements CHAR_DEL_ARENA_TEAM_MEMBER, CHAR_UPDATE_ARENA_TEAM_STATS, CHAR_UPDATE_ARENA_TEAM_MEMBER, - CHAR_UPDATE_ARENA_TEAM_MEMBER_STATS, + CHAR_UPDATE_CHARACTER_ARENA_STATS, CHAR_LOAD_PLAYER_ARENA_TEAMS, CHAR_LOAD_PETITION, |