[7628] Implement .reload for static achievement tables.

This commit is contained in:
VladimirMangos 2009-04-07 02:59:33 +04:00
parent 7d06858866
commit 5c7b3e1f50
5 changed files with 48 additions and 3 deletions

View file

@ -1443,6 +1443,8 @@ void AchievementGlobalMgr::LoadAchievementReferenceList()
void AchievementGlobalMgr::LoadAchievementCriteriaData() void AchievementGlobalMgr::LoadAchievementCriteriaData()
{ {
m_criteriaDataMap.clear(); // need for reload case
QueryResult *result = WorldDatabase.Query("SELECT criteria_id, type, value1, value2 FROM achievement_criteria_data"); QueryResult *result = WorldDatabase.Query("SELECT criteria_id, type, value1, value2 FROM achievement_criteria_data");
if(!result) if(!result)
@ -1535,7 +1537,7 @@ void AchievementGlobalMgr::LoadCompletedAchievements()
void AchievementGlobalMgr::LoadRewards() void AchievementGlobalMgr::LoadRewards()
{ {
m_achievementRewards.clear(); // need for reload case m_achievementRewards.clear(); // need for reload case
// 0 1 2 3 4 5 6 // 0 1 2 3 4 5 6
QueryResult *result = WorldDatabase.Query("SELECT entry, title_A, title_H, item, sender, subject, text FROM achievement_reward"); QueryResult *result = WorldDatabase.Query("SELECT entry, title_A, title_H, item, sender, subject, text FROM achievement_reward");
@ -1551,6 +1553,7 @@ void AchievementGlobalMgr::LoadRewards()
return; return;
} }
uint32 count = 0;
barGoLink bar(result->GetRowCount()); barGoLink bar(result->GetRowCount());
do do
@ -1634,13 +1637,14 @@ void AchievementGlobalMgr::LoadRewards()
} }
m_achievementRewards[entry] = reward; m_achievementRewards[entry] = reward;
++count;
} while (result->NextRow()); } while (result->NextRow());
delete result; delete result;
sLog.outString(); sLog.outString();
sLog.outString( ">> Loaded %lu achievement reward locale strings", (unsigned long)m_achievementRewardLocales.size() ); sLog.outString( ">> Loaded %u achievement rewards", count );
} }
void AchievementGlobalMgr::LoadRewardLocales() void AchievementGlobalMgr::LoadRewardLocales()

View file

@ -359,6 +359,7 @@ ChatCommand * ChatHandler::getCommandTable()
static ChatCommand reloadCommandTable[] = static ChatCommand reloadCommandTable[] =
{ {
{ "all", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllCommand, "", NULL }, { "all", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllCommand, "", NULL },
{ "all_achievement",SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllAchievementCommand,"", NULL },
{ "all_area", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllAreaCommand, "", NULL }, { "all_area", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllAreaCommand, "", NULL },
{ "all_loot", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllLootCommand, "", NULL }, { "all_loot", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllLootCommand, "", NULL },
{ "all_npc", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllNpcCommand, "", NULL }, { "all_npc", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllNpcCommand, "", NULL },
@ -370,6 +371,8 @@ ChatCommand * ChatHandler::getCommandTable()
{ "config", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadConfigCommand, "", NULL }, { "config", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadConfigCommand, "", NULL },
{ "achievement_criteria_data", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAchievementCriteriaDataCommand, "", NULL },
{ "achievement_reward", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAchievementRewardCommand, "", NULL },
{ "areatrigger_tavern", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAreaTriggerTavernCommand, "", NULL }, { "areatrigger_tavern", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAreaTriggerTavernCommand, "", NULL },
{ "areatrigger_teleport", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAreaTriggerTeleportCommand, "", NULL }, { "areatrigger_teleport", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAreaTriggerTeleportCommand, "", NULL },
{ "areatrigger_involvedrelation",SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadQuestAreaTriggersCommand, "", NULL }, { "areatrigger_involvedrelation",SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadQuestAreaTriggersCommand, "", NULL },
@ -389,6 +392,7 @@ ChatCommand * ChatHandler::getCommandTable()
{ "gameobject_scripts", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadGameObjectScriptsCommand, "", NULL }, { "gameobject_scripts", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadGameObjectScriptsCommand, "", NULL },
{ "item_enchantment_template", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadItemEnchantementsCommand, "", NULL }, { "item_enchantment_template", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadItemEnchantementsCommand, "", NULL },
{ "item_loot_template", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLootTemplatesItemCommand, "", NULL }, { "item_loot_template", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLootTemplatesItemCommand, "", NULL },
{ "locales_achievement_reward", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLocalesAchievementRewardCommand,"", NULL },
{ "locales_creature", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLocalesCreatureCommand, "", NULL }, { "locales_creature", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLocalesCreatureCommand, "", NULL },
{ "locales_gameobject", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLocalesGameobjectCommand, "", NULL }, { "locales_gameobject", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLocalesGameobjectCommand, "", NULL },
{ "locales_item", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLocalesItemCommand, "", NULL }, { "locales_item", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLocalesItemCommand, "", NULL },

View file

@ -270,6 +270,7 @@ class ChatHandler
bool HandleQuestComplete(const char * args); bool HandleQuestComplete(const char * args);
bool HandleReloadAllCommand(const char* args); bool HandleReloadAllCommand(const char* args);
bool HandleReloadAllAchievementCommand(const char* args);
bool HandleReloadAllAreaCommand(const char* args); bool HandleReloadAllAreaCommand(const char* args);
bool HandleReloadAllItemCommand(const char* args); bool HandleReloadAllItemCommand(const char* args);
bool HandleReloadAllLootCommand(const char* args); bool HandleReloadAllLootCommand(const char* args);
@ -281,6 +282,8 @@ class ChatHandler
bool HandleReloadConfigCommand(const char* args); bool HandleReloadConfigCommand(const char* args);
bool HandleReloadAchievementCriteriaDataCommand(const char* args);
bool HandleReloadAchievementRewardCommand(const char* args);
bool HandleReloadAreaTriggerTavernCommand(const char* args); bool HandleReloadAreaTriggerTavernCommand(const char* args);
bool HandleReloadAreaTriggerTeleportCommand(const char* args); bool HandleReloadAreaTriggerTeleportCommand(const char* args);
bool HandleReloadEventScriptsCommand(const char* args); bool HandleReloadEventScriptsCommand(const char* args);
@ -294,6 +297,7 @@ class ChatHandler
bool HandleReloadGOQuestRelationsCommand(const char* args); bool HandleReloadGOQuestRelationsCommand(const char* args);
bool HandleReloadGOQuestInvRelationsCommand(const char* args); bool HandleReloadGOQuestInvRelationsCommand(const char* args);
bool HandleReloadItemEnchantementsCommand(const char* args); bool HandleReloadItemEnchantementsCommand(const char* args);
bool HandleReloadLocalesAchievementRewardCommand(const char* args);
bool HandleReloadLocalesCreatureCommand(const char* args); bool HandleReloadLocalesCreatureCommand(const char* args);
bool HandleReloadLocalesGameobjectCommand(const char* args); bool HandleReloadLocalesGameobjectCommand(const char* args);
bool HandleReloadLocalesItemCommand(const char* args); bool HandleReloadLocalesItemCommand(const char* args);

View file

@ -55,6 +55,7 @@ bool ChatHandler::HandleReloadAllCommand(const char*)
{ {
HandleReloadSkillFishingBaseLevelCommand(""); HandleReloadSkillFishingBaseLevelCommand("");
HandleReloadAllAchievementCommand("");
HandleReloadAllAreaCommand(""); HandleReloadAllAreaCommand("");
HandleReloadAllLootCommand(""); HandleReloadAllLootCommand("");
HandleReloadAllNpcCommand(""); HandleReloadAllNpcCommand("");
@ -70,6 +71,13 @@ bool ChatHandler::HandleReloadAllCommand(const char*)
return true; return true;
} }
bool ChatHandler::HandleReloadAllAchievementCommand(const char*)
{
HandleReloadAchievementCriteriaDataCommand("");
HandleReloadAchievementRewardCommand("");
return true;
}
bool ChatHandler::HandleReloadAllAreaCommand(const char*) bool ChatHandler::HandleReloadAllAreaCommand(const char*)
{ {
//HandleReloadQuestAreaTriggersCommand(""); -- reloaded in HandleReloadAllQuestCommand //HandleReloadQuestAreaTriggersCommand(""); -- reloaded in HandleReloadAllQuestCommand
@ -155,6 +163,7 @@ bool ChatHandler::HandleReloadAllItemCommand(const char*)
bool ChatHandler::HandleReloadAllLocalesCommand(const char* /*args*/) bool ChatHandler::HandleReloadAllLocalesCommand(const char* /*args*/)
{ {
HandleReloadLocalesAchievementRewardCommand("a");
HandleReloadLocalesCreatureCommand("a"); HandleReloadLocalesCreatureCommand("a");
HandleReloadLocalesGameobjectCommand("a"); HandleReloadLocalesGameobjectCommand("a");
HandleReloadLocalesItemCommand("a"); HandleReloadLocalesItemCommand("a");
@ -173,6 +182,22 @@ bool ChatHandler::HandleReloadConfigCommand(const char* /*args*/)
return true; return true;
} }
bool ChatHandler::HandleReloadAchievementCriteriaDataCommand(const char*)
{
sLog.outString( "Re-Loading Additional Achievement Criteria Data..." );
achievementmgr.LoadAchievementCriteriaData();
SendGlobalSysMessage("DB table `achievement_criteria_data` reloaded.");
return true;
}
bool ChatHandler::HandleReloadAchievementRewardCommand(const char*)
{
sLog.outString( "Re-Loading Achievement Reward Data..." );
achievementmgr.LoadRewards();
SendGlobalSysMessage("DB table `achievement_reward` reloaded.");
return true;
}
bool ChatHandler::HandleReloadAreaTriggerTavernCommand(const char*) bool ChatHandler::HandleReloadAreaTriggerTavernCommand(const char*)
{ {
sLog.outString( "Re-Loading Tavern Area Triggers..." ); sLog.outString( "Re-Loading Tavern Area Triggers..." );
@ -670,6 +695,14 @@ bool ChatHandler::HandleReloadGameTeleCommand(const char* /*arg*/)
return true; return true;
} }
bool ChatHandler::HandleReloadLocalesAchievementRewardCommand(const char*)
{
sLog.outString( "Re-Loading Locales Achievement Reward Data..." );
achievementmgr.LoadRewardLocales();
SendGlobalSysMessage("DB table `locales_achievement_reward` reloaded.");
return true;
}
bool ChatHandler::HandleReloadLocalesCreatureCommand(const char* /*arg*/) bool ChatHandler::HandleReloadLocalesCreatureCommand(const char* /*arg*/)
{ {
sLog.outString( "Re-Loading Locales Creature ..."); sLog.outString( "Re-Loading Locales Creature ...");

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "7627" #define REVISION_NR "7628"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__