diff options
author | ShinDarth <borzifrancesco@gmail.com> | 2015-10-19 13:44:36 +0200 |
---|---|---|
committer | ShinDarth <borzifrancesco@gmail.com> | 2015-10-28 20:39:04 +0100 |
commit | d380c12c562800b4b073cc0ec49808c256789519 (patch) | |
tree | 74bff8786861952f3dd56cb5700e0dd5fedc2a63 /src/server/game/Handlers/BattleGroundHandler.cpp | |
parent | 5c449b50aadcb35a4bd7fdc25d3a249f023cf507 (diff) |
Core/Battleground: implement deserters tracker feature
Diffstat (limited to 'src/server/game/Handlers/BattleGroundHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/BattleGroundHandler.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/Handlers/BattleGroundHandler.cpp b/src/server/game/Handlers/BattleGroundHandler.cpp index fec0b8e0d40..d4291e34df6 100644 --- a/src/server/game/Handlers/BattleGroundHandler.cpp +++ b/src/server/game/Handlers/BattleGroundHandler.cpp @@ -506,6 +506,16 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPacket &recvData) sBattlegroundMgr->ScheduleQueueUpdate(ginfo.ArenaMatchmakerRating, ginfo.ArenaType, bgQueueTypeId, bgTypeId, bracketEntry->GetBracketId()); SendPacket(&data); TC_LOG_DEBUG("bg.battleground", "Battleground: player %s (%u) left queue for bgtype %u, queue type %u.", _player->GetName().c_str(), _player->GetGUID().GetCounter(), bg->GetTypeID(), bgQueueTypeId); + + // track if player refuses to join the BG after being invited + if (bg->isBattleground() && sWorld->getBoolConfig(CONFIG_BATTLEGROUND_TRACK_DESERTERS) && + (bg->GetStatus() == STATUS_IN_PROGRESS || bg->GetStatus() == STATUS_WAIT_JOIN)) + { + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_DESERTER_TRACK); + stmt->setUInt32(0, _player->GetGUID().GetCounter()); + stmt->setUInt8(1, BG_DESERTION_TYPE_LEAVE_QUEUE); + CharacterDatabase.Execute(stmt); + } } } |