diff options
author | linencloth <none@none> | 2010-12-28 04:26:25 +0100 |
---|---|---|
committer | linencloth <none@none> | 2010-12-28 04:26:25 +0100 |
commit | 2ecb9eec8b8bbd118431c4f799e3253f0aaefd75 (patch) | |
tree | bc932bd43aae351d4cd8ad09ae096e4f1a5ef4fa /src | |
parent | 1d9a75c33841d016f1fa2ea879136e3aa84ecfe4 (diff) |
Core/CharacterDatabaseCleaner: Implement CLEANING_FLAG_QUESTSTATUS flag for queststatus cleaning (most of the deleted rows are abandoned quests)
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Tools/CharacterDatabaseCleaner.cpp | 8 | ||||
-rw-r--r-- | src/server/game/Tools/CharacterDatabaseCleaner.h | 4 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/server/game/Tools/CharacterDatabaseCleaner.cpp b/src/server/game/Tools/CharacterDatabaseCleaner.cpp index fff3fce0ad6..75fe2fb18fd 100644 --- a/src/server/game/Tools/CharacterDatabaseCleaner.cpp +++ b/src/server/game/Tools/CharacterDatabaseCleaner.cpp @@ -52,6 +52,9 @@ void CharacterDatabaseCleaner::CleanDatabase() if (flags & CLEANING_FLAG_TALENTS) CleanCharacterTalent(); + if (flags & CLEANING_FLAG_QUESTSTATUS) + CleanCharacterQuestStatus(); + CharacterDatabase.DirectExecute("UPDATE worldstates SET value = 0 WHERE entry = 20004"); sLog->outString(">> Cleaned character database in %u ms", GetMSTimeDiffToNow(oldMSTime)); @@ -143,3 +146,8 @@ void CharacterDatabaseCleaner::CleanCharacterTalent() CheckUnique("spell", "character_talent", &TalentCheck); } +void CharacterDatabaseCleaner::CleanCharacterQuestStatus() +{ + CharacterDatabase.DirectExecute("DELETE FROM character_queststatus WHERE status = 0"); +} + diff --git a/src/server/game/Tools/CharacterDatabaseCleaner.h b/src/server/game/Tools/CharacterDatabaseCleaner.h index b874d188a7a..1be471e5e2a 100644 --- a/src/server/game/Tools/CharacterDatabaseCleaner.h +++ b/src/server/game/Tools/CharacterDatabaseCleaner.h @@ -26,7 +26,8 @@ namespace CharacterDatabaseCleaner CLEANING_FLAG_ACHIEVEMENT_PROGRESS = 0x1, CLEANING_FLAG_SKILLS = 0x2, CLEANING_FLAG_SPELLS = 0x4, - CLEANING_FLAG_TALENTS = 0x8 + CLEANING_FLAG_TALENTS = 0x8, + CLEANING_FLAG_QUESTSTATUS = 0x10 }; void CleanDatabase(); @@ -42,6 +43,7 @@ namespace CharacterDatabaseCleaner void CleanCharacterSkills(); void CleanCharacterSpell(); void CleanCharacterTalent(); + void CleanCharacterQuestStatus(); } #endif |