diff options
| author | Shauren <shauren.trinity@gmail.com> | 2012-08-25 15:36:45 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2012-08-25 15:36:45 +0200 |
| commit | 07e645d024bc3c3fb5a2707e51ca807e63225594 (patch) | |
| tree | 775be4bd39fe71394cf689e6f233e1cfa4f9d685 /src/server/game/Guilds/Guild.cpp | |
| parent | 26bc57733af4c2cedc60b9777cd037d43e4b8063 (diff) | |
Core/Guilds: Save guild achievements to database periodically and when a member logs out.
Diffstat (limited to 'src/server/game/Guilds/Guild.cpp')
| -rw-r--r-- | src/server/game/Guilds/Guild.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 4b193b62b2b..595ad77feeb 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -1119,6 +1119,15 @@ void Guild::Disband() sGuildMgr->RemoveGuild(m_id); } +void Guild::SaveToDB() +{ + SQLTransaction trans = CharacterDatabase.BeginTransaction(); + + m_achievementMgr.SaveToDB(trans); + + CharacterDatabase.CommitTransaction(trans); +} + /////////////////////////////////////////////////////////////////////////////// // HANDLE CLIENT COMMANDS void Guild::HandleRoster(WorldSession* session /*= NULL*/) @@ -1833,6 +1842,8 @@ void Guild::HandleMemberLogout(WorldSession* session) member->UpdateLogoutTime(); } _BroadcastEvent(GE_SIGNED_OFF, player->GetGUID(), player->GetName()); + + SaveToDB(); } void Guild::HandleDisband(WorldSession* session) |
