aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlinencloth <none@none>2010-12-28 04:26:25 +0100
committerlinencloth <none@none>2010-12-28 04:26:25 +0100
commit2ecb9eec8b8bbd118431c4f799e3253f0aaefd75 (patch)
treebc932bd43aae351d4cd8ad09ae096e4f1a5ef4fa /src
parent1d9a75c33841d016f1fa2ea879136e3aa84ecfe4 (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.cpp8
-rw-r--r--src/server/game/Tools/CharacterDatabaseCleaner.h4
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