diff options
author | pete318 <pete318@users.noreply.github.com> | 2015-10-12 20:07:40 +0200 |
---|---|---|
committer | Carbenium <carbenium@outlook.com> | 2015-11-06 23:46:03 +0100 |
commit | 39d29edf93574d0f133a66f44f059938c4de7a98 (patch) | |
tree | e9536e389df270b9bcd7691260113b6ed9e98b1b /src/server | |
parent | ec1583df67605b7253a34dc5f153cdad5b16969e (diff) |
Merge pull request #15707 from ShinDarth/pvpstats
Core/BG fix .character changefaction pvpstats victories amount
(cherry picked from commit 69941864efa9e40a787f53f055c79336378b8d4d)
Conflicts:
sql/base/characters_database.sql
src/server/game/Battlegrounds/Battleground.cpp
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/database/Database/Implementation/CharacterDatabase.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Battlegrounds/Battleground.cpp | 27 |
2 files changed, 15 insertions, 14 deletions
diff --git a/src/server/database/Database/Implementation/CharacterDatabase.cpp b/src/server/database/Database/Implementation/CharacterDatabase.cpp index 3399e9a8136..3ecc3975611 100644 --- a/src/server/database/Database/Implementation/CharacterDatabase.cpp +++ b/src/server/database/Database/Implementation/CharacterDatabase.cpp @@ -662,7 +662,7 @@ void CharacterDatabaseConnection::DoPrepareStatements() // PvPstats PrepareStatement(CHAR_SEL_PVPSTATS_MAXID, "SELECT MAX(id) FROM pvpstats_battlegrounds", CONNECTION_SYNCH); PrepareStatement(CHAR_INS_PVPSTATS_BATTLEGROUND, "INSERT INTO pvpstats_battlegrounds (id, winner_faction, bracket_id, type, date) VALUES (?, ?, ?, ?, NOW())", CONNECTION_ASYNC); - PrepareStatement(CHAR_INS_PVPSTATS_PLAYER, "INSERT INTO pvpstats_players (battleground_id, character_guid, score_killing_blows, score_deaths, score_honorable_kills, score_bonus_honor, score_damage_done, score_healing_done, attr_1, attr_2, attr_3, attr_4, attr_5) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC); + PrepareStatement(CHAR_INS_PVPSTATS_PLAYER, "INSERT INTO pvpstats_players (battleground_id, character_guid, winner, score_killing_blows, score_deaths, score_honorable_kills, score_bonus_honor, score_damage_done, score_healing_done, attr_1, attr_2, attr_3, attr_4, attr_5) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC); PrepareStatement(CHAR_SEL_PVPSTATS_FACTIONS_OVERALL, "SELECT winner_faction, COUNT(*) AS count FROM pvpstats_battlegrounds WHERE DATEDIFF(NOW(), date) < 7 GROUP BY winner_faction ORDER BY winner_faction ASC", CONNECTION_SYNCH); // QuestTracker diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp index 07c88486c50..fecb870549e 100644 --- a/src/server/game/Battlegrounds/Battleground.cpp +++ b/src/server/game/Battlegrounds/Battleground.cpp @@ -835,19 +835,20 @@ void Battleground::EndBattleground(uint32 winner) stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_PVPSTATS_PLAYER); BattlegroundScoreMap::const_iterator score = PlayerScores.find(player->GetGUID()); - stmt->setUInt32(0, battlegroundId); - stmt->setUInt64(1, player->GetGUID().GetCounter()); - stmt->setUInt32(2, score->second->GetKillingBlows()); - stmt->setUInt32(3, score->second->GetDeaths()); - stmt->setUInt32(4, score->second->GetHonorableKills()); - stmt->setUInt32(5, score->second->GetBonusHonor()); - stmt->setUInt32(6, score->second->GetDamageDone()); - stmt->setUInt32(7, score->second->GetHealingDone()); - stmt->setUInt32(8, score->second->GetAttr1()); - stmt->setUInt32(9, score->second->GetAttr2()); - stmt->setUInt32(10, score->second->GetAttr3()); - stmt->setUInt32(11, score->second->GetAttr4()); - stmt->setUInt32(12, score->second->GetAttr5()); + stmt->setUInt32(0, battlegroundId); + stmt->setUInt64(1, player->GetGUID().GetCounter()); + stmt->setBool (2, team == winner); + stmt->setUInt32(3, score->second->GetKillingBlows()); + stmt->setUInt32(4, score->second->GetDeaths()); + stmt->setUInt32(5, score->second->GetHonorableKills()); + stmt->setUInt32(6, score->second->GetBonusHonor()); + stmt->setUInt32(7, score->second->GetDamageDone()); + stmt->setUInt32(8, score->second->GetHealingDone()); + stmt->setUInt32(9, score->second->GetAttr1()); + stmt->setUInt32(10, score->second->GetAttr2()); + stmt->setUInt32(11, score->second->GetAttr3()); + stmt->setUInt32(12, score->second->GetAttr4()); + stmt->setUInt32(13, score->second->GetAttr5()); CharacterDatabase.Execute(stmt); } |