diff options
Diffstat (limited to 'src/server/game/Tools/CharacterDatabaseCleaner.cpp')
-rw-r--r-- | src/server/game/Tools/CharacterDatabaseCleaner.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/server/game/Tools/CharacterDatabaseCleaner.cpp b/src/server/game/Tools/CharacterDatabaseCleaner.cpp index 4f67878885e..06956f865f3 100644 --- a/src/server/game/Tools/CharacterDatabaseCleaner.cpp +++ b/src/server/game/Tools/CharacterDatabaseCleaner.cpp @@ -36,12 +36,7 @@ void CharacterDatabaseCleaner::CleanDatabase() uint32 oldMSTime = getMSTime(); - // check flags which clean ups are necessary - QueryResult result = CharacterDatabase.PQuery("SELECT value FROM worldstates WHERE entry = %d", WS_CLEANING_FLAGS); - if (!result) - return; - - uint32 flags = (*result)[0].GetUInt32(); + uint32 flags = sWorld->GetPersistentWorldVariable(World::CharacterDatabaseCleaningFlagsVarId); // clean up if (flags & CLEANING_FLAG_ACHIEVEMENT_PROGRESS) @@ -62,7 +57,7 @@ void CharacterDatabaseCleaner::CleanDatabase() // NOTE: In order to have persistentFlags be set in worldstates for the next cleanup, // you need to define them at least once in worldstates. flags &= sWorld->getIntConfig(CONFIG_PERSISTENT_CHARACTER_CLEAN_FLAGS); - CharacterDatabase.DirectPExecute("UPDATE worldstates SET value = %u WHERE entry = %d", flags, WS_CLEANING_FLAGS); + sWorld->SetPersistentWorldVariable(World::CharacterDatabaseCleaningFlagsVarId, flags); sWorld->SetCleaningFlags(flags); |